[OLPC-devel] OLPC "bootloader"

Ronald G Minnich rminnich at lanl.gov
Mon Jun 19 11:18:56 EDT 2006


Christopher Blizzard wrote:

>  My thought was to build a very 
> simple client on the target machine and then build a reasonably complex 
> server on a host machine that "takes over" the machine and manages the 
> entire install experience.  The idea being that it's easy to make a 
> small client that doesn't change often, but the server is something that 
> will change over time.  

interestingly ... this model looks like how we run a cluster node, 
several thousand at a time.

Here's a ps from a very typical cluster node.
   PID  Uid     VmSize Stat Command
     1 0           296 S   /bin/ash /sbin/init
     2 0               SW  [migration/0]
     3 0               SWN [ksoftirqd/0]
     4 0               SW  [watchdog/0]
     5 0               SW  [migration/1]
     6 0               SWN [ksoftirqd/1]
     7 0               SW  [watchdog/1]
     8 0               SW< [events/0]
     9 0               SW< [events/1]
    10 0               SW< [khelper]
    11 0               SW< [kthread]
    16 0               SW< [kblockd/0]
    17 0               SW< [kblockd/1]
    89 0               SW  [pdflush]
    90 0               SW  [pdflush]
    91 0               SW  [kswapd1]
    92 0               SW  [kswapd0]
    93 0               SW< [aio/0]
    94 0               SW< [aio/1]
   679 0               SW< [kseriod]
   738 0               SW  [kjournald]
   837 0          1004 S   xsrv -D 0 tcp!*!20001
   839 0           560 S   9pserve -u tcp!*!20001
   846 0           848 S   u9fs -a none -u root -m 65560 -p 564
   883 0           420 S   /bin/ash

The xsrv/9pserve is for running commands. The u9fs lets the cluster 
controller mount the root file system of the cluster node, if needed. 
The /bin/ash is there for potential commands at the console.

The controller has complete control over the node. This is how I bring 
up my OLPC nodes now to burn flash. It's a very fast boot, and the node 
has zero autonomy. The flash image for this could be very small with uclibc.

But I like the idea of a mode in which the node has zero autonomy, and 
is basically remote-control for loading. I think we could help set this 
up. Also, the additional part we can bring in (from existing projects, 
nothing new!) is the authentication stuff which would get us the 
security we need for the wild world.

thanks

ron



More information about the Devel mailing list