Hi Andy, On Wed, Jan 06, at 12:12 Andrew Benton wrote: > Hello, > I've been using one of the newer file systems in the kernel, NILFS2, on > my Dell netbook. It has some features which work well on flash memory > but it also has some quirks which made it difficult to set up at first. > When you mount a NILFS2 partition it starts a daemon (/sbin/nilfs- > cleanerd) which deletes old files. The problem is that nilfs-cleanerd > looks in /proc/mounts to see which device node in /dev it should be > working on. If you cat /proc/mounts you'll see that / is listed as > /dev/root which doesn't exist on an LFS system so nilfs-cleanerd quits, > no garbage collection gets done and the partition fills up until you get > a "no space left on the device" error. The solution I devised is to > create a symlink /dev/root pointing at the root partition. This has to > be done before the filesystem is mounted. The kernel knows where the > root is because it was passed it as an argument by grub, it's available > in /proc/cmdline > So I hacked at one of the bootscripts, /etc/rc.d/init.d/mountfs, and > added a line like this just before it mounts / > > ln -s $(awk '{ print $1; print $2; print $3; print $4; print $5 }' > /proc/cmdline | sed '/dev/!d;s...@root=/dev/@@') /dev/root > > That works fine and causes no problems, even on systems which don't use > NILFS2, but it isn't pretty. Is there a simpler way to get awk to print > all the fields at one go? Or would some other tool (perl?) be more > appropriate? That's the main reason I wrote this email, for a bit of > scripting advice.
Using your pattern, maybe you can do something like, ln -sv $(sed 's...@root=/dev/\([^ ]*\)....@\1@' /proc/cmdline) /dev/root > Andy Regards, Agathoklis. -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page