Version 3 (modified by 18 years ago) ( diff ) | ,
---|
Go back —> Documentation —> Orbit-PXE —> Orbit-PXE specs
Orbit-PXE-3 Specifications
Orbit-PXE-3 does not exist yet but here we can list goals for this series. Here's a few things to aim for 3-series:
Move to buildroot
This will move us to uClibc and incorporate current external debian package dependencies into the buildroot system. The biggest blocker to moving to buildroot right now is nodeagent and its dependency on ruby. Buildroot supports ruby but there is a bug with building ruby at the moment:
http://bugs.uclibc.org/view.php?id=1319
Move nodeagent to standalone C application
We need a simple nodeagent for Orbit-PXE, all the features we need are the ability to save the image, image the node and inventory. A simple C nodeagent with uClibc would save us a lot of space.
Adopt kexec
There is no need for reboots with kexec. We have been supporting kexec in our kernels since Orbit-PXE-1 series. We now have to get nodeagent to support its use and stop rebooting. This should increase the time it takes to image a node and load it considerably. To analyze how we can use kexec we need to consider each separate state a node can be in and what we will do for each command that needs to be processed.
Node\Command | ImageNode | SaveNode |
Node is OFF | Load Orbit-PXE, image, kexec | Load Obit-PXE, saveNode |
Node is ON | Wget Orbit-PXE, kexec to it, imageNode | Wget Orbit-PXE, kexec to it, saveNode |
Here's an example of how to use kexec:
telinit 1 kexec -l /mnt/boot/vmlinuz-2.6.18-3-686 --append="root=0x0301 ro console=ttyS0,9600" --initrd=/mnt/boot/initrd.img-2.6.18-3-686 kexec -e
Please note that root=0x0301 is needed as we have removed syfs on Orbit-PXE-2 series. the 0x0301 represents the major and minor number of the device.
brw-rw---- 1 root disk 3, 0 Apr 2 13:24 /dev/hda
If using another device as root change the value accordingly.