OLE Nepal/Deployment guide
LOGISTICS
- If possible, count the number of XO's at the airport and note any physical damage
- Transport XO's to storage area
- Write the serial number with a marker at the underside of the XO. The serial number can be found after removing the battery. (e.g SHF8060099D)
- Assign a label to the XO (e.g OLEN.XO.1).Inventory the XO's in a spreadsheet. The spreadsheet should record the XO's serial number, its Label number, whether it shows any physical damage, or won't boot.
- You can use a marker and a tape to stick the label at the front of the XO.
- The label is best put in the green cover on top of the screen, between the two antennas.
- Laptops should be kept systematically with a certain range of XO's in a certain shelf. (e.g OLEN.XO.1 - OLEN.XO.10 should be kept in the same shelf)
- Activate all laptops. (http://wiki.laptop.org/go/Activation_and_Developer_Keys#Getting_devkey_data_via_USB_stick)
- Power up a laptop and hit the ESC key. At the OK prompt, type "test-all". This will test all components of the laptop.
- If there is a bad component write that the laptop is bad and the name of the bad component beside the label using a red marker and a piece of tape.
- At the OK prompt, type "change-tag LO ne_NP.UTF-8" to change the locale to Nepali.
Update firmware/ Install image
- To update firmware type "flash u:\XXXX" where XXXX is the filename including the extension of the firmware.
- This will erase all the files currently stored in your XO. To install the image, put the customized image (osXXX.img) and the crc file (osXXX.crc) at the root of the USB key.
- Plug in the USB key and when in forth, type "copy-nand flash u:\osXXX.img". The process will be over in a couple of minutes.
Basic customization
- To change the Default Jabber Server change the value of DEFAULT_JABBER_SERVER in /usr/lib/python2.5/site-packages/sugar/profile.py
Use Traditional Nepali unicode in your XO
To change the keyboard setting so that you can type in both English and Nepali. Here's what I did: --Pradosh 10:44, 17 October 2008 (UTC)
- sudo vi /etc/sysconfig/keyboard
- change
XKB_MODEL="olpc" XKB_LAYOUT="us" XKB_VARIANT="olpc" KEYTABLE="us"
to
XKB_MODEL="olpc" XKB_LAYOUT="us,np" XKB_VARIANT="olpc2,olpc" KEYTABLE="us"
- You can now change the the language in which you type with the multiplication/divide button
- To change the keyboard layout to Nepali Traditional type "sudo vi /usr/share/X11/xkb/symbols/np"
- Change the file to
// $XKeyboardConfig: xkeyboard-config/symbols/np,v 1.3 2007-11-21 22:53:38 svu Exp $ // based on a keyboard map from an 'xkb/symbols/dev' file // $XFree86: xc/programs/xkbcomp/symbols/pc/dev,v 1.2 2002/11/22 04:03:28 dawes Exp $ partial default alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Nepal"; // `,1,2,3,4,5,6,7,8,9,0,-,= key <TLDE> { [ 0x100093D,0x100093C ] }; key <AE01> { [ 0x1000967 ] }; key <AE02> { [ 0x1000968 ] }; key <AE03> { [ 0x1000969 ] }; key <AE04> { [ 0x100096A ] }; key <AE05> { [ 0x100096B ] }; key <AE06> { [ 0x100096C ] }; key <AE07> { [ 0x100096D ] }; key <AE08> { [ 0x100096e ] }; key <AE09> { [ 0x100096F ] }; key <AE10> { [ 0x1000966,0x1000970 ] }; key <AE11> { [ minus, 0x1000952 ] }; key <AE12> { [ equal, 0x100200C ] }; // q,w,e,r,t,y,u,i,o,p,[,] key <AD01> { [ 0x100091F, 0x1000920 ] }; key <AD02> { [ 0x100094C, 0x1000914 ] }; key <AD03> { [ 0x1000947, 0x1000948 ] }; key <AD04> { [ 0x1000930, 0x1000943 ] }; key <AD05> { [ 0x1000924, 0x1000925 ] }; key <AD06> { [ 0x100092F, 0x100091E ] }; key <AD07> { [ 0x1000941, 0x1000942 ] }; key <AD08> { [ 0x100093F, 0x1000940 ] }; key <AD09> { [ 0x100094B, 0x1000913 ] }; key <AD10> { [ 0x100092A, 0x100092B ] }; key <AD11> { [ 0x1000907, 0x1000908 ] }; key <AD12> { [ 0x100090F, 0x1000910 ] }; // a,s,d,f,g,h,j,k,l,;,',Backslash key <AC01> { [ 0x100093E, 0x1000906 ] }; key <AC02> { [ 0x1000938, 0x1000936 ] }; key <AC03> { [ 0x1000926, 0x1000927 ] }; key <AC04> { [ 0x1000909, 0x100090A ] }; key <AC05> { [ 0x1000917, 0x1000918 ] }; key <AC06> { [ 0x1000939, 0x1000905 ] }; key <AC07> { [ 0x100091C, 0x100091D ] }; key <AC08> { [ 0x1000915, 0x1000916 ] }; key <AC09> { [ 0x1000932, 0x1000933 ] }; key <AC10> { [ semicolon, colon ] }; key <AC11> { [ quoteright, quotedbl ] }; key <BKSL> { [ 0x1000950, 0x1000903 ] }; // z,x,c,v,b,n,m,,,.,/ key <AB01> { [ 0x1000937, 0x100090B ] }; key <AB02> { [ 0x1000921, 0x1000922 ] }; key <AB03> { [ 0x100091B, 0x100091A ] }; key <AB04> { [ 0x1000935, 0x1000901 ] }; key <AB05> { [ 0x100092C, 0x100092D ] }; key <AB06> { [ 0x1000928, 0x1000923 ] }; key <AB07> { [ 0x100092E, 0x1000902 ] }; key <AB08> { [ comma, 0x1000919 ] }; key <AB09> { [ 0x1000964, 0x1000965 ] }; key <AB10> { [ 0x100094D, question ] }; }; partial alphanumeric_keys xkb_symbols "olpc" { // Contact: Walter Bender <walter@laptop.org> include "np" key <TLDE> { [ 0x100091E, 0x1000965 ] }; // NYA; double danda key <AE01> { [ 0x1000967, JA_VIRAMA_NYA ] }; // Nepali digit one; U091C+U094D+U091E key <AE02> { [ 0x1000968, 0x1000908 ] }; // Nepali digit two; key <AE03> { [ 0x1000969, 0x1000918 ] }; // Nepali digit three; key <AE04> { [ 0x100096A, DA_VIRAMA_DHA ] }; // Nepali digit four; U0926+U094D+U0927 key <AE05> { [ 0x100096B, 0x100091B ] }; // Nepali digit five key <AE06> { [ 0x100096C, 0x100091F ] }; // Nepali digit six key <AE07> { [ 0x100096D, 0x1000920 ] }; // Nepali digit seven key <AE08> { [ 0x100096e, 0x1000921 ] }; // Nepali digit eight key <AE09> { [ 0x100096F, 0x1000922 ] }; // Nepali digit nine key <AE10> { [ 0x1000966, 0x1000923 ] }; // Nepali digit zero key <AE11> { [ 0x1000913, 0x1000914 ] }; // O, AU key <AE12> { [ 0x100200C, 0x1000902 ] }; // ZERO-WIDTH-NON-JOINER (ZWNJ); SIGN ANUSVARA key <BKSL> { [ 0x100094D, 0x100200D ] }; // SIGN VIRAMA; ZERO-WIDTH-JOINER (ZWJ) key <AD01> { [ TA_VIRAMA_RA, TA_VIRAMA_TA ] }; // U0924+U094D+U0930; U0924+U094D+U0924 key <AD02> { [ 0x1000927, DDA_VIRAMA_DDHA ] }; // DHA; U0921+U094D+U0922 key <AD03> { [ 0x100092D, 0x1000910 ] }; // BHA, AI key <AD04> { [ 0x100091A, DA_VIRAMA_VA ] }; // CA; U0926+U094D+U0935 key <AD05> { [ 0x1000924, E_VIRAMA_E ] }; // TA; U091F+U094D+U091F key <AD06> { [ 0x1000925, TTHA_VIRAMA_TTHA ] }; // THA; U0920+U094D+U0920 key <AD07> { [ 0x1000917, 0x100090A ] }; // GA, UU key <AD08> { [ 0x1000937, KA_VIRAMA_SSA ] }; // SSA; U0915+U094D+U0937 key <AD09> { [ 0x100092F, 0x1000907 ] }; // YA, I key <AD10> { [ 0x1000909, 0x100090F ] }; // U, E key <AD11> { [ RA_VIRAMA_ZWJ, 0x1000943 ] }; // U0928+U094D+ZWJ; VOWEL SIGN VOCALIC R key <AD12> { [ 0x1000947, 0x1000948 ] }; // SIGN E; SIGN AI key <AC01> { [ 0x100092C, 0x1000906 ] }; // BA, AA key <AC02> { [ 0x1000915, NGA_VIRAMA_KA ] }; // KA; U0919+U094D+U0915 key <AC03> { [ 0x100092E, NGA_VIRAMA_GA ] }; // MA; U0919+U094D+U0917 key <AC04> { [ 0x1000901, 0x100093E ] }; // CANDRABINDU, VOWEL SIGN AA key <AC05> { [ 0x1000928, DA_VIRAMA_DA ] }; // NA; U0926+U094D+U0926 key <AC06> { [ 0x100091C, 0x100091D ] }; // JA, JHA key <AC07> { [ 0x1000935, 0x100094B ] }; // VA, VOWEL SIGN O key <AC08> { [ 0x100092A, 0x100092B ] }; // PA, PHA key <AC09> { [ 0x100093F, 0x1000940 ] }; // VOWEL SIGN I, VOWEL SIGN II key <AC10> { [ 0x1000938, TTA_VIRAMA_TTHA ] }; // SA; U091F+U094D+U0920 key <AC11> { [ 0x1000941, 0x1000942 ] }; // VOWEL SIGN U, VOWEL SIGN UU key <AB01> { [ 0x1000936, KA_VIRAMA_KA ] }; // SHA; U0915+U094D+U0915 key <AB02> { [ 0x1000939, HA_VIRAMA_YA ] }; // HA; U0939+U094D+U092F key <AB03> { [ 0x1000905, U_R ] }; // A; U0909+U090B key <AB04> { [ 0x1000916, 0x1000950 ] }; // KHA, OM key <AB05> { [ 0x1000926, 0x100094C ] }; // DA, VOWEL SIGN AU key <AB06> { [ 0x1000932, DA_VIRAMA_YA ] }; // LA; U0926+U094D+U092F key <AB07> { [ 0x1000903, DDA_VIRAMA_DDA ] }; // SIGN VISARGA; U0921+U094D+U0921 key <AB08> { [ 0x100093D, 0x1000919 ] }; // SIGN AVAGRHA; NGA key <AB09> { [ 0x1000964, SHA_VIRAMA_RA ] }; // DANDA; U0936+U094D+U0930 key <AB10> { [ 0x1000930, RA_U ] }; // RA; U0930+U0941 include "group(olpc)" };
- Reboot your XO and use the Multiplication/Division key to change input language
- For some reason, switching language doesn't work for the Write activity. This can be solved using the preeti font. The language switching works fine in other activities like chat.
Installing/Removing activities
Installing Individual Activiities
- Boot your XO
- Open the Terminal Activity
- Insert the USB Key
- type "sugar-install-bundle <path of activity.xo>"
Activity Bundle
- Put activities to be installed in the /bundles directory of your USB Customization Key.
- While powering up the Laptop, press the X button
Removing Activities
- Activities are located in /home/olpc/Activities
- cd /home/olpc/Activities
- rm -r <Activity-name>.activity
SUPPORT AND MAINTENANCE
- Support Training Guide
- Familiarize yourself with disassembling the laptop, replacing parts etc.
- Always carry a USB key with the followinf files:
- The Customization Key 2 unpacked to the root of the USB Key.
- All the activities that are to be deployed in the folder /bundles.(eg. /bundles/Write_Activity.xo)
- The Developer Key (develop.sig) in /security. (eg /security/develop.sig)
- Other required rpms, fonts etc.
- Test all components of the XO by typing "test-all" at forth.
- Test individual component of the XO with "test <device-name>" at forth.
- We will show the teachers how to perform basic maintenance and give periodic short courses to the students on laptop maintenance. Rather create a fully structured maintenance plan, we want to see who at the school shows the most affinity for laptop maintenance, students or teachers. We don't want to arbitrarily select local people to do the maintenance until we get a sense of who has an interest and talent for it. In short, we are putting People before Process.
Who do we train for local support?
Training given to local support?
Tools given to local support?
Spare parts/ extra laptops given to local support?
How often do maintenance teams visit the school?
ORIENTATION/TRAINING
Excerpts From OLE Nepal blogs
- Saurav Dev Bhatta, Bipul Gautam, and Kamana Regmi designed the teacher training program. Sulochan Acharya and Bryan Berry provided technical assistance. Bipul is the lead teacher trainer and is steeped in the theories and practices of different educational schools but Vygotskian Social Cognition and Piaget’s theories of development have influenced him the most.
- The Classroom Setup. We have the teachers facing each other just as we want the students to face each other in the classroom. This will reduce the risk of XO’s falling forward off the front of their narrow desks.
- Day One
- The first day of training focused on basic use of the XO and its functions. Saurav spent a lot of time explaining the functions of the different keys on the keyboard. This was much appreciated by many of the teachers who had minimal experience with computers. Later in the day, Saurav led the teachers in exploring E-Paati and other activities on the XO.
- Day Two
- On the morning of the second day Bipul focused on the theories of Piaget and Vygotsky that underpin constructionism. The afternoon of the second day returned to the activities in the XO and how they reflect the ideas of Piaget and Vygotsky.
- Day Three
- Day four ???
- We hope to steadily build up to using Etoys and programming tools as standard parts of training and teaching/learning.
- We have 4 days off-site of teacher training, followed several weeks later by 3 days on school premises
- Several teachers from both schools approached us and told us that they would like to set up regular meetings between teachers at both schools so that they can support each other and share solutions.
- http://blog.olenepal.org/index.php/archives/193
- http://blog.olenepal.org/index.php/archives/184
Orientation Program for Parents and other stakeholders
materials required for teacher training? (multiplugs, xo's, board etc)
feedback of teachers from the previous teacher training?
training of the trainers?
TRAINERS TRAINING
RECRUITING AND TRAINING INTERNS
- A basic understanding of Linux and some commands is vital. A good guide is the Rute User's Tutorial and Exposition by Paul Sheer. http://rute.2038bug.com/index.html.gz.
- Interns must be familiar with disassembling and reassembling the laptop along with replacing and testing components etc.
- Interns should be independent and capable of using the internet and other sources to find solutions as far as possible.
- Interns should be familiar with the E-Paath software along with other activities that are to be included in the deployment.
- Interns should know how to add/remove individual activities, install an image, add/remove fonts and other basic.
- Interns should create a 'Hello World Activity' in sugar.
Other training to interns?
Recruiting interns?
Plans for the (stress lab)?
A training plan for interns?
CONNECTIVITY
- Change the name of the server in the XS. (eg.bashuki.xs.olenepal)
- Security and vulnerabilities. http://blog.olenepal.org/index.php/archives/313
required materials/software? time taken to set up? concept of the network?
CUSTOMIZING XO'S
See LOGISTICS first. Basic customization is covered there.
Customizing 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
- Power off
- 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
- 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
Additional Customization
- Install the Language Pack
- Install the script.
Additonal RPM's
- RPM's to display 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
- 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
- Flash 9 plugin
- rpm -ivh <flash-plugin-rpm-name>.rpm
Activity Ordering
OBSOLETE IN BUILD 767 ??? 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
INTEGRATION
POWER
Power available to school?
Current xo power consumption?
Number of sockets required per classroom? or charging rack?
Coping with load shedding and power spikes?
Power required for the school server?
CONTENT DEVELOPMENT
Number of people involved?
Number of activities per time (eg per month)?
Activity details? Activity platform? Flash? Squeak?