How to (hack) customize a built for XO.

The problem we faced: We needed a customized built for all our XOs that would have the default language set to Nepali, the default jabber server set to a local server, a set of activities to match the grade level of students, and some other stuff. We’ve been harassing OLPC developers to get a script that would do all this on install time so that we didn’t have to manually do this on every machine. Also, we wanted to make sure that a teacher with limited technical knowledge should be comfortable in re-flashing the XO if/when needed.

The solution: After playing with it for a little bit and with some help from Ties, I figured out a really easy way to achieve this custom built (provided that you can get into the firmware). Well, not really a custom built—but will do the job just fine.

Here is how:

Get a XO and install the activities you want and change the language and jabber server to match you needs.

  1. You can use the USB method or use sugar command to install activities.

  2. To change your jabber server by editing the default sugar profile

  3. Change the language to your language by either editing the .i18n file or by using sugar-control-panel -s language <your language> command.

Now, go to /home/olpc/.sugar/default directory, and delete a file named config . The reason to do this is so that next time you use this image on other XO s they can put in their own nickname and not have to use your name. This is the file that will be checked by sugar to see if a user named is configured, if this file is not present, it will prompt you to give your XO a name and choose color etc.

Next reboot the XO , press the x button and get into the firmware.

Now make a nand image of this machine on a USB stick with the save-nand command. It will create a img and a crc file associate with the image.

Wa la …we got what we wanted. An image that can be installed on our XO with the language, activities and server we wanted. All we have to do is just install this image on all other XO s to get the exact same settings. This simplified the process, and is pretty easy for everyone to do. We are using 698 built as a base so we still had to go the firmware and do a copy-nand to install the image. It will be great if someone can make a for this built so that the whole process of installing goes back to pressing four game keys.

What are the drawbacks of doing this? I don’t know :)!! If anyone does leave a comment.

Let me know what you guys think.

2 Responses

  1. Bryan Berry March 23, 2008 / 6:23 pm

    Hey dude! You forgot to mention how you changed the default Jabber server.

    To change the Default Jabber server, change the variable DEFAULT_JABBER_SERVER to your Jabber server in the file


  2. Sulochan Acharya March 27, 2008 / 9:40 pm

    I had missed this before but the “buddy-icon.jpg” file also needs to be removed.

    # rm /home/olpc/.sugar/default/buddy-icon.jpg

Leave a Reply

Your email address will not be published. Required fields are marked *