A few notes:<div><br></div><div> - the D-Bus command needs to issue a method return to allow the initctl command to exit ;-)</div><div><br></div><div> - I would say you should move /proc, /sys & /dev over simply because Upstart happens to use two of those, and it makes everyone's lives easier</div>
<div><br><br><div class="gmail_quote">On Wed, Jun 15, 2011 at 8:06 AM, Surbhi Palande <span dir="ltr"><<a href="mailto:surbhi.palande@canonical.com">surbhi.palande@canonical.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Scott,<br>
<br>
I have uploaded a new diff for the new initctl "pivot" command at:<br>
<br>
<a href="https://code.launchpad.net/~csurbhi/upstart/upstart-add-pivot-handling" target="_blank">https://code.launchpad.net/~csurbhi/upstart/upstart-add-pivot-handling</a><br>
<br>
Background:<br>
--------------<br>
The pivot command is used for changing the root filesystem in the initramfs from the memory based "/" to the disk based real root filesystem. This command can be issued as follows:<br>
<br>
initctl pivot <ROOTFS> <INIT><br>
<br>
where ROOTFS is the root filesystem that we want to move to while in the initramfs. INIT is the first program that we wish to execute once this move to the real root filesystem is made.<br>
<br>
This command is intended to be used when upstart is executed in initramfs for making the initramfs event driven.<br>
<br>
It is assumed that a user can specify a different ROOTFS, INIT or arguments to this new INIT at the grub command prompt. The console used for logging the messages is /dev/console and is a not a boot argument which can be changed.<br>

<br>
This command has no effect when it is executed from a non memory based root filesystem.<br>
---------------<br>
<br>
The uploaded diff has the following changes:<br>
<br>
1. Added the pivot related code in pivot.c, pivot.h.<br>
2. Added support for compiling pivot.c<br>
3. Made the code in pivot.c modular.<br>
4. Added the handling of moving the virtual filesystem from / to the requested new rootfs.<br>
5. The default console used is /dev/console. No other console can be specified. However, if we want to make the console device a boot parameter or a command line argument for the pivot command then this can be added. Would like to know views on this. Currently at least Ubuntu's initramfs does not change the console when it executes run_init.<br>

<br>
I would also love to know any views on whether the pivot command is the right place to handle the moving of the virtual filesystems (/dev, /proc, /sys to @rootfs/). Personally, I think that this virtual filesystem movement is needed _only_ for the correct execution of the pivot command and so it should be handled by the pivot command.<br>

<br>
Please do let me know your views on this diff. Thanks a lot!<br>
<br>
Warm Regards,<br><font color="#888888">
Surbhi.<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</font></blockquote></div><br></div>