Hi Baruch, Thanks for your inputs. I tried with exec switch_root /newroot /sbin/init (as you suggested, but getting this issue:-
# exec switch_root /newroot /sbin/init udevd[108]: specified group 'dialout' unknown udevd[108]: specified group 'disk' unknown udevd[108]: specified group 'tty' unknown udevd[108]: specified group 'kmem' unknown udevd[108]: specified group 'video' unknown udevd[108]: specified group 'audio' unknown udevd[108]: specified group 'lp' unknown udevd[108]: specified group 'floppy' unknown udevd[108]: specified group 'cdrom' unknown udevd[108]: specified group 'tape' unknown Usage: init 0123udevd[108]: specified group 'plugdev' unknown udevd[108]: specified group 'users' unknown After this the console hangs and I am unable to get any kernel prompt beyond this point. Regards, Kanishka Dutta ________________________________________ From: Baruch Siach [[email protected]] Sent: Monday, October 03, 2011 9:19 PM To: Dutta, Kanishka Cc: Laurent Bercot; [email protected] Subject: Re: can't switch_root Hi Dutta, On Mon, Oct 03, 2011 at 08:17:42PM +0530, Dutta, Kanishka wrote: > When the system boots up, I am creating a new dir and mounting the separate > partition on top of this > # mkdir newroot > # mount dev/mmcblk0p14 newroot > > whole of system partition gets mounted on newroot successfully, after that, I > give the command for switch_root :- > > # switch_root newroot sbin/init > switch_root: failed to mount moving /dev to newroot/dev: Invalid argument > switch_root: forcing unmount of /dev > switch_root: failed to mount moving /proc to newroot/proc: Invalid argument > switch_root: forcing unmount of /proc > switch_root: failed to mount moving /sys to newroot/sys: Invalid argument > switch_root: forcing unmount of /sys > switch_root: failed to mount moving newroot to /: No such file or directory > switch_root: failed. Sorry. You seem to be running the util-linux version of switch_root, not the Busybox one. In any case, give the absolute path in 'newroot', that is '/newroot', relative path won't work. See the source for why. Also, you should do # exec switch_root /newroot /sbin/init because you need to run the new /sbin/init as PID 1. This assumes that your shell is actually PID 1. If not, this won't work. baruch > ________________________________________ > From: Laurent Bercot [[email protected]] > Sent: Monday, October 03, 2011 8:18 PM > To: [email protected] > Cc: Dutta, Kanishka > Subject: Re: can't switch_root > > > Yes, initially I am booting up with minimal initramfs. > > Well in that case you cannot use pivot_root, and have to use switch_root > indeed. > (You could also clean up your filesystem by hand and then mount --move, > but that offers no real benefit over using switch_root, which does exactly > that for you.) > > Could you send the output of a strace of your switch_root command ? -- ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - [email protected] - tel: +972.2.679.5364, http://www.tkos.co.il - _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
