The fedora 17 XO software is now released. I’m working on adding School Server functions on top of this base release for the XO-1.75. A 4 watt School Server is the target.
The OLPC-Australia design document mentions breaking apart the monolithic structure of the XS software platform; even to the point of having an XS per classroom, and running only a collaboration server on it.
I’ve been working for the last 2 months on a scheme to separate the setup functions for each installable package, and make them individually callable. The paradigm for the interface is:
#!/bin/bash # model for loading a module (in this case the apache web server) source xs-setup-functions do-first httpd yes do-last
Eventually this will need to be attached to a GUI, but for now this permits testing and the easy addition of new features. The “xs-setup-functions” script looks for executables in a “functons” directory, where additional functions can be defined, or existing functions can be shadowed and redefined.
So far, I’ve been able to install all of the XS services, and been able to verify the functions of dhcpd, named, httpd, vnc, postgresql. I have not yet verified the function of ejabberd, moodle, activity-server, registration, or avahi.
I’m concerned about the time it takes to run the install process; at this point, using a fairly fast internet connection, it takes over 50 minutes to install all the services. At this point I might be able to cut this in half. I can put the repository packages on a USB key, and avoid the download latency. But maybe the solution is to use olpc-os-builder to create a snapshot that can be signed, and then loaded like a regular XO image.
The XO image, as recently released by OLPC Boston, is 1.65GB. The minimun XS install adds another 232MB. And a complete install of everything, similar to the monolithic XS-0.7 adds 644MB to the original 1650MB = 2.29GB.