From 8eb249eea56f5230940903cdb95cfed48b78f29c Mon Sep 17 00:00:00 2001 From: David Sidrane Date: Thu, 6 Dec 2018 15:30:59 -0600 Subject: [PATCH] apps/nshlib/nsh_romfsetc.c: Add support for CROMFS start-up script --- nshlib/Kconfig | 8 ++++++++ nshlib/nsh_romfsetc.c | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/nshlib/Kconfig b/nshlib/Kconfig index cda06a874..0e53d80e8 100644 --- a/nshlib/Kconfig +++ b/nshlib/Kconfig @@ -730,6 +730,14 @@ config NSH_ROMFSETC if NSH_ROMFSETC +config NSH_CROMFSETC + bool "Support CROMFS (compressed) start-up script" + default n + depends on NSH_ROMFSETC && FS_CROMFS + ---help--- + Mount a CROMFS filesystem at /etc and provide a compressed startup + script at /etc/init.d/rcS. + config NSH_ROMFSRC bool "Support ROMFS login script" default n diff --git a/nshlib/nsh_romfsetc.c b/nshlib/nsh_romfsetc.c index 19fb9f403..245d5a916 100644 --- a/nshlib/nsh_romfsetc.c +++ b/nshlib/nsh_romfsetc.c @@ -97,6 +97,7 @@ int nsh_romfsetc(void) { int ret; +#if !defined(CONFIG_NSH_CROMFSETC) /* Create a ROM disk for the /etc filesystem */ ret = romdisk_register(CONFIG_NSH_ROMFSDEVNO, romfs_img, @@ -106,13 +107,18 @@ int nsh_romfsetc(void) ferr("ERROR: romdisk_register failed: %d\n", -ret); return ERROR; } +#endif /* Mount the file system */ finfo("Mounting ROMFS filesystem at target=%s with source=%s\n", CONFIG_NSH_ROMFSMOUNTPT, MOUNT_DEVNAME); +#if defined(CONFIG_NSH_CROMFSETC) + ret = mount(MOUNT_DEVNAME, CONFIG_NSH_ROMFSMOUNTPT, "cromfs", MS_RDONLY, NULL); +#else ret = mount(MOUNT_DEVNAME, CONFIG_NSH_ROMFSMOUNTPT, "romfs", MS_RDONLY, NULL); +#endif if (ret < 0) { ferr("ERROR: mount(%s,%s,romfs) failed: %d\n",