NEXS installation procedure

From OLPC
Revision as of 03:53, 10 December 2008 by Tony37 (talk | contribs) (Second Boot)
Jump to: navigation, search

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

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 the XO. Start a web browser (Browse or Firefox (E-Paath). 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. Ignore the LAN side for now. Setup the WAN (wireless) side to use IP address: 172.18.0.3 with mask 255.255.254.0. Enable DHCP with a limited range: 172.18.0.80 to 172.18.0.90, for example. Save the changes. You should now be able to ping the AP (terminal: ping 172.18.0.3). Set the network to broadcast 'schoolnet' as the SSID.

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:

  1. 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.
  2. Second boot (from server hard drive!) completes the installation and configuration of the schoolserver. This is confrolled by the 'install.sh' script.
  3. 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.
  4. 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 (see Postinstall), then the Second Boot is complete.

Postinstall

The Postinstall procedure takes place in three steps:

  1. Reconfigure Access Point
  2. Restart Server
  3. Execute postinstall.sh Script

Reconfigure Access Point

Use the XO browser to access the AP: http://172.18.0.3. Change the LAN (wireless) side so that the network is open and does not provide DHCP service.

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.

Execute postinstall.sh Script

Now enter the command: su ./netsetup with the following four parameters: school server nameserver netmask. If the netmask parameter is 255.255.255.0, it may be omitted. If the nameserver is in the same network as the server, the parameter may be omitted (e.g. server is 192.168.2.77 and the nameserver is 192.168.2.1, then the parameter is unneeded). The school parameter is a short name for the school, e.g. kavre. The server parameter is it's network address (e.g. 192.168.2.77). You will have been given these parameters before you started the install. When the script is complete, it will say: "done". At this point, logout.

Test server installation

  1. Look at the neighborhood view. You should see a circle with the designation: schoolnet. The XO should be connected (shown as to semicircles outside the circle).
  2. From the XO, ping the schoolserver (172.18.0.1). If that succeeds, ping the schoolserver (ping schoolserver). If that succeeds, ping the schoolserver (192.168.2.77). If that suceeds, ping the nameserver (ping 192.168.2.1). If that suceeds, ping Google (ping www.google.com).
  3. From a browser: access Google. Do a search (e.g. OLPC). Access wiki.laptop.com.
  4. From a browser: access the schoolserver (http://schoolserver). You should see the school's Moodle page.

Test the 'mesh' connection

  1. Register the XO. If the XO does not show the registration option (along with restart, shutdown), then you need to use a terminal window. Go to /home/olpc/.sugar/default. Use nano (sudo nano config) to edit the file: config.
  2. Delete (ctl + k) the two lines:
    • [Server]
    • backup1
  3. Enter ctl + x to exit nano (answer y to save the change). Now reboot the XO and you should see the register option.
  4. In a terminal window enter: olpc-netstatus You should see under telepathy the word "gabble". This means the XO is using the AP for it's mesh (XO-XO) connections.
  5. Start a second XO. The two XO's should see each other in the neighborhood view. Start Chat on each XO. You should be able to

see each other in the chat room and type messages between the two XOs.

Exceptions and Notes

  1. At the moment, the install CD requires you to enter return on the keyboard to start the install. This WILL be removed.
  2. At the moment, the system will automatically reboot when the install is completed. You must watch for this and remove the usb drive or CD immediately (for the CD, it is enough to open the tray). Then reset to restart the boot process. This too WILL be fixed.
  3. Since 192.168.5.44 is in use by an unknown system, use the parameters for netsetup: sanepa 192.168.5.45 192.168.5.1 255.255.255.0
  4. The netsetup script will be on the USB drive for now (This too WILL be fixed). So in step 5, when you login by ssh, you will need to mount the USB drive. Wait until the screen shows several lines (system is mounting the drive). You can then execute the script by the command: /media/usb0/netsetup.