Firmware/Storage

From OLPC
< Firmware
Revision as of 02:52, 20 August 2013 by Quozl (talk | contribs)
Jump to navigation Jump to search

Firmware commands that work with internal storage.

fs-update

The fs-update command has two variants; signed and unsigned.

signed

  • triggered by four game key hold during startup,
  • searches for fs.zip or fsN.zip where N is the model tag; this file must be present on boot media,
  • verifies the signature in the .zip file,
  • installs the .zd file to the internal storage, verifying the block hashes in the .zip file against the block data in the .zd file,
  • reboots automatically on completion,

unsigned

  • installs a .zd file to the internal storage, verifying the block hashes in the .zd file against the block data in the .zd file,
  • does not require or use the .zip file,
  • does not reboot on completion.
fs-update filename

fs-verify

  • verifies internal storage against the signed install .zip file,
fs-verify filename

fs-save

  • writes an .img file using the internal storage as source,
  • is very slow, intended for diagnostic use only.

fs-resize

devalias fsdisk

  • used before an fs-update, fs-verify, or fs-save chooses which storage device will be used,
  • defaults to the internal storage,
  • is typically with external SD card slot,
devalias fsdisk ext:0

Signed Install

To Be Merged

How to install a 2GB build on a 4GB or 8GB machine

  • use fs-update to install the 2GB build,
  • use fs-resize to resize the partition that holds the root filesystem,
  • boot the build,
  • use resize2fs /dev/mmcblk0p2 to resize the root filesystem to the new size of the partition.

An interim fix until <trac>10040</trac> is fixed.


Recipes

How to make an image copy of internal storage

  • determine the size of the internal storage, as shown by banner, usually 4GB or 8GB,
  • choose a USB flash drive, USB hard drive, or SD card that is larger than the internal storage size,
  • filesystems add some overhead, so it might not be possible for a 4GB USB flash drive to hold the 4GB internal storage of an XO,
  • choose ext2 or FAT filesystems for best compatibility with Open Firmware,
  • choose a filesystem that has no critical data on it already, unless you already have copies of the data,
  • use the fs-save command to make the image copy, for example:
ok fs-save u:\os.img

The screen will fill with grey blocks, and these will turn red indicating progress.

The process is very slow, typically 15 minutes for 4GB to a USB HDD, or three hours over NFS over USB ethernet. Use Tiny Core Linux (XO-1.5) or olpc-rescue for a faster process.

The image can be used for diagnosis. It may be converted to .zd for use by fs-update using the zhashfs program included in olpc-os-builder.