Firmware/Storage: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Created page with 'Firmware commands that work with internal storage. == fs-update == * installs a .zd file to the internal storage, * verifies the block hashes in the .zd file against the block …')
 
No edit summary
Line 3: Line 3:
== fs-update ==
== fs-update ==


The ''fs-update'' command has two variants; ''signed'' and ''unsigned''.
* installs a .zd file to the internal storage,

* verifies the block hashes in the .zd file against the block data in the .zd file,
=== signed ===

* triggered by four game key hold during startup,
* searches for fs.zip or fs''N''.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-update ''filename''


== fs-verify ==
== fs-verify ==

* verifies internal storage against the signed install .zip file,

fs-verify ''filename''


== fs-save ==
== fs-save ==

* writes an .img file using the internal storage as source,


== fs-resize ==
== fs-resize ==
Line 23: Line 42:


== Signed Install ==
== Signed Install ==

* searches for fs.zip or fs''N''.zip where N is the model tag,
* verifies the signature in the .zip file,
* does an ''fs-update'' verifying the block hashes in the .zip file against the block data in the .zd file,


== To Be Merged ==
== To Be Merged ==
Line 40: Line 55:
----
----


== Recipes ==
=== How to make an image copy of internal storage of an XO-1.5 or XO-1.75 ===

=== How to make an image copy of internal storage ===


* determine the size of the internal storage, as shown by ''banner'', usually 4GB,
* 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,
* 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,
:*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,

Revision as of 00:49, 20 August 2013

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,

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.