wiki:Old/orbit-pxe/specs/3

Version 1 (modified by mcgrof, 17 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\CommandImageNodeSaveNode
Node is OFFLoad Orbit-PXE, image, kexecLoad Obit-PXE, saveNode
Node is ONWget Orbit-PXE, kexec to it, imageNodeWget 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
Note: See TracWiki for help on using the wiki.