Nepal: Technical Details

From OLPC
Revision as of 06:47, 4 May 2008 by Berrybw (talk | contribs)
Jump to: navigation, search

This is a meta-page that compiles various technical work going on to support Nepal's OLPC deployments. Expect a certain amount of flux. For the most up-to-date info, check the OLE Nepal blog or e-mail Bryan Berry at bryan at olenepal dot org.


Logistics

Initial Receipt and Inventory

  1. At airport, count # of XO's if individually packed
  2. Upon arrival at office, recount XO's and note any discrepancies. Beware of transport loss. It happens
  3. Inventory the XO's in a spreadsheet. The spreadsheet should record the XO's serial #, whether it shows any physical damage, or won't boot. Here is a inventory template spreadsheet you can use File:XO-Inventory-Schools-template.xls
    • If there is physical damage, put a piece of masking tape on the green top lip of the screen and write "physical damage" w/ a red marker.
    • In case of damage or not booting, put in the damaged stack, but make sure to mark it with masking tape and red marker.
  4. Attach a label to the XO that has the Inventory Label as the identifier
  5. Write the Serial Number on the bottom of the laptop using a black permanent marker
  6. Type the Serial Number in the speadsheet next to the Inventory Number
  7. Insert USB key, containing runos.zip and actos.zip, see Procedure for Collecting UUID's and Serial Numbers on the Activation_Key page
    • You should see a message like "SHFxxxxxxxx nnnnnnnnnnnnnnn; Laptop data recorded successfully"
    • The XO will then reboot, remove the USB key and turn it on again
  8. Send file to OLPC containing the information needed to get developer keys for each XO to help@laptop.org
  9. Once you have done this procedure for half of your XO's backup the laptops.dat and inventory spreadsheet (yes, I am paranoid)

How to check you have Serial Numbers and UUID's for each laptop

uniq laptops.dat > laptops-tmp.dat
wc -l laptops-tmp.dat

This should match the exact number of XO's that you have.

Notes: It is very hard to attach any kind of sticker to the XO because of its nobby exterior. We placed the inventory label on the smooth green plastic above the screen. You need to keep track of the XO's using inventory numbers while they are in your possession. It is very easy to lose track of them when you have several hundred in your possession. You should also limit access to the area where you store the XO's. It is all too easy for people to walk off w/ a new XO of their own.


Managing Storage of the XO's

Sign out individual XO's to important project contributors. Any other XO's should be signed out on a sign out sheet if someone wants to take them out of the storage room. I recommend using a clipboard as a sign-out sheet.

I recommend storing the XO's on shelves in stacks of 5. The stacks of 5 should be in some kind of numerical order so that you can quickly count the total # of XO's and determine if a particular XO is missing.

Firmware Testing

Contents of your USB key

  • os699.img and os699.crc, or whichever image you prefer
  • /security/develop.sig -- developer keys for the XO's
  • /bundles/ containing library and activity bundles for our customized build
  • The Customization_key unpacked into the root directory

Procedure

  1. Write the Serial # for the XO on Testing Plan
  2. Place develop.sig specific to the XO you will test onto the USB key
  3. Hit the "X" Escape key in the upper left-hand corner of the keyboard
  4. At the OK prompt, type disable-security
  5. The XO will reboot. Type disable-security again
  6. Type test-all at the OK prompt
    • Note down any error messages you see during this process, basically any individual test that does not produce an OK result
    • You need to put pressure on the touchpad during the touchpad test, then hit the space bar
    • Don't hit the keys during the keyboard test, for some reason that causes a problem.
    • If you do get an error message, write Firmware -- Component xxx failed w/ a red marker on the XO's box
  7. after test-all completes, it is time to change the locale to Nepali from within the firmware (note: the XO's we received in Nepal had US as the locale)
    • At the OK prompt, type change-tag LO ne_NP.UTF-8 -- Note LO not LA
    • Turn off the XO and remove USB
  8. If no problems, mark the XO's label w/ a blue checkmark, if there is a problem check the label w/ a red marker.


Testing and QA

Customizing Your own Build

There are several possible ways to customize your own build for the XO. This is what worked for me.

How to customize the image by installing a stock OLPC os703.img, Make your changes, and then Cleaning up the machine specific settings.

  1. Install os image 703 from Forth prompt copy-nand u:\os703.img --> you must have os703.img and os703.crc on your USB key
  2. Power off
  3. Insert USB key that has Customization Key v2 installed on it
  4. Hold down X game key then turn on the XO
  5. Release the game key when prompted to do so
  6. The Activity pack should install itself and then power off
  7. Boot up and make your changes, such as installing rpms
  8. When done, delete the user-specific changes you have made
    • rm -r /home/olpc.sugar/default
    • rm /var/lib/dbus/machine-id
    • rm -r /security/state/etc/*
  9. Delete the first line of the hosts file /etc/hosts
  10. shutdown
  11. Go to the Forth prompt and type save-nand u:\os703-b1.img, this will also generate a u:\os703-b1.crc file
  12. Clone other XO's using these two files

Nepal Activity Pack

Activities Added using the Customization key

After Installing all these activities, we have 456 MB of SSD remaining.


Additional Rpms Installed
  • RPM's to display man pages, man-1.6e-3.fc7.i386.rpm, diffutils-2.8.1-16.fc7.i386.rpm, groff-1.18.1.4-7.fc7.i386.rpm
  • gnuchess
  • flash 9 plugin

Activity Ordering

The order is set in Nepal's custom Activity defaults file. to use it you will need to change the file to /home/olpc/Activities/.defaults

  • org.laptop.Chat
  • org.laptop.AbiWordActivity
  • org.laptop.WebActivity
  • org.laptop.RecordActivity
  • org.laptop.Oficina
  • org.olenepal.EPaatiActivity
  • org.olenepal.PustakalayaActivity
  • net.gcompris.gcomprisActivity
  • com.socialtext.SocialCalcActivity
  • org.vpri.EtoysActivity
  • edu.mit.media.ScratchActivity
  • org.laptop.SimCity
  • vu.lux.olpc.Speak
  • org.laptop.TamTamMini
  • org.laptop.TamTamJam
  • org.laptop.TamTamEdit
  • com.ywwg.CartoonBuilderActivity
  • org.worldwideworkshop.olpc.storybuilder
  • org.worldwideworkshop.olpc.JigsawPuzzle
  • org.worldwideworkshop.olpc.SliderPuzzle
  • org.worldwideworkshop.JokeMachineActivity
  • org.laptop.BlockPartyActivity
  • org.laptop.StarChart
  • com.garycmartin.Moon
  • org.laptop.Memorize
  • vu.lux.olpc.Maze
  • org.laptop.Terminal

Other Customizations

  • Firmware changes ** Not supported by OLPC **
    • Updated firmware to Q2D14
    • Disabled security -- disable-security
    • Changed locale (LO) in the firmware to ne_NP.UTF-8
  • Sugar
    • changed DEFAULT_JABBER_SERVER in /usr/lib/python2.5/site-packages/sugar/profile.py to bashuki.xs.olenepal.org or bishwamitra.xs.olenepal.org (specific to OLE Nepal)
    • installed Flash rpm, rpm -ivh flash. . .plugin.rpm
    • Installed latest Language pack for Nepali
    • Added update-script that check for updates to the EPaati activity - written by Sulochan
    • Added non-FOSS codecs
  • Adding Man pages
    1. Install groff-1.18.***.i386, man-1.6f-***.i386, diffutils
    2. copy /etc/man.config from linux machine to xo under same location
    3. Copy Man folder /usr/share/man into into xo
  • Setting up Gnuchess
    1. rm /usr/games/gnuchess -- for some reason there appears to be a symbolic link here by default that causes problems
    2. cp /usr/bin/gnuchess /usr/games/ note: for whatever reason, ln -s /usr/bin/gnuchess /usr/games doesn't work



Power Systems

Networking