Skip to contentSkip to conversation

system/system.mk: modify fstab according to GENERIC_REMOUNT_ROOTFS_RW

PATCH New Karoly Kasza 3 participants 3 messages Mar 14, 2015 – Oct 3, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 system/system.mk: modify fstab according to GENERIC_REMOUNT_ROOTFS_RW

Currently, if BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is set /etc/inittab will run a remount on / to make it writable.
But in /etc/fstab the /dev/root entry is always mounted as rw, so the above command is useless, BR will always mount /dev/root writable.

This patch adds a modification to /etc/fstab based on the value of BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW, making BR once again to enable readonly root builds OOB.

Also, remounting in either case seems mainingless, if /etc/fstab is not setting /dev/root readonly by default - which can be an alternative solution.

---
 system/system.mk |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
system/system.mk +6 -2
index 4a1eb4a..a390b6e 100644
@@ -106,14 +106,18 @@ TARGET_FINALIZE_HOOKS += SYSTEM_GETTY
 endif
 
 ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y)
-# Find commented line, if any, and remove leading '#'s
+# Find commented line in inittab, if any, and remove leading '#'s
+# Rewrite fstab to mount /dev/root rw if set to ro
 define SYSTEM_REMOUNT_RW
 	$(SED) '/^#.*-o remount,rw \/$$/s~^#\+~~' $(TARGET_DIR)/etc/inittab
+	$(SED) '/^\/dev\/root.*ro,.*/s~ro,~rw,~' $(TARGET_DIR)/etc/fstab
 endef
 else
-# Find uncommented line, if any, and add a leading '#'
+# Find uncommented line in inittab, if any, and add a leading '#'
+# Rewrite fstab to mount /dev/root ro if set to rw
 define SYSTEM_REMOUNT_RW
 	$(SED) '/^[^#].*-o remount,rw \/$$/s~^~#~' $(TARGET_DIR)/etc/inittab
+	$(SED) '/^\/dev\/root.*rw,.*/s~rw,~ro,~' $(TARGET_DIR)/etc/fstab
 endef
 endif
 TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_RW
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH 1/1 system/system.mk: modify fstab according to GENERIC_REMOUNT_ROOTFS_RW

Quoted 5 lines · Karoly Kasza

Currently, if BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is set /etc/inittab will run a remount on / to make it writable.
But in /etc/fstab the /dev/root entry is always mounted as rw, so the above command is useless, BR will always mount /dev/root writable.

Quoted 8 lines

This patch adds a modification to /etc/fstab based on the value of BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW, making BR once again to enable readonly root builds OOB.

Also, remounting in either case seems mainingless, if /etc/fstab is not setting /dev/root readonly by default - which can be an alternative solution.

Regards,
Arnout

Quoted 30 lines
---
 system/system.mk |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
system/system.mk +6 -2
index 4a1eb4a..a390b6e 100644
@@ -106,14 +106,18 @@ TARGET_FINALIZE_HOOKS += SYSTEM_GETTY
 endif
 
 ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y)
-# Find commented line, if any, and remove leading '#'s
+# Find commented line in inittab, if any, and remove leading '#'s
+# Rewrite fstab to mount /dev/root rw if set to ro
 define SYSTEM_REMOUNT_RW
 	$(SED) '/^#.*-o remount,rw \/$$/s~^#\+~~' $(TARGET_DIR)/etc/inittab
+	$(SED) '/^\/dev\/root.*ro,.*/s~ro,~rw,~' $(TARGET_DIR)/etc/fstab
 endef
 else
-# Find uncommented line, if any, and add a leading '#'
+# Find uncommented line in inittab, if any, and add a leading '#'
+# Rewrite fstab to mount /dev/root ro if set to rw
 define SYSTEM_REMOUNT_RW
 	$(SED) '/^[^#].*-o remount,rw \/$$/s~^~#~' $(TARGET_DIR)/etc/inittab
+	$(SED) '/^\/dev\/root.*rw,.*/s~rw,~ro,~' $(TARGET_DIR)/etc/fstab
 endef
 endif
 TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_RW
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#2 lore raw

PATCH 1/1 system/system.mk: modify fstab according to GENERIC_REMOUNT_ROOTFS_RW

Hi Karoly,

This patch doesn't apply anymore since everything in system.mk has been moved to a new 'skeleton' package.
I have respinned it a little bit, you can find it here:
http://lists.busybox.net/pipermail/buildroot/2015-October/140904.html

You patch has been marked as superseeded.

Thank you very much

Quoted 62 lines · Arnout Vandecappelle
Quoted 3 lines · Karoly Kasza

Currently, if BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is set /etc/inittab will run a remount on / to make it writable. But in /etc/fstab the /dev/root entry is always mounted as rw, so the

above

Quoted 8 lines

command is useless, BR will always mount /dev/root writable.

This patch adds a modification to /etc/fstab based on the value of BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW, making BR once again to enable readonly root builds OOB.

Also, remounting in either case seems mainingless, if /etc/fstab is not setting /dev/root readonly by default - which can be an alternative

solution.

Quoted 2 lines

Regards,
Arnout

Quoted 15 lines
---
 system/system.mk |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
system/system.mk +2 -1
index 4a1eb4a..a390b6e 100644
@@ -106,14 +106,18 @@ TARGET_FINALIZE_HOOKS += SYSTEM_GETTY
 endif
 
 ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y)
-# Find commented line, if any, and remove leading '#'s
+# Find commented line in inittab, if any, and remove leading '#'s
+# Rewrite fstab to mount /dev/root rw if set to ro

system/system.mk TARGET_FINALIZE_HOOKS += SYSTEM_GETTY · line 119

Quoted 10 lines
system/system.mk +3 -1
 define SYSTEM_REMOUNT_RW
      $(SED) '/^#.*-o remount,rw \/$$/s~^#\+~~' $(TARGET_DIR)/etc/inittab
+     $(SED) '/^\/dev\/root.*ro,.*/s~ro,~rw,~' $(TARGET_DIR)/etc/fstab
 endef
 else
-# Find uncommented line, if any, and add a leading '#'
+# Find uncommented line in inittab, if any, and add a leading '#'
+# Rewrite fstab to mount /dev/root ro if set to rw
 define SYSTEM_REMOUNT_RW
      $(SED) '/^[^#].*-o remount,rw \/$$/s~^~#~'

$(TARGET_DIR)/etc/inittab

system/system.mk TARGET_FINALIZE_HOOKS += SYSTEM_GETTY · line 123

Quoted 5 lines
system/system.mk +1 -0
+     $(SED) '/^\/dev\/root.*rw,.*/s~rw,~ro,~' $(TARGET_DIR)/etc/fstab
 endef
 endif
 TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_RW

--

Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
Quoted 5 lines

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20151003/637cf3a5/attachment.html>