[Pkg-sysvinit-devel] Bug#386347: initscripts: BOOT FAILURE: checkroot.sh can't fsck /dev/shm/root because /dev/shm is mounted nodev

Petter Reinholdtsen pere at hungry.com
Thu Sep 7 14:11:07 UTC 2006


[Chip Salzenberg]
> The checkroot.sh init script sometimes needs to mknod the root
> filesystem device as /dev/shm/root so it can fsck.  This worked
> fine, until the recent change that mounts /dev/shm with the nodev
> option.  Now, any system that fscks /dev/shm/root is unbootable.

Right.  Good point.  I have forgotten about that code.  It need to
stop using /dev/shm/, as it is poluting the shm namespace.

> I suppose the right fix is having checkroot.sh mount a new tmpfs as
> /dev/check; mknod /dev/check/root; fsck /dev/check/root; umount
> /dev/check.

Creating stuff under /dev/ is not an option, as /dev/ might be
read-only when checkroot.sh is running.

I suspect we need to revitalize the discussion on mounting a tmpfs on
/run/ or /lib/run/, to have some writable area available during boot.
This would make the mtab handling easier as well.

An option might be to mount a private tmpfs (aka mounting it, chdir
into it and umounting it, thus making it available only to the process
running within it), but this will not make the life of mtab.sh easier.

Ideas for solutions are welcome.  If we do not find a solution in the
next few days, I suggest we drop the nodev option on /dev/shm/ until
we do come up with a working solution.

Friendly,
-- 
Petter Reinholdtsen




More information about the Pkg-sysvinit-devel mailing list