Autoreinstallation image
Automatic Reinstallation Image
We've worked very hard to make it as easy as possible to update a machine in the field. Until network boot and update is available, this is as easy as it can get.
If you have a new B1 system, it is very important to use this procedure first; do not try to use the new "netnandwrite" tool first. The reason is that this procedure automatically fixes a manufacturing error in the identification data that was stored in the system firmware FLASH, and updates the firmware, neither of which is done by the network-based tool.
NOTE: this procedure creates a USB flash key or disk that when booted on an OLPC laptop, updates its BIOS and installs (OVERWRITES) an operating system image onto NAND flash. NEVER boot this USB flash key or disk unless you intend to update your system, which will entirely erase anything you had on the flash memory of the system.
This procedure works for all types of OLPC hardware, from A-test through B1 systems. It works with both Open Firmware and Linux-as-BIOS installations - but does not work with Insyde BIOS. If you are still running Insyde BIOS, you will first have to upgrade the firmware using procedures described elsewhere.
System Update Procedure
Before you start: plug in your machine and ensure the battery is charged. It is very important that the update process not be interrupted.
- Download the file http://dev.laptop.org/~wmb/olpc193_A54.zip.
- Get a USB flash key or disk with at least 200 MiB of free space in the primary partition (it doesn't have to be partitioned at all). If your system current has Open Firmware, the filesystem can be either FAT (like a factory-formatted device) or ext2. But it will not work if it partitioned such that the partition type code says "82" (Linux ext) but the actual filesystem inside the partition is FAT. If your system has Linux-as-BIOS, the USB device must have an ext2 filesystem.
- Unzip the files at the root of the USB flash key or disk drive, thus creating a directory called "boot". (If you drag and drop the files from the zip archive, you'll have to create the "boot" directory manually on the flash or disk drive.) Three files must be in the directory named "boot", for the automatic update to occur: q2a54.rom; nand193.img; and olpcboot.fth. Do not use a flash key or disk for which there have been any errors reported during unzipping: the files may (probably are) damaged. As a further safeguard, the OLPC OFW BIOS checks the integrity of any BIOS flash image before reflashing the BIOS.
- Insert the USB flash key into the machine. If you have Open Firmware, just turn on the power. If you have Linux-as-BIOS, hit ESC when you see the boot progress bar, then choose the USB key icon and hit Enter.
You will see messages like those in the following section as the system is updated. NAND flash always has some bad blocks: the "Skipping bad block" messages during writing NAND flash are therefore normal, informing you of the bad blocks that will never be used by Linux.
The system will automatically poweroff.
If anything goes wrong DO NOT TURN OFF THE MACHINE but please get help from OLPC, preferably immediately on IRC or by email.
Congratulations: you are finished! You can power the machine back on and start use.
Transcript of System Update
Type any key to interrrupt startup Erasing 0 Writing f000 Updating firmware Reading disk:\boot\q2a54.rom Got firmware version: CL1 Q2A54 Q2A Checking integrity ... SPI FLASH is type 13 - Spansion, Winbond, or ST Merging existing manufacturing data Erasing 0 Writing ff000 ... Done Checking existing OS image on NAND FLASH Updating OS image on NAND FLASH Erasing 1d00 Skipping bad block at 0xea000 = page 0x1d40 = eblock 0x75 4ec0 Skipping bad block at 0x2780000 = page 0x4f00 = eblock 0x13c 3ff40 Writing 57a Done Automatic power off in 5 seconds. Please remove the USB disk.
Possible Problems
- It is better if the USB disk is not partitioned. If it is partitioned:
- The partition type must agree with the filesystem type - a FAT filesystem inside a partition marked ext2 won't work
- The updater files should be in the partition that is marked as "bootable", or if there isn't one, in the first partition.
- The main files (olpcboot.fth, nandNNN.img, q2aNN.rom) must be in the boot/ subdirectory. That will happen automatically if you "unzip" the archive, but if you drag-and-drop from a file manager like file-roller, it is possible to put them anywhere, and that won't work. Those files must be in boot/ . (The bzImage file, which is needed to support upgrading from Linux-as-BIOS, goes in the root directory.)
- The current Open Firmware releases do not support USB keys that identify themselves as class "mass_storage/removable", as opposed to the more common "mass_storage/scsi", which is supported. (The fix for this problem is in the release pipeline, but that doesn't help for upgrading from existing firmware.) The way to check for this is to insert your USB key, power-on the system and stop the auto-boot by typing a key at the countdown. Then look at the list of "USB2 devices". If you see an entry like "/pci/usb@f,5/scsi@1,0/disk", all is well. The important thing is the word "scsi"; the number after the @ will change depending on which port it is in. If you don't see such an entry, the best thing is to try and get a different USB device. If you just can't, try contacting Mitch_Bradley on IRC freenode #olpc . I might be able to walk you through a hot-patch that will get the job done, but it is tedious and I'd rather make progress on my other tasks.