1OLPC XO Laptops 2=============== 3 4This document explains how to build and run images that run on the OLPC 5XO laptops. 6 7Supported models 8---------------- 9 10* OLPC XO-1 11 The original NS Geode based OLPC laptop, uses the x86 architecture. 12 Can be booted either from an internal MTD device formatted with JFFS2 13 or from a FAT or EXT4 partition on a SD card or a USB flash stick. 14 15* OLPC XO-7.5 16 The ARM-based laptop. Needs a recent enough firmware to provide a good 17 enough flattened device tree to the kernel. Can be from a FAT or EXT4 18 partition on a internal eMMC, a SD card or a USB flash stick. 19 20Configure and build 21=================== 22 23 $ make olpc_xo1_defconfig # Configure for XO-1 24 25or: 26 27 $ make olpc_xo175_defconfig # Configure for XO-1.75 28 29Then: 30 31 $ make menuconfig # Customize the build configuration 32 $ make # Build 33 34Preparing the machine 35===================== 36 37Firmware security 38----------------- 39 40Most OLPC machines were shipped with the security system that disallows 41booting unsigned software. If this is the case with your machine, in order 42to run the image you've built on it you'll need to get a developer key and 43deactivate the security system. 44 45The procedure is descriped in the OLPC wiki: 46http://wiki.laptop.org/go/Activation_and_Developer_Keys 47 48Firmware upgrade 49---------------- 50 51It is always preferrable to use an up to date firmware. The firmware images 52are available at http://wiki.laptop.org/go/Firmware. For the XO-1.75 laptop 53to boot the mainline kernel a firmware Q4E00JA or newer is needed. You can 54get it at http://dev.laptop.org/~quozl/q4e00ja.rom. 55 56To update the firmware, place the .rom file on to your bootable media, 57connect a charged battery pack and a wall adapter, and enter the Open 58Firmware prompt by pressing ESC during the early boot (needs an unlocked 59laptop -- see "Firmware security" above). Then use the "flash" command 60to update the firmware: 61 62 ok flash ext:\q4e00ja.rom \ Flash the "q4e00ja.rom" from the SD card 63 ok flash u:\q4e00ja.rom \ Flash the "q4e00ja.rom" from USB stick 64 65Create the bootable SD card or USB flash stick 66============================================== 67 68When the build is finished, an image file called "sdcard.img" will be created. 69It is suitable for writing directly to a SD card, USB flash stick or (on a 70XO-1.75) the internal eMMC flash. 71 72Before writing the image, please double check that you're using the right 73device (e.g. with "lsblk" command). Doing the following will DESTROY ALL DATA 74that's currently on the media. 75 76 # cat output/images/sdcard.img >/dev/<device> 77 78Flashing the JFFS2 image (XO-1 only) 79==================================== 80 81Unlike XO-1.75, the internal NAND flash on XO-1 is accessed without a 82FTL and needs a flash-friendly filesystem. A build configured for XO-1 83creates a file named "root.jffs2" that can be written to it. 84 85One way to write it is from the Open Firmware prompt. First, partition 86and format a USB flash disk with a FAT file system and place the 87"root.jffs2" file onto it. Then power on the machine, enter the 88Open Firmware port by pressing the ESC key and run the following: 89 90 ok patch noop ?open-crcs copy-nand \ Disable CRC check 91 ok copy-nand u:\root.jffs2 92 93Booting the machine 94=================== 95 96Once your machine is unlocked, it will automatically boot from your media 97wherever it will detect it attached to the USB bus or the SD card slot, 98otherwise it will proceed booting from the internal flash. 99