[BusyBox] urgent help at change_root inside of initrd

Giulio Orsero giulioo at pobox.com
Fri Feb 15 05:29:04 UTC 2002


On Fri, 15 Feb 2002 11:52:47 +0100, Stephan Linz <linz at MAZeT.de> wrote:

>echo CHANGE ROOT TO 0x101:
>echo 0x101 >/proc/sys/kernel/real-root-dev
>sleep 10
>#umount /proc
>cho TRY TO EXECUTE /sbin/init
>exec /sbin/init


I think that this way linuxrc process does not die, so that root is not
changed

=== main.c
pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD);
        if (pid>0)
            while (pid != wait(&i));        <===========
        if (MAJOR(real_root_dev) != RAMDISK_MAJOR
             || MINOR(real_root_dev) != 0) {
#ifdef CONFIG_BLK_DEV_MD
            autodetect_raid();
#endif
            error = change_root(real_root_dev,"/initrd");
            if (error)
                printk(KERN_ERR "Change root to /initrd: "
                    "error %d\n",error);
        }
===

What happens if you take out the "exec" and leave linuxrc die?

-- 
giulioo at pobox.com



More information about the busybox mailing list