Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 125948 Details for
Bug 186542
baselayout 1.12.9-r2 has problems with read-only NFS root
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Checkroot script modified to avoid spots which cause NFSROOT boots with rdonly / to fail
checkroot-modified (text/plain), 3.26 KB, created by
aero1967
on 2007-07-25 03:06:27 UTC
(
hide
)
Description:
Checkroot script modified to avoid spots which cause NFSROOT boots with rdonly / to fail
Filename:
MIME Type:
Creator:
aero1967
Created:
2007-07-25 03:06:27 UTC
Size:
3.26 KB
patch
obsolete
>#!/sbin/runscript ># Copyright 1999-2007 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 > >depend() { > before * >} > >start() { > local retval=0 > > if [[ ! -f /fastboot && -z ${CDBOOT} ]] \ > && ! is_net_fs / && ! is_union_fs / ; then > if touch -c / >& /dev/null ; then > ebegin "Remounting root filesystem read-only" > mount -n -o remount,ro / > eend $? > fi > > if [[ -f /forcefsck ]] || get_bootparam "forcefsck" ; then > ebegin "Checking root filesystem (full fsck forced)" > fsck -C -a -f / > # /forcefsck isn't deleted because checkfs needs it. > # it'll be deleted in that script. > retval=$? > else > # Obey the fs_passno setting for / (see fstab(5)) > # - find the / entry > # - make sure we have 6 fields > # - see if fs_passno is something other than 0 > if [[ -n $(awk '($1 ~ /^(\/|UUID|LABEL)/ && $2 == "/" \ > && NF == 6 && $6 != 0) { print }' /etc/fstab) ]] > then > ebegin "Checking root filesystem" > fsck -C -T -a / > retval=$? > else > ebegin "Skipping root filesystem check (fstab's passno == 0)" > retval=0 > fi > fi > > if [[ ${retval} -eq 0 ]] ; then > eend 0 > elif [[ ${retval} -eq 1 ]] ; then > ewend 1 "Filesystem repaired" > elif [[ ${retval} -eq 2 || ${retval} -eq 3 ]] ; then > ewend 1 "Filesystem repaired, but reboot needed!" > echo -ne "\a"; sleep 1; echo -ne "\a"; sleep 1 > echo -ne "\a"; sleep 1; echo -ne "\a"; sleep 1 > ewarn "Rebooting in 10 seconds ..." > sleep 10 > einfo "Rebooting" > /sbin/reboot -f > else > if [[ ${RC_FORCE_AUTO} == "yes" ]] ; then > eend 2 "Rerunning fsck in force mode" > fsck -y -C -T / > else > eend 2 "Filesystem couldn't be fixed :(" > /sbin/sulogin ${CONSOLE} > fi > einfo "Unmounting filesystems" > /bin/mount -a -o remount,ro &> /dev/null > einfo "Rebooting" > /sbin/reboot -f > fi > fi > > # Should we mount root rw ? the touch check is to see if the / is > # already mounted rw in which case there's nothing for us to do > if mount -vf -o remount / 2> /dev/null | \ > awk '{ if ($6 ~ /rw/) exit 0; else exit 1; }' && \ > ! touch -c / >& /dev/null > then > ebegin "Skipping code to remount root fs as r+w" > eend 0 > #ebegin "Remounting root filesystem read/write" > #mount -n -o remount,rw / &> /dev/null > #if [[ $? -ne 0 ]] ; then > # eend 2 "Root filesystem could not be mounted read/write :(" > # if [[ ${RC_FORCE_AUTO} != "yes" ]] ; then > # /sbin/sulogin ${CONSOLE} > # fi > #else > # eend 0 > #fi > fi > > ewarn "Skipping /etc/mtab initialization (ro root?)" > return 0 > > ># if [[ ${BOOT} == "yes" ]] ; then ># local x= ># local y= > > # > # Create /etc/mtab > # > > # Don't create mtab if /etc is readonly ># if ! touch /etc/mtab 2> /dev/null ; then ># ewarn "Skipping /etc/mtab initialization (ro root?)" ># return 0 ># fi > > # Clear the existing mtab ># > /etc/mtab > > # Add the entry for / to mtab ># mount -f / > > # Don't list root more than once ># awk '$2 != "/" {print}' /proc/mounts >> /etc/mtab > > # Now make sure /etc/mtab have additional info (gid, etc) in there ># for x in $(awk '{ print $2 }' /proc/mounts | sort -u) ; do ># for y in $(awk '{ print $2 }' /etc/fstab) ; do ># if [[ ${x} == ${y} ]] ; then ># mount -f -o remount $x ># continue ># fi ># done ># done > > # Remove stale backups ># rm -f /etc/mtab~ /etc/mtab~~ ># fi >} > > ># vim:ts=4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 186542
: 125948 |
125952