[RFC] new initctl command

Surbhi Palande surbhi.palande at canonical.com
Wed Jun 15 15:06:36 UTC 2011


Hi Scott,

I have uploaded a new diff for the new initctl "pivot" command at:

https://code.launchpad.net/~csurbhi/upstart/upstart-add-pivot-handling

Background:
--------------
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:

initctl pivot <ROOTFS> <INIT>

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.

This command is intended to be used when upstart is executed in 
initramfs for making the initramfs event driven.

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.

This command has no effect when it is executed from a non memory based 
root filesystem.
---------------

The uploaded diff has the following changes:

1. Added the pivot related code in pivot.c, pivot.h.
2. Added support for compiling pivot.c
3. Made the code in pivot.c modular.
4. Added the handling of moving the virtual filesystem from / to the 
requested new rootfs.
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.

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.

Please do let me know your views on this diff. Thanks a lot!

Warm Regards,
Surbhi.




















More information about the upstart-devel mailing list