OS image builder tools
The image tools are a set of scripts used for building the OS 'firmware' images for the OLPC platform. They take a YUM repository as input, and generate a disk image as output, which can then be copied to the flash, or run within the simulator .
- Use the YUM tool to install a chroot containing a minimal set of packages from the upstream Fedora OLPC repository.
- Use a black/white list to strip out files which are either not required at all (man pages, documentation, etc) or to be distributed separately (locales, charsets, fonts).
- Setup basic system configuration make the basic OS services run without needing further admin configuration
- Generate initial ramdisk for booting the images under a variety of scenarios, such as real hardware, host PC, or simulator.
- Generate a JFFS2 filesystem containing all the files from the (stripped) chroot
- Create a file to representation the master disk image & partition as needed.
- Copy the JFFS2 filesystem into the disk image
- Setup the bootloader on the MBR
During the course of this process data is collected on various aspects of the system, such as RAW per-directory disk usage, per-directory disk usage in compressed JFFS2 image, disk usage associated with each source RPM after file stripping & JFFS2 compression. These reports both, allow day-to-day development progress to be tracked, and enable easier identification of areas of the OS image which will require further space optimizaiton.
At this time the image tools produce a hard disk image which can be either run in the simulator, or copied to a USB flash memory stick for direct boot. It is also desirable to be able to create VMDK images for VMWare, and ISO images to act as a Live CD demo.