Nepal: Testing, QA, and Configuration

From OLPC
Jump to navigation Jump to search

We are using this page to organize our configuration, testing, and QA for the upcoming Bishwamitra and Bashuki pilots. When this page is complete, I intend to link the relevant portions to the main Testing and QA pages. Berrybw 23:24, 15 April 2008 (EDT)

Testing

Receipt of XO's

This stage will be done by Upaya, Bryan, and Sulochan. Covers receipt and basic testing

  1. At airport, count # of XO's if individually packed
  2. Upon arrival at office, recount XO's and note any discrepancies
  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 Image:XO-Inventory-template.xls
         * If there is physical damage, write "physical damage" on the box w/ a red marker. If it won't boot, write "won't boot" with red marker.
         * In case of damage or not booting, put in the damaged stack 
  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
         * 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 w/ timestamps in the filenames (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. We used inventory labels only to keep track of the XO's while they are in our possession, part of a regulatory requirement. We will take off the inventory labels before we give the XO's to kids. [edit] Stage 2 - Serious Testing

Stage 2 will be done by Bryan, Upaya, Rajeev, Sulochan, Rabi, and Saurav [edit] What you Need

For Stage you need a USB key with the following contents:

  • os699.img and os699.crc,
  • /security/develop.sig -- developer key specific to the XO
  • /bundles/ containing library and activity bundles for our customized build
  • The Customization_key unpacked into the root directory

Firmware Testing

We won't be able to test the firmware until we get the developer keys for all XO's

  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. 

It may not be necessary to test the custom build for all of our XO's. We may be satisfied if we test 25-30 XO's without getting any errors.

Note: We had to make a special change to our build. We changed the default Jabber server to our local school server. Do this by changing the value of DEFAULT_JABBER_SERVER in /usr/lib/python2.5/site-packages/sugar/profile.py

USB Stick should contain:

   * os699.img and os699.crc,
   * /security/develop.sig -- developer key specific to the XO
   * /bundles/ containing library and activity bundles for our customized build
   * The Customization_key unpacked into the root directory 

Steps:

  1. Insert the USB key
  2. Hit the "X" Escape key in the upper left-hand corner
  3. At the OK prompt, type copy-nand u:\os699.img
  4. The XO should reboot on its own. Leave the USB key in.
  5. Type in the XO's serial number as the user name
  6. Check that the default interface is in Nepali
  7. Use the camera activity to take a picture
  8. Connect to the Access Point 'Access-point Name' and connect to www.google.com
  9. Open the E-Paati activity
 10. Turn off the XO and put it back in the box
 11. If everything tested fine, write Software OK in blue marker on the box. Write Software Failed in red marker if otherwis

Load Testing

Documenting the testing procedure with this document

Configuration

Wifi Routers

XS

EJabberd Configuration

Ejabberd configuration for schoolserver on build XS-160

Requirements: A. Erlang package version erlang-R11B .....does not seem to support the newer erlangE12 package that yum updates to. B. Install the mod_ssl-2.2.6-1 package for fedora...it will also install some dependencies, openssl-0.9.8b, openssl-devel-0.9.8b, krb5-devel, expat-devel,zlib-devel-1.2.3-10.fc7, and all the e2fsprogs http://fedora.laptop.org/xs/stable/updates/7/i386/e2fsprogs-libs-1.40.2-2.fc7.i386.rpm Get the RPM's from OLPC's server here: http://fedora.laptop.org/xs/stable/updates/7/i386/


  1. Get ejabberd source folder ejabberd-2.0.0
  2. Untar and put it in some location [on this server I put it in /library on the XS
  3. Get the four patch files push2.diff, recent.diff, online.diff and mod.diff from the olpc website. These files basically create an online roster that will have all online xo's and other machines connected to the jabber server to show up on you xmpp client.
  4. cd /library/ejabberd/src
  5. cp *.diff /library
  6. Run command patch -p1 < ../your patch name [for all four patches] -- MUST be in order
  7. Get into the src folder and run commands
    1. ./configure ----------and if no error shows up then run
    2. make------------------and if no error shows up then run
    3. make install
    4. You can also run make clear if you want to --it will remove temp files that were created during the make process
  8. Once the installation process is succesfull check to see that ejabberdctl and jabber services are in the path if not just add them.

Now go to /etc/ejabberd and open your ejabberd.cfg file

  1. Find the line that defines hosts and change the host which is something like"jabber.laptop.org" to your jabber server name.
  2. On ACL, find the line that defines admin ---it probably says jtest --again change the server name--again something like "jabber.laptop.org" to your jabber server name.

Save the file and quit.


To start ejabberd:

  1. Service ejabberd start or
  2. ejabberdctl start
  3. Register your admin "jtest" by running ejabberdctl register jtest servername password
  4. you can open a xmpp client and do that.

This will get jabberd up and running. Associate your XO with it by running sugar-control-panel -s jabber servername

To check if it associated you can open a browser and type http://servername:5280/admin or go to the terminal on the XO and type olpc-netstatus. The name of your jabber server and Telepathy: gabble should appear If this page does not exist go back to your /etc/ejabberd.cfg file and make sure that there is a http_poll and web_admin options for your port 5280. Jabbered runs on port 5222. Create a roster for everone and relax :)

Custom XO Build Configuration

We are using build os703 and firmware Q2D14 for our deployment

How to customize the build
http://wiki.laptop.org/go/Mounting_jffs2_images
losetup /dev/loop4 nand.img
modprobe block2mtd block2mtd=/dev/loop4 
cat /proc/mtd    # inspect status
mkdir mtd
modprobe jffs2
mount -t jffs2 mtd0 mtd
make changes
then umount /mnt/mtd
modprobe -r block2mtd
losetup -d /dev/loop0
How to create new crc:
git clone git://git.fedoraproject.org/git/pilgrim
cd pilgrim/crcimg
make
./crcimg myfile.img
Right now, this method doesn't work Berrybw 06:41, 17 April 2008 (EDT)
May try downloading the tarball for 703, making changes, and then building an image per Michael Stone's suggestion

Nepal Activity Pack

Activities Added using the Customization key

Possible late additions: Sonata,

Additional Rpms Installed
  • RPM's to display man pages
  • gnuchess
  • flash 9 plugin


Activity Ordering

The order is set in Nepal's custom /home/olpc/Actvities/.default file

  • org.laptop.Chat
  • org.laptop.AbiWordActivity
  • org.laptop.WebActivity
  • org.laptop.RecordActivity
  • org.olenepal.EPaatiActivity
  • org.olenepal.PustakalayaActivity
  • net.gcompris.gcomprisActivity
  • com.socialtext.SocialCalcActivity
  • org.laptop.Oficina (paint)
  • org.vpri.EtoysActivity
  • edu.mit.media.ScratchActivity
  • org.laptop.TamTamMini
  • org.laptop.TamTamJam
  • org.laptop.TamTamEdit
  • org.laptop.TamTamSynthLab
  • org.laptop.Pippy
  • org.laptop.Memorize
  • vu.lux.olpc.Maze
  • org.worldwideworkshop.olpc.JigsawPuzzle
  • org.worldwideworkshop.olpc.SliderPuzzle
  • vu.lux.olpc.Speak
  • net.gcompris.chess_computerActivity
  • net.gcompris.scalesboardActivity
  • net.gcompris.sudokuActivity
  • org.laptop.MeasureActivity
  • 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 schoolserver2 (specific to OLE Nepal)
    • installed Flash rpm, rpm -ivh flash. . .plugin.rpm
    • Installed latest Language pack for Nepali
    • Customized icon to the EPaati icon
    • Added update-script that check for updates to the EPaati activity - written by Sulochan
    • Added non-FOSS codecs
  • Changing the center XO icon to the custom EPaati icon - epaati.svg
    • su
    • cp activity-epaati.svg /usr/share/icons/sugar/scalable/device/computer-xo.svg
  • Adding Man pages

Contents of My Customization Key

  • customization 2 unzipped to the root of the key
  • q2d14.rom, q2d14.asc in /ofw
  • Copies of the .xo files for activitity bundles in /bundles
  • flash-plugin-9.0.115.0-release.i386.rpm
  • ne_lang_pack.sh
  • Customized version of os703.img, os703.crc
  • /security/develop.sig


Add-ons and other Modifications