Customizing NAND images
This document describes how to create a jffs2 image from a laptop's internal NAND, producing an image that can be flashed onto a different XO. The laptop that is being backed up is the "host" laptop, and the laptop receiving the contents of the host laptop is the "target" laptop.
Basic Procedure
Steps:
- Make the modifications on the host laptop that you want to be present in the generated image. If you've logged into sugar and want the user to see the welcome/login prompt again, you can rm /home/olpc/.sugar/default/config.
- Insert a Windows-formatted (VFAT) USB disk into the host laptop, and reboot.
- At the "Type any key to interrupt automatic startup" key, press a key. At the "ok" prompt, type "save-nand disk:\nand.img" and press return. The contents of the NAND will be backed up to the nand.img file on the USB disk. The "ok" prompt will return when the copy has finished, and you can then power the laptop off with the power button.
- Move to the "target" laptop, and insert the USB disk. Again, interrupt at the prompt, and at the ok prompt type "copy-nand disk:\nand.img". This will copy from nand.img to the internal NAND. When back at the ok prompt, power off, remove the usb disk, and power on again to load from the new NAND image.
Example Customizations
Language
Sometimes you may want to define the default language for the system, either for use or while localizing.
The /etc/sysconfig/i18n file defines the LANG variable that Sugar will use.
Keyboard
If something went wrong in the software installation, or the manufacturing data does not match the actual keyboard in the system, you could conceivably have to set the keyboard type or change the language toggling to suite your needs.
No English language input is possible on the default image targeted at non-Latin-based languages (e.g. Arabic and Thai). To enable English input on those machines, follow the following steps:
- After the system has booted, press ctrl+alt+f1
- Login in as root (no password required)
- Open the file /etc/X11/xorg.conf for editing (use vi or any editor you are comfortable with)
- In the first InputDevice section do the following modifications:
- Modify XkbLayout setting from "us" to "us,ara" (for Arabic—use other symbol files for other languages)
- Add an XkbOptions option with the value "grp:ctrl_shift_toggle"
- Save and close the file
- Either reboot the machine or restart X by issueing a "/sbin/telinit 3" command and then "/sbin/telinit 5"
After you make the modifications, the two lines in xorg.conf should be similar to the following
Option "XkbLayout" "us,ara" Option "XkbOptions" "grp:ctrl_shift_toggle"
After X is restarted, the default language will be english (that can be changed by swapping us and ara above), and you will be able to switch between languages using the ctrl+shift key combination.
Installing packages from the Fedora repositories using yum
Sugar is based off of Fedora and as such has a large amount of packages available to add to the base system. The tool used to do this is called yum. Because of memory constraints it is best to drop into run mode 3 which stops X. To do this log in as root either in the developer console or one of the virtual terminals and type this command:
init 3
X should exit and you should find yourself either at a login prompt or in the same virtual terminal. Log in as root if you are not already. To install or upgrade a package you simply use this command:
yum upgrade <package name>
To search for available packages you can use this command:
yum search <keyword>
More information about yum and fedora can be found here.
Installing Flash, Java, MP3 codecs, MPEG4, Patented Codecs
These Restricted Formats have problems that makes it difficult or impossible for OLPC to preinstall, but you may be able and interested in deploying systems with these preinstalled.
Helix (Real) Media Player
The Helix media activity page covers installation of this activity and its associated codecs.