OLE Nepal/Deployment guide

From OLPC
< OLE Nepal
Revision as of 01:53, 7 November 2008 by Pradosh (talk | contribs) (OLE Nepal: Deployment guide moved to OLE Nepal/Deployment guide over redirect: remove colon from page name)
Jump to: navigation, search

Logistics

  1. Ask OLPC to install the developer keys and install our custom image before the laptops get here.
  2. Check with OLPC if the laptop keyboards have been localized.
  3. If possible, count the number of XO's at the airport and note any physical damage
  4. Transport XO's to storage area
  5. 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)
  6. 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.
  7. 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)
  8. Activate all laptops. (http://wiki.laptop.org/go/Activation_and_Developer_Keys#Getting_devkey_data_via_USB_stick)
  9. Power up a laptop and hit the ESC key. At the OK prompt, type "test-all". This will test all components of the laptop.
  10. 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.
  11. At the OK prompt, type "change-tag LO ne_NP.UTF-8" to change the locale to Nepali.

Update firmware/ Install image

  1. To update firmware type "flash u:\XXXX" where XXXX is the filename including the extension of the firmware.
  2. 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.
  3. 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

  • Change the Default Jabber Server value to your server by changing 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"
  • I took the part of the file from Here and modified "key <AC12>" to "key <BKSL>"
  • Change the file "/usr/share/X11/xkb/symbols/np" to the following:
 // $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

Transporting XO's to the deployment schools

  • We transported the XO's for our pilot schools in a truck.
  • Number of XO's was (around 150 XO's for both pilot schools).
  • No definitive plan yet for future deployments.


Support and Maintenance

  1. Support Training Guide
  2. Familiarize yourself with disassembling the laptop, replacing parts etc.
  3. Always carry a USB key with the following 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.
  4. Test all components of the XO by typing "test-all" at forth.
  5. 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 (We need to procure extra batteries and extra power cords)?
Possibility of using third party chargers and batteries?
Extra laptops given to local support?
How often do maintenance teams visit the school?

Training/Orientation

Teacher 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

Trainers Training

  • Trainers will be from the NCED, the national teacher training body.

Recruiting and Training Interns

  • Volunteer who have just graduated for Class 12 / A levels are targeted.
  • Volunteers will be largely responsible for setting up the infrastructure of the deployment schools, basic troubleshooting etc supported by engineers from OLE Nepal.
  • Prospective volunteers will undergo three/four months of intensive training.
  • Number of volunteers will be around ten
  • Training venue not fixed, not enough space in the office.

Volunteer/Intern Training

  1. 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.
  2. Interns must be familiar with disassembling and reassembling the laptop along with replacing and testing components.
  3. Interns should be independent and capable of using the internet and other sources to find solutions as far as possible.
  4. Interns should be familiar with the E-Paath software along with other activities that are to be included in the deployment.
  5. Interns should know how to add/remove individual activities, install an image, add/remove fonts and other basic knowledge.
  6. Interns should create a 'Hello World Activity' in sugar. -???
  7. Trainees should be able to edit and create wiki pages.
  8. Trainees should be familiar with documenting their work on the wiki.

Other training to interns?
Recruiting interns?
Plans for the (stress lab)?
A training plan for interns?

Connectivity

required materials/software? time taken to set up? concept of the network?

Customizing the XO

See Logistics first. Basic customization is covered there.

Customizing Build

  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

We need a list of activities we are going to use.
Testing of the activities with the build we are going to use.


Additional Customization

Essential 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

Flash 9

  • rpm -ivh <flash-plugin-rpm-name>.rpm

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

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?

Timeline

  • Date?? Select schools for Spring pilots
  • Date?? Visit schools to assess readiness and particular needs regarding power and connectivity
  • Date?? Arrange Internet access for the schools
  • Date?? Determine locations for off-site teacher training
  • Date?? Hold Teacher training
  • Date?? April 15th (approximately) school starts