From 36b4b852eea02a95f6162cba4ed5e7f3079637c0 Mon Sep 17 00:00:00 2001 From: Luca Ceresoli Date: Sun, 3 Jul 2011 12:56:03 +0200 Subject: fs/skeleton: allow rootfs not to be remounted read-write [Peter: prefix option with TARGET_GENERIC_] Signed-off-by: Luca Ceresoli Acked-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- fs/skeleton/etc/inittab | 2 +- package/sysvinit/inittab | 2 +- target/generic/Config.in | 11 +++++++++++ target/generic/Makefile.in | 13 +++++++++++++ 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/fs/skeleton/etc/inittab b/fs/skeleton/etc/inittab index 4f3bb965d..ac410d6e4 100644 --- a/fs/skeleton/etc/inittab +++ b/fs/skeleton/etc/inittab @@ -15,7 +15,7 @@ # Startup the system null::sysinit:/bin/mount -t proc proc /proc -null::sysinit:/bin/mount -o remount,rw / +null::sysinit:/bin/mount -o remount,rw / # REMOUNT_ROOTFS_RW null::sysinit:/bin/mkdir -p /dev/pts null::sysinit:/bin/mkdir -p /dev/shm null::sysinit:/bin/mount -a diff --git a/package/sysvinit/inittab b/package/sysvinit/inittab index a4bcf82d3..afa0dc35c 100644 --- a/package/sysvinit/inittab +++ b/package/sysvinit/inittab @@ -5,7 +5,7 @@ id:1:initdefault: proc::sysinit:/bin/mount -t proc proc /proc -rwmo::sysinit:/bin/mount -o remount,rw / +rwmo::sysinit:/bin/mount -o remount,rw / # REMOUNT_ROOTFS_RW dpts::sysinit:/bin/mkdir -p /dev/pts moun::sysinit:/bin/mount -a host::sysinit:/bin/hostname -F /etc/hostname diff --git a/target/generic/Config.in b/target/generic/Config.in index 4969fcdc4..7961beccc 100644 --- a/target/generic/Config.in +++ b/target/generic/Config.in @@ -109,6 +109,17 @@ config BR2_TARGET_GENERIC_GETTY_BAUDRATE default "57600" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 default "115200" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 +config BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW + bool "remount root filesystem read-write during boot" + default y + help + The root filesystem is typically mounted read-only at boot. + By default, buildroot remounts it in read-write mode early during the + boot process. + Say no here if you would rather like your root filesystem to remain + read-only. + If unsure, say Y. + endif # BR2_ROOTFS_SKELETON_DEFAULT config BR2_ROOTFS_POST_BUILD_SCRIPT diff --git a/target/generic/Makefile.in b/target/generic/Makefile.in index ce07ecfd0..4185202b7 100644 --- a/target/generic/Makefile.in +++ b/target/generic/Makefile.in @@ -23,6 +23,14 @@ target-generic-getty-sysvinit: $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(TARGET_GENERIC_GETTY) | tail -c+4)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY) $(TARGET_GENERIC_GETTY_BAUDRATE) vt100 #~' \ $(TARGET_DIR)/etc/inittab +# Find commented line, if any, and remove leading '#'s +target-generic-do-remount-rw: + $(SED) '/^#.*# REMOUNT_ROOTFS_RW$$/s~^#\+~~' $(TARGET_DIR)/etc/inittab + +# Find uncommented line, if any, and add a leading '#' +target-generic-dont-remount-rw: + $(SED) '/^[^#].*# REMOUNT_ROOTFS_RW$$/s~^~#~' $(TARGET_DIR)/etc/inittab + ifneq ($(TARGET_GENERIC_HOSTNAME),) TARGETS += target-generic-hostname endif @@ -37,4 +45,9 @@ TARGETS += target-generic-getty-sysvinit else TARGETS += target-generic-getty-busybox endif +ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y) +TARGETS += target-generic-do-remount-rw +else +TARGETS += target-generic-dont-remount-rw +endif endif -- cgit v1.2.3