OLE Nepal:Procedure to build NEXS from OLPC XS
The OLPC server software releases are designated as OLPC_XS-0.x. OLE Nepal needs to build a custom configuration of the XS that meets the needs of our schools. These releases will are designated as NEXS-m.n (short style) or NEXS_0.x-m.n to show the OLPC XS release on which it is based.
The current OLPC release is OLPC_XS-0.4 to be followed very shortly by OLPC_XS-0.5. The former is based on Fedora 7 and the latter on Fedora 9.
We currently plan a release NEXS_0.4-1.4. A release which ends in an even number is considered stable and available for installation. This document describes the procedure for building NEXS_0.4-1.3 from OLPC_XS-0.4. The release ends in an odd number to show that it is still under test. When testing is completed, it will be re-designated as NEXS_0.4-1.4.
Our next release will be NEXS_0.5-1.6. The primary difference in these two releases will be the move to Fedora 9. It is also expected that the OLPC XS-0.5 will incorporate MySQL and Moodle so that we will no longer need to add these ourselves.
Copy OLPC_XS-0.4.iso and other packages to the local fileserver
We need the base iso image to be on our local fileserver (fileserver/ole_storage/software/schoolserver) so that in the case of problems we can go back to the source. In addition this folder contains the other packages which were needed to build NEXS: dansguardian, mysql, and moodle.
OLPC_XS-0.4
Download XS iso and md5 files to the OLENepal fileserver/ole_storage/Software/schoolserver/XS/XS-0.x folder:
wget http://xs-dev.laptop.org/xs/OLPC_XS_0_4.iso md5sum OLPC_XS_0_4.iso > OLPC_XS_0_4.iso.md5 mkdir smb://fileserver/ole_storage/Software/schoolserver/XS/XS_0_4 cp OLPC_XS_0.4.iso smb://fileserver/ole_storage/Software/schoolserver/XS/XS_0_4
Note: currently the md5 checksum for the iso file is not given at http://xs-dev.laptop.org/xs/. It would be better to verify the download of the iso file against an md5 checksum created by the developer. However, this test will confirm that a copy from the fileserver is correct.
Dansguardian
Download Dansguardian to the fileserver.
wget http://mirrors.evis.net.ph/downloads/2/Stable/dansguardian-2.10.tar.gz
MySQL
wget http://mysql.thaiweb.net/Downloads/MySQL-5.0/MySQL-server-community-5.0.67-0.rhel5.i386.rpm MD5: 99dcde3e08536a35d42cb939195def9f wget http://mysql.thaiweb.net/Downloads/MySQL-5.0/MySQL-shared-community-5.0.67-0.rhel5.i386.rpm MD5: bc1f85b62c6bd9ec2b0dc8658d89c16e wget http://mysql.thaiweb.net/Downloads/MySQL-5.0/MySQL-client-community-5.0.67-0.rhel5.i386.rpm MD5: 7dfbb1e9e3c8ee7bd5abda8d620c2507
Moodle
wget http://download.moodle.org/stable19/moodle-weekly-19.tgz
Set up development environment
The Fedora system used to build NEXS must have some development tools installed:
yum -y install squashfs-tools livecd-tools yum -y install gcc automake bison autoconf gcc-c++ binutils cscope zlib-devel pcre-devel patchutils
Procedure to make revised iso image
This procedure allows changes to the kickstart file and to the packages included in the NEXS iso image.
mkdir temp cd temp mkdir XSiso mount -o loop OLPC_XS_0.4.iso XSiso unsquashfs XSiso/LiveOS/squashfs.img mkdir livecd-root mount -o loop,rw squashfs-root/LiveOS/os.img livecd-root
now make changes as needed
umount livecd-root mv squashfs.img squashfs.img.orig mksquashfs squashfs-root squashfs.img mkdir NEXSiso rsync -av --exclude=śquashfs.img' XSiso NEXSiso mv squashfs.img NEXSiso/LiveOS umount XSiso
Additions/Changes to packages in XS required to make NEXS
This is a placeholder. It is intended to add MySQL, Dansguardian, Moodle, and install the Moodle courses.
XSinstall
This is a placeholder. XSinstall is a script currently run from /etc/rc.local when the server reboots after the olpc-install script. This script configures the network, sets basic parameters such as keyboard, timezone and root password, configures squid, dansguardian, ejabberd, MySQL, and Moodle. It's final command comments out the two scripts so they will not be run on subsequent boots.
Installation Process
This is also a placeholder. The installation process requires access to an XO. First, the installer mounts the usb key in the XO and edits the NEXS-install script to provide the server name and IPaddress. He then mounts the usb key in the server and boots. This installs the server with no interaction (the server is headless). The server automatically reboots running the OLPC-install and NEXS-install scripts. When completed, the installer can log from the XO via ssh to perform any needed system administration functions.