Nepal: Testing, QA, and Configuration: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
m (Fix Etoys spelling)
 
(26 intermediate revisions by 3 users not shown)
Line 9: Line 9:
2. Upon arrival at office, recount XO's and note any discrepancies
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
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.
* 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
* 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
4. Attach a label to the XO that has the Inventory Label as the identifier
Line 94: Line 95:
===XS===
===XS===


EJabberd Configuration
EJabberd Configuration
Nothing custom here, simply changed the name of the jabber server to bashuki.xs.olenepal.org for Bashuki school
and bishwamitra.xs.olenepal.org for Bishwamitra School. The wiki page on [[Installing_ejabberd|installing jabber]] is quite excellent.


===Custom XO Build Configuration===
Ejabberd configuration for schoolserver on build XS-160


We are using build os703 and firmware Q2D14 for our deployment
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/


==== Method 1 (doesn't yet work) ====
----------------------------------------------------------
How to customize the build by mounting editing the jffs2 image
Note: This currently doesn't work
http://wiki.laptop.org/go/Mounting_jffs2_images


losetup /dev/loop4 nand.img
# Get ejabberd source folder ejabberd-2.0.0
modprobe block2mtd block2mtd=/dev/loop4
# Untar and put it in some location [on this server I put it in /library on the XS
cat /proc/mtd # inspect status
# 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.
mkdir mtd
# cd /library/ejabberd/src
modprobe jffs2
# cp *.diff /library
mount -t jffs2 mtd0 mtd
#
# Run command patch -p1 < ../your patch name [for all four patches] -- MUST be in order
# Get into the src folder and run commands
## ./configure ----------and if no error shows up then run
## make------------------and if no error shows up then run
## make install
## You can also run make clear if you want to --it will remove temp files that were created during the make process
# Once the installation process is succesfull check to see that ejabberdctl and jabber services are in the path if not just add them.


make changes
Now go to /etc/ejabberd and open your ejabberd.cfg file
# Find the line that defines hosts and change the host which is something like"jabber.laptop.org" to your jabber server name.
# 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.


then umount /mnt/mtd
modprobe -r block2mtd
losetup -d /dev/loop0


How to create new crc:
To start ejabberd:
git clone git://git.fedoraproject.org/git/pilgrim
# Service ejabberd start or
cd pilgrim/crcimg
# ejabberdctl start
make
# Register your admin "jtest" by running ejabberdctl register jtest servername password
./crcimg myfile.img
# you can open a xmpp client and do that.


Right now, this method doesn't work [[User:Berrybw|Berrybw]] 06:41, 17 April 2008 (EDT)
This will get jabberd up and running.
Associate your XO with it by running sugar-control-panel -s jabber servername


May try downloading the tarball for 703, making changes, and then building an image per Michael Stone's suggestion
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 :)


==== Method 2 - does work but not elegant ====
===Custom XO Build Configuration===


How to customize the image by installing a stock OLPC os703.img, Making Changes, and then Cleaning up the machine specific settings.
How to customize the build


# Install os image 703 from Forth prompt copy-nand u:\os703.img --> you must have os703.img and os703.crc on your USB key
http://wiki.laptop.org/go/Mounting_jffs2_images
# Power off
# Insert USB key that has Customization Key v2 installed on it
# Hold down X game key then turn on the XO
# Release the game key when prompted to do so
# The Activity pack should install itself and then power off
# Boot up and make your changes, such as installing rpms
# When done, delete the user-specific changes you have made
#* rm -r /home/olpc.sugar/default
#* rm /var/lib/dbus/machine-id
#* There may be other machine-specific settings that I am not aware of but should be deleted
# Reboot
# Go to the Forth prompt and type save-nand u:\os703-b1.img, this will also generate a u:\os703-b1.crc file
# Clone other XO's using these two files


====Method 3 - Not yet tried====
losetup /dev/loop4 nand.img
Michael Stone's suggestion:
modprobe block2mtd block2mtd=/dev/loop4
cat /proc/mtd # inspect status
mkdir mtd
modprobe jffs2
mount -t jffs2 mtd0 mtd


download the 703 tarball, unpack it, make your modifications, then re-run 'mkfs.jffs2' and sumtool.
make changes
http://dev.laptop.org/git?p=users/mstone/puritan;a=blob;f=produce_jffs2.py;h=2e958e4220cce762bd3ac3189c258d0a3e08c7a6;hb=devel_jffs2
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


====Nepal Activity Pack====


==== Activities Added using the [[Customization key]]====
Activities Added using the [[Customization key]]
* EPaati-9.xo
* Chat-35.xo
* Browse
* Paint
* Write
* Read
* Record
* EToys
* Scratch
* Maze
* GCompris
* Memorize
* Speak
* SocialCalc
* Ruler
* Stopwatch
* Terminal


* [http://mock.laptop.org/repos/local.update1/XOS/Chat-35.xo Chat-35.xo]
* [http://mock.laptop.org/repos/local.update1/XOS/Write-55.xo Write v55]
* [http://mock.laptop.org/repos/local.update1/XOS/Web-86.xo Browse - v86]
* [http://mock.laptop.org/repos/local.update1/XOS/Read-45.xo Read v45]
* [http://mock.laptop.org/repos/local.update1/XOS/Record-54.xo Record v54]
* [http://EPaati-10.xo EPaati Activity version 10]
* [http://Pustakalaya.xo Pustakalaya]-- launches browse and points to Nepal's E-Pustakalaya (E-Library) website
* [http://gcompris.net/incoming/xo/gcompris.activity.xo GCompris] big bundle
* [http://wikrad.com/cgi-bin/gitweb.cgi?p=socialcalc.xo.git;a=blob;f=SocialCalcActivity-1.xo;h=86039c61590b331d2d8eef29d128b33e42f680d3;hb=HEAD SocialCalc v1]
* [http://mock.laptop.org/repos/local.update1/XOS/Paint-19.xo Paint v19]
* [http://mock.laptop.org/repos/local.update1/XOS/Etoys-80.xo Etoys v80]
* [http://web.media.mit.edu/~jmaloney/scratch-xo/Scratch-1.xo Scratch v1]
* [http://wiki.laptop.org/images/a/a6/Simcity-4.xo SimCity v4]
* [http://mock.laptop.org/repos/local.update1/XOS/TamTamMini-46.xo TamTamMini v46]
* [http://mock.laptop.org/repos/local.update1/XOS/TamTamJam-48.xo TamTamJam v48]
* [http://mock.laptop.org/repos/local.update1/XOS/TamTamEdit-47.xo TamTamEdit v47]
* [http://mock.laptop.org/repos/local.update1/XOS/Speak-5.xo Speak v5]
* [http://wiki.laptop.org/images/0/0e/SliderPuzzle-5.xo Slider Puzzle v5]
* [http://wiki.laptop.org/images/4/41/JigsawPuzzle-3.xo Jigsaw Puzzle v3]
* [http://wiki.laptop.org/images/3/3d/CartoonBuilder-RC-1.7.xo Cartoon Builder 1.7]
* [http://wiki.laptop.org/images/8/81/StoryBuilder-12.xo Story builder v12]
* [http://wiki.laptop.org/images/6/69/JokeMachine-8.xo Joke Machine v8]
* [http://mock.laptop.org/repos/local.update1/XOS/BlockParty-7.xo Block Party v7]
* [http://mock.laptop.org/repos/local.update1/XOS/Maze-5.xo Maze v5]
* [http://mock.laptop.org/repos/local.update1/XOS/Memorize-26.xo Memorize v26]
* [http://www.wa1gsf.net/downloads/XO/StarChart-3.xo Starchart v3]
* [http://wiki.laptop.org/images/7/70/Moon.xo Moon v3]
* [http://mock.laptop.org/repos/local.update1/XOS/Terminal-9.xo Terminal v9]
* [http://staff.osuosl.org/~peter/myfiles/Watch%20&%20Listen-10.xo Watch and Listen v10]


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


=====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 [http://wiki.laptop.org/go/Image:Dotdefaults.txt 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 **
* Firmware changes ** Not supported by OLPC **
** Updated firmware to Q2D14
** Updated firmware to Q2D14
Line 192: Line 237:
** Changed locale (LO) in the firmware to ne_NP.UTF-8
** Changed locale (LO) in the firmware to ne_NP.UTF-8
* Sugar
* Sugar
** changed DEFAULT_JABBER_SERVER in /usr/lib/python2.5/site-packages/sugar/profile.py to schoolserver2 (specific to OLE Nepal)
** 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 Flash rpm, rpm -ivh flash. . .plugin.rpm
** Installed latest [http://dev.laptop.org/~sayamindu/langpacks/ne_lang_pack.sh Language pack] for Nepali
** Installed latest [http://dev.laptop.org/~sayamindu/langpacks/ne_lang_pack.sh Language pack] for Nepali
** Added [http://wiki.laptop.org/go/Image:Rsync-use.sh update-script] that check for updates to the EPaati activity - written by Sulochan
** Customized icon to the EPaati icon
** Added update-script that check for updates to the EPaati activity
** Added non-FOSS codecs
** Added non-FOSS codecs
* Adding Man pages
*# Install groff-1.18.***.i386
*# Install man-1.6f-***.i386
*# copy /etc/man.config from linux machine to xo under same location
*# Copy Man folder /usr/share/man into into xo
* Setting up Gnuchess
*# rm /usr/games/gnuchess -- for some reason there appears to be a symbolic link here by default that causes problems
*# cp /usr/bin/gnuchess /usr/games/ note: for whatever reason, ''ln -s /usr/bin/gnuchess /usr/games'' doesn't work


== Contents of My Customization Key ==
== Contents of My Customization Key ==
Line 211: Line 263:


====Add-ons and other Modifications====
====Add-ons and other Modifications====

[[Category:Countries]]
[[Category:OLPC Nepal]]
[[Category:Testing]]

Latest revision as of 20:58, 9 December 2008

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
Nothing custom here, simply changed the name of the jabber server to bashuki.xs.olenepal.org for Bashuki school
and bishwamitra.xs.olenepal.org for Bishwamitra School. The wiki page on installing jabber is quite excellent.

Custom XO Build Configuration

We are using build os703 and firmware Q2D14 for our deployment

Method 1 (doesn't yet work)

How to customize the build by mounting editing the jffs2 image Note: This currently doesn't work

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

Method 2 - does work but not elegant

How to customize the image by installing a stock OLPC os703.img, Making 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
    • There may be other machine-specific settings that I am not aware of but should be deleted
  9. Reboot
  10. Go to the Forth prompt and type save-nand u:\os703-b1.img, this will also generate a u:\os703-b1.crc file
  11. Clone other XO's using these two files

Method 3 - Not yet tried

Michael Stone's suggestion:

download the 703 tarball, unpack it, make your modifications, then re-run 'mkfs.jffs2' and sumtool. http://dev.laptop.org/git?p=users/mstone/puritan;a=blob;f=produce_jffs2.py;h=2e958e4220cce762bd3ac3189c258d0a3e08c7a6;hb=devel_jffs2


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
    2. Install man-1.6f-***.i386
    3. copy /etc/man.config from linux machine to xo under same location
    4. 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

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