OLE Nepal:Procedure to build NEXS from OLPC XS

From OLPC
Revision as of 12:03, 27 October 2008 by Tony37 (talk | contribs)
Jump to navigation Jump to search

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.