XS Installing Software 0.6

Revision as of 01:01, 28 January 2009 by (talk) (Upgrading from XS 0.4 or earlier)
Jump to: navigation, search
  english | españolCopy "{{subst:requesttranslation}}" to 한국어 HowTo [ID# 192566]  +/-  

  This page is monitored by the OLPC team.

This page describes how to obtain a copy of the XS school server software, load it onto media, and install it onto a system. A more complete description of the software repositories, configuration information, and testing instructions are also available.

This page covers XS 0.5 and newer. For older releases, see XS_Installing_Software_0.4.

Downloading the System Image

You can obtain the latest image from http://xs-dev.laptop.org/xs/:

wget http://xs-dev.laptop.org/xs/OLPC_XS_LATEST.iso

This can be copied onto a CD or DVD using your favorite software.

Optional: Using a USB key/disk for installation

With version 0.5.x, USB installs are not fully supported, and are reported to fail on a variety of hardware. In case of seeing problems, retry with a normal CD-ROM based installation.

Using a USB key to install this version of the XS involves several additional steps.

  • First, ensure you have syslinux installed, and that your USB key is both bootable (you can use gparted to make it bootable) and unmounted.
  • Then, copy the installation using the 'mkusbinstall' script you can download here (click on the 'raw' link). Assuming your usb key is /dev/sdb, you can invoke it like this:
mkusbinstall OLPC_XS_LATEST.iso /dev/sdb1
  • You may need to configure your machine to boot from USB - see XS_Boot_from_USB for details.
  • Early in the installation , anaconda will say that it cannot find its kickstart file. Change the path from 'cdrom:/ks.cfg' to 'hd:sdb1:/ks.cfg'. You will get prompted again for the path to the ISO - set it to Hard Drive, device: '/dev/sdb1' and directory: 'iso'. If the machine has more than one hard drive, then the device might be sdc1 instead of sdb1.

This process has worked on an Ubuntu machine.

Installing the Software

Please read the release notes for the version you are installing.

The install from a CD or USB key will eventually be automatic upon booting. While the install is currently mostly automated (not interactive), it is not performed automatically upon boot.

  1. Boot from the USB Key or CD-ROM
  2. Select "Install using kickstart" at the initial boot screen.
  3. Note: the default graphical installer can be unstable at times. You can press tab and add 'text' at the end of the line to request the text-based installer.
  4. If booting from a USB key please note the following!
    1. Before installing 0.5, put the ISO imaged USB key into a normal computer, and edit the ks.cfg file. You'll need to delete "--driveorder=sda" (otherwise the installer will fail, although I am uncertain of why).
    2. When it asks for the ks.cfg file with "cdrom:/ks.cfg" and replace with "hd:sdb1/ks.cfg" and it'll work fine.
    3. When it asks what the media to install from is, choose "HD" and then it'll automatically choose /dev/sdb1 and you need to type "iso" into the folder option.
  5. Anaconda (the Fedora installer) takes over and you will be prompted for the standard questions - these are preset to the correct defaults for the School Server configuration. You will want to set keyboard type, the time zone, and a root password for your specific system.
  6. When prompted to add specific packages just leave the default and click next.
  7. When it has finished installing, you will be prompted to reboot. Remove the CD-ROM or USB key after power-down, but before the boot process begins.

You should now have a school server! It needs initial configuration before it starts providing services to the laptops.

Initial Configuration

Right after installation, you must

  • Set the server domain name (the hostname is always 'schoolserver') using:
/etc/sysconfig/olpc-scripts/domain_config example.org
  • Set the hostname of the machine like this (until we fix bug 8983) by editing /etc/sysconfig/network to set HOSTNAME=schoolserver.example.org and restarting.
  • Enable ejabberd on startup, and start it using:
chkconfig --level 345 ejabberd on
service ejabberd start
  • Create an account on ejabber for the administrator:
ejabberdctl register admin schoolserver.example.org admin
  • Go to the web-based administration interface for ejabberd at http://schoolserver.example.org:5280/admin/, or if using an XO or other laptop connected through the LAN interface.
  • Login as "admin@schoolserver.example.org" with the password you set when registering (admin).
  • Click on "Virtual Hosts", then your hostname, then "Shared Roster Groups". Type "Online" and click Add New.
  • Click on "Online" and enter "Online" for Name, "@online@" for Members, and "Online" for Displayed Groups. Click Submit.

Optional: Enable Squid transparent proxy

Setup and start web caching with Squid by typing:


If you need to make any modifications to the default Squid configuration make sure you make the modifications to the XS squid.conf file (called squid-xs.conf) not the default squid.conf file. To point to an external proxy server or a content filtering service simply add the following line, inserting the appropriate proxy name:

  • cache_peer parentcache.foo.com parent 3128 0 no-query default
  • acl all src
  • never_direct allow all

Then restart Squid (or the server) and test.

Note: If user authentication is required for the network through a pop-up browser you may need to use Firefox rather than the default browse activity as it doesn't support popups. Also, if you have a PAC file you need to use you can distribute it by DHCP.


The default server setup is to connect to the Internet on the first wired ethernet network interface, using IPv4 DHCP. Laptops connect to the server over Acceess Points (APs) connected to the second wired ethernet network interface or via the wireless mesh using one or more Active Antenna, connected through USB interfaces.

If your XS has 2 network interfaces and you would like to reverse their (WAN, LAN) roles you can use the xs-swapnics utility.

IPv6 is not enabled by default and not needed -- to enable external IPv6 you will have to configure the global address of the machine and setup an IPv6 tunnel.

Access Points

XS Usage APNormal.png

Most access points are compatible with the XO. For a list of ones which have been shown to work see Wireless Access Point Compatibility. Unless a single access point is being used (not recommended for more than forty to fifty laptops), a network switch of some sort will also be needed.

Active Antennae

Important note: Active Antennae is not supported or available from OLPC at this time

If you have active antenna(e) to use, simply plug them in and reboot the XS. It will detect them and allocate them to mshbond0, mshbond1 and mshbond2. It should just work and XOs will see "School server mesh" when they connect to the mesh served by the XS. You may need to manually allocate different frequencies per antenna.

AP Configuration

The steps for setting up a wireless router access point vary based on the wireless router being using, but this serves as a rough guide for installation. These steps were run using a Zoom Wireless-G model 4400 router.

  • Press the reset button on the wireless router to reset it and connect it to any computer. It's possible to do this setup with an XO or any other machine with linux installed.
  • Open terminal and type
ifconfig eth0 IPaddress

Where IPaddress is in the same subnet as the default IP for the access point

  • Connect to the access point by typing in the IP address in a web browser.
  • Login to the access point using the default password (or skip entering a password if none is provided)
  • Set the wireless channel to 1, 6 or 11 to minimize interference
  • Set a unique name for the wireless network
  • Make sure that the access point is NOT running as a DHCP server and it's not running NAT

Recommended Hardware Specifications

A number of computers may act as a school server, but it must be a Fedora-capable computer. Recommended minimum specifications for a school server are as follows:

Server Laptops Supported Processor RAM Storage
Small <20-25 466 MHz 1 GB 40-120 GB
Large <150 1 GHz 1 GB 320-750 GB

See XS Recommended Hardware for more information.

Installing additional software

If you wish to install packages that aren't part of the default school server distribution, you should first try using yum. The stable and testing school server repositories include all packages included in Fedora, even if they aren't installed by default. For third party software you should follow their installation procedure for Fedora 7 or for the XS Server specifically. For example, to install Moodle, follow these instructions: http://docs.moodle.org/en/OLPC_XS_installation#Install_Moodle_from_the_OLPC_XS_Image

Keeping your XS software up to date

Upgrading a server is done using the yum package interface provided by Fedora.

If you have an Internet connection, you can upgrade from the default servers at OLPC, or your own mirrors of them. This is done using yum:

 yum -y upgrade

Upgrading from XS 0.4 or earlier

If you are upgrading from XS 0.4 or earlier, the process is similar to a new installation, with some minor changes. In the menu shown right after booting, you should choose one of the 'Install or upgrade an existing system' options, press the Tab key, and add 'upgradeany' to the boot configuration line. After adding that line, press enter twice.

With this extra option, Anaconda will recognise the old installation and will offer to upgrade.


  • Right after the upgrade, you must re-run the /etc/sysconfig/olpc-scripts/domain_config script with the appropriate domain name for the machine.
  • The new OS may detect your network cards differently -- the roles of WAN and LAN cards may end up swapped from what they were under 0.4. If that happens, use the xs-swapnics script.

See also