Looking at lsof(1) output, it seems that unmounting of
/old_root/dev fails because of the kernel daemons keeping
/dev/console open, which doesn't seem very proper to me.
No matter, the right way to move a filesystem IMO is with
mount --move, not by umounting-then-mounting it. The only
drawback is that MS_MOVE has to be #defined [to 8192].
Mounting initrd's /bin as /usr/local/bin was quite dumb
of me I must admit. It's much easier, if needed, to leave
/old_root and put /old_root/bin in $PATH. That's not FHS
compliant, so s/old_root/local/g * if you wish.
2nd_stage_small.tar.gz is created with tar | gzip -9
because it's size is very near the limit (that is, with
mine linked as shared, which currently gives a sig11).
Using .bz2 will be better, if approved by Rene/Clifford.
2nd_stage_small (re)boots/shutdowns with no errors, mount
lists the filesystems mounted properly and /old_root can
be unmounted, so 2nd_stage full should not display errors
as well. Now if there was anybody willing to fix mine...
git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@1599 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc
This patch adds stone support to 2nd_stage_small (-text
only, no space for -dialog).
build_stage2.sh: [2nd_stage_small changes only]
- create local/bin to serve as a mountpoint for initrd/bin
- do not copy wget and ip (using the initrd ones)
- copy the programs required by stone and mkreiserfs
- copy the stone files and create a head replacement script
linuxrc.c:
- mount (MS_BIND) initrd's bin under stage 2 /usr/local/bin
- fail if mount fails && /bin/gzip does not exist [= small]
linuxrc2.sh:
- display a different startup message if dialog is missing
git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@1363 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc