NEXS installation procedure
Use the following procedures to install the schoolserver.
 Server Requirements
The server's processor should deliver performance comparable to a 1.5ghz Intel Celeron or better. The server should draw 100w or less and all components including disk should maintain a steady-state temperature of less than 40C in normal operation. This means the server should have a low power processor such as an Intel 'atom'. Graphics should be supplied by the motherboard - high-performance graphic cards are not needed in this application and will draw too much power and generate too much heat.
The server needs a disk capacity equal to 2gb per XO served (to store the journal backup) plus 50gb for NEXC (content). For example, a 160gb hard drive would serve 55 XOs. A typical school with 3 classes of 30 students would require 200-250gb. Two equal-sized hard drives operated in a RAID-1 configuration could be used to provide backup.
The server should have at least two USB 2.0 ports. The bios should support booting from USB. If not, the server must have a CD drive which has boot priority ahead of the hard drive.
The server must have two NICs. Normally one of these is on the motherboard and the second is a provided by a PCI card. The motherboard NIC will be connected to the internet (WAN) and be designated eth0. The PCI NIC will be connected to an Access Point (LAN) and be designated eth1. The eth1 interface provides connection to the XOs.
 Access Point
In addition to the server, the school deployment needs one or more wireless Access Points to connect the XOs to the Schoolserver. If more than one Access Point is required, they can be daisy-chained by Cat6 ethernet cable to provide a wireless signal to all of the classrooms. Normally, they will all be setup with the same parameters.
 Installation Overview
The installation procedure will differ depending on whether it is done at OLENepal prior to deployment or done at the school during deployment. The primary difference is that at OLENepal, the install procedure assumes that a monitor and keyboard are attached to the server. At the school, the server will normally be headless - there will be no monitor and keyboard available to monitor and control the installation process.
The installation takes place in four steps:
- First boot to install NEXS from the USB stick labeled 'NEXS'. During this boot the hard drive is reformatted clearing all existing data and then the NEXS software image is copied to the root partition. This install is controlled by the Kickstart script.
- Second boot (from server hard drive!) completes the installation and configuration of the schoolserver. This is confrolled by the install.sh script.
- Postinstall: this phase is executed by an SSH login to the server from an XO or comparable notebook. During this phase, the postinstall.sh script is executed with parameters defining the WAN ethernet interface specific to that schoolserver. In addition, the NEXC (content) is copied to the /library partition on the server.
- Registration: In this phase, a list of XO users is created for the school. This list has one entry for each XO. It provides the XO name, XO serial number, and XO colors for that XO along with the assigned student or teacher's full name and grade. This information is used to provide authentication, enrollment, and login for the students and teachers.
 First Boot
Install NEXS on the server. Insert the USB drive and start the server (if using a CD, insert the CD). The server will take about 20 minutes to complete the install. When it is done, the server will power off.
 OLENepal Install
At OLENepal, the install procedure can assume a monitor and keyboard are available. First, boot the server and enter the BIOS. If possible, set the boot priority so that USB boots before the hard drive. If not, set the boot priority so that the CD boots before the hard drive. In the first case follow the Install from USB procedure below. In the second case follow the Install from CD procedure below.
 School Install (Headless)
At a school, the server will normally not have an available monitor or keyboard. In this case it is necessary to do a headless install. First insert the USB stick and attempt to boot. If this fails, it may be because the server does not support boot from a USB stick or because the USB stick does not have boot priority over the hard drive. In this case try the Install from CD procedure.
 Install from USB
Insert the USB stick labeled NEXS into a USB port on the server. Power on the server. At the end of the First Boot, the kickstart script will turn off the server. This signals that the First Boot procedure is complete. Remove the USB stick from the server.
 Install from CD
The CD marked NEXS Install boots the server and installs NEXS from the USB stick. Power on the server, open the CD tray, put the CD in the tray, close the tray. Install the USB stick labeled NEXS in one of the server's USB ports. Press reset on the server to restart the boot process (or power the server off and then on). At the end of the First Boot, the kickstart script will eject the CD and turn off the server. This signals that the First Boot procedure is complete. Remove the CD and USB stick from the server.
 Second Boot
Restart the server. It will boot from the hard drive. During this boot, the software install and configuration will be completed. This process is controlled by the install.sh script. If the install is 'headless', it may be difficult to tell when the boot process is complete. It is complete when the monitor shows the login prompt. If you can login via ssh after reconfiguring the AP, (see Postinstall), then the Second Boot is complete.
The Postinstall procedure takes place in three steps:
- Configure Access Point(s)
- Restart Server
- Execute postinstall.sh Script
 Configure Access Point(s)
Set up the Access Point. This is done by resetting it (hold in the reset switch for a long time and then another long time (they usually have a long delay to prevent accidental resets). Then remove the power for a few seconds and restart. This reboots the AP so that it sees the changed settings. You can then access the AP via a browser from the XO or other available PC. This description assumes that one of the XOs is used.
- Start a web browser(Browse Activity or E-Paath-2 Activity.
- Enter web address: http://192.168.1.254 or, whatever the manufacturer gives as the default address.
- You should see a setup form for the AP. Login as username 'Admin' with no password (or whatever the manufacturer gives as the default). Do not
change this during setup!
- Setup the LAN side to use IP address: 172.18.0.1 as the gateway and 255.255.254.0 as the netmask. If necessary, accept a netmask of 255.255.255.0.
- Setup the WAN (wireless) side to use IP address: 172.18.0.3 with mask 255.255.254.0.
- Set the SSID to 'schoolnet', all lower case.
- Set the wireless security to WPA2 (personal) with passphrase: schoolnet (all lower case).
- Save the changes. You should now be able to access the AP setup page at http://172.18.0.3 or using a terminal window: ping 172.18.0.3 and
get a response from the AP.
 Restart Server
The reboot may take two or three minutes. When you think it is done, login to the server from the XO. In a terminal window, enter ssh admin@schoolserver. If the XO gives an error, try going to the /home/olpc/.ssh directory. Remove known_hosts. Retry ssh admin@schoolserver. It will ask if you really want to do this, answer yes. You should now get a prompt. Enter su - and the password olenepal to log in as root.
 Execute postinstall.sh Script
The postinstall.sh script configures the WAN network interface (eth0). It also loads the NEXC content into the library partition on the schoolserver. It is possible that the install requires two USB sticks: NEXS and NEXC. This procedure describes a one-stick install using the NEXS stick and a two-stick install using NEXS and NEXC.
- If there is only one USB stick (labeled NEXS), reinsert it in one of the server's USB ports. You should see five or six lines
on the screen as the server mounts the stick.
- If there are two sticks, insert the one labeled NEXC in one of the server's USB ports. You should see five or six lines on the
screen as the server mounts the stick.
- Verify that the stick is mounted by entering the command: ls /media/usb0. You should see a file: postinstall.sh
- Enter the command: cp /media/usb0/postinstall.sh /root
- Enter the commands: cd /root; chmod 755 postinstall.sh
- Enter the command: ./postinstall.sh with the following four parameters: school server nameserver netmask.
- school is a short name for the school where the schoolserver is deployed, e.g. bashuki.
- server is the IP address of the schoolserver, e.g. 192.168.2.5. This will be supplied to the deployment team by the
- nameserver is the IP address of the nameserver on the network. If the IP address is 192.168.2.5, the nameserver will often
be the same as the gateway, e.g. 192.168.2.1. This parameter should be provided by the network engineers.
- netmask is normally 255.255.255.255. If so, it can be omitted. If not, the correct netmask will be supplied by the network
engineers. If the netmask parameter is 255.255.255.0, it may be omitted.
- In the above case the command would be: ./postinstall bashuki 192.168.2.5 192.168.2.1 255.255.255.0
The postinstall script configures the eth0 (LAN) interface and copies the NEXC content to the /library partition on the server.
The server needs a list of the XOs to be served along with the names and grade of their owners to support Moodle authentication, enrollment, and login. The deployment team should have received a list from the school with this information. It is entered into Moodle in this step. This procedure is under development for use for testing and demonstration. A simpler method of creating this information will be established after the automatic login process is verified.
- connect an XO to schoolnet, open a browser (Browse Activity or E-Paath-2), connect to the schoolserver (http://schoolserver).
- Login as admin with password admin.
- Add XO specific fields to user profile
- On the site administration block (top of left-hand column of 'home' page) select Users, User profile fields.
- On this form create a new category: XO. In this category add fields: nickname (text input, required), serial number (text input, required), and grade (menu of choices, required: with four menu items: 2, 6, 2T, and 6T).
- Add new users. This procedure is repeated for each student and teacher
- On the site administration block select Users, Accounts, Add a new user.
- Enter Username (same as XO nickname, all lower case, must be unique)
- Enter New password (same as XO serial number, must be unique)
- Enter First name (probably same as XO nickname, may begin with upper case character)
- Enter Surname (anything)
- Enter Email address (firstname.lastname@example.org)
- Deactivate email at Email activated
- Enter City/Town (location of school, e.g. Kathmandu)
- Enter Select a country (select Nepal)
- Under XO category enter XO nickname (same as Username - registered name for the XO assigned to this user)
- Under XO category enter XO serial number (same as password - serial number for the XO assigned to this user)
- Under XO category enter User's grade (choose 2 for Grade 2 user, choose 6 for Grade 6 user, choose T2 for Grade 2 teacher, choose T6 for Grade 6 teacher)
- Enter update profile
- Go to the web-based administration interface for ejabberd at http://schoolserver.schoolnet.gov.np:5280/admin/ (not with Browse on an XO!, it can't handle the authentication procedure).
- Login as "email@example.com" 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.