2002-08-22 00:53:38

by James Hayhurst

[permalink] [raw]
Subject: Cannot unmount initrd

I'm making a boot CD and having problems unmounting and freeing the initrd after pivoting to a different root. First off, for some reaosn it seems that /linuxrc is not being executed. Just to test this, I have it as a simple script (with execute permissions) printing something to the screen and it never printed....at boot it just seems to go to /sbin/init on the initrd image. After pivoting to a cramfs root, I cannot unmount /initrd as it says that the device or resource is busy. Checking out /proc, it looks like [keventd], [ksoftirqd_CPU0], [kswapd] and [kupdated] are holding onto open fd from /initrd, namely /initrd/dev/console. Strangely though, some of the fd's they're holding are the "normal" /dev/console.

My /sbin/init on the initrd script looks something like:

#I have the new root mount on /new_root/root.cfs and all directories are set up to pivot
cd /new_root
pivot_root . initrd
export PATH=/bin:/usr/bin:/sbin
echo Done pivoting

umount /initrd/proc
umount /initrd/devfs
umount /initrd

exec chroot . sbin/startup < dev/console > dev/console 2> dev/console

Should i unmount /proc and /devfs before I pivot? Any suggestions would be wonderful!

Cheers,
James

Please CC to me directly if you can, i'm not suscribed to the mailing list, bad me!
--
__________________________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup


2002-08-22 09:24:05

by Richard Z

[permalink] [raw]
Subject: Re: Cannot unmount initrd

On Wed, Aug 21, 2002 at 07:57:30PM -0500, James Hayhurst wrote:
> I'm making a boot CD and having problems unmounting and freeing the initrd after pivoting to a different root. First off, for some reaosn it seems that /linuxrc is not being executed.

don't use 'root=/dev/ramX' if you want linuxrc executed.


Richard