Control: tag -1 patch --- - checkroot.sh: Do nothing if /run/initramfs/fsck-root exists - checkfs.sh: Pass -M option to fsck instead of -R (Closes: #697002) - mountall.sh: Remount /usr if already mounted
In checkfs.sh, it might be better to run fsck once with -T -N -R to get a list of filesystems, filter out /usr depending on the stamp file, then run it again with the new list. I'm not convinced that the output of fsck -N is a stable interface though. --- This is needed to unblock #810965 in initramfs-tools and transitively #810860 in usrmerge. If I don't hear any objections, I'll NMU with these changes in a few days. Ben. debian/changelog | 6 ++++++ debian/src/initscripts/etc/init.d/checkfs.sh | 4 ++-- debian/src/initscripts/etc/init.d/checkroot.sh | 6 ++++++ debian/src/initscripts/etc/init.d/mountall.sh | 9 +++++++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index b2653ab..f78cf2b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,12 @@ sysvinit (2.88dsf-59.3) UNRELEASED; urgency=medium [ Samuel Thibault ] * /etc/init.d/rc: Mount /proc on GNU/Hurd too (Closes: #798406) + [ Ben Hutchings ] + * Add support for mount and fsck of root and /usr by an initramfs: + - checkroot.sh: Do nothing if /run/initramfs/fsck-root exists + - checkfs.sh: Pass -M option to fsck instead of -R (Closes: #697002) + - mountall.sh: Remount /usr if already mounted + -- Samuel Thibault <[email protected]> Wed, 09 Sep 2015 00:02:13 +0200 sysvinit (2.88dsf-59.2) unstable; urgency=medium diff --git a/debian/src/initscripts/etc/init.d/checkfs.sh b/debian/src/initscripts/etc/init.d/checkfs.sh index 07302d4..3c556ef 100755 --- a/debian/src/initscripts/etc/init.d/checkfs.sh +++ b/debian/src/initscripts/etc/init.d/checkfs.sh @@ -97,7 +97,7 @@ Continuing with system boot in 5 seconds." if [ "$VERBOSE" = no ] then log_action_begin_msg "Checking file systems" - logsave -s $FSCK_LOGFILE fsck $spinner -R -A $fix $force $FSCKTYPES_OPT + logsave -s $FSCK_LOGFILE fsck $spinner -M -A $fix $force $FSCKTYPES_OPT FSCKCODE=$? if [ "$FSCKCODE" -eq 32 ] @@ -118,7 +118,7 @@ Continuing with system boot in 5 seconds." else log_action_msg "Will now check all file systems" fi - logsave -s $FSCK_LOGFILE fsck $spinner -V -R -A $fix $force $FSCKTYPES_OPT + logsave -s $FSCK_LOGFILE fsck $spinner -V -M -A $fix $force $FSCKTYPES_OPT FSCKCODE=$? if [ "$FSCKCODE" -eq 32 ] then diff --git a/debian/src/initscripts/etc/init.d/checkroot.sh b/debian/src/initscripts/etc/init.d/checkroot.sh index bce9c41..9f70527 100755 --- a/debian/src/initscripts/etc/init.d/checkroot.sh +++ b/debian/src/initscripts/etc/init.d/checkroot.sh @@ -152,6 +152,12 @@ Will restart in 5 seconds." # See if we want to check the root file system. # FSCKCODE=0 + + if [ -e /run/initramfs/fsck-root ] + then + rootcheck=no + fi + if is_fastboot_active then [ "$rootcheck" = yes ] && log_warning_msg "Fast boot enabled, so skipping root file system check." diff --git a/debian/src/initscripts/etc/init.d/mountall.sh b/debian/src/initscripts/etc/init.d/mountall.sh index baaacca..cf47e70 100755 --- a/debian/src/initscripts/etc/init.d/mountall.sh +++ b/debian/src/initscripts/etc/init.d/mountall.sh @@ -28,8 +28,13 @@ do_start() { # Mount local file systems in /etc/fstab. # mount_all_local() { - mount -a -t nonfs,nfs4,smbfs,cifs,ncp,ncpfs,coda,ocfs2,gfs,gfs2,ceph \ - -O no_netdev + if mountpoint -q /usr; then + # May have been mounted read-only by initramfs. + # Remount with unmodified options from /etc/fstab. + mount -o remount /usr + fi + mount -a -t nonfs,nfs4,smbfs,cifs,ncp,ncpfs,coda,ocfs2,gfs,gfs2,ceph \ + -O no_netdev } pre_mountall if [ "$VERBOSE" = no ]
signature.asc
Description: Digital signature
_______________________________________________ Pkg-sysvinit-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-sysvinit-devel

