OLE Nepal/Deployment guide/Customizing

From OLPC
Jump to: navigation, search

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.

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.


Adding Nepali to Speak Activity

  1. Install the latest espeak in your desktop
  2. Copy the folder "espeak-data" to /usr/share/ directory in the XO
  3. Add the line "translator hi" at the end of this file "/usr/share/espeak-data/voices/ne"

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