Imaging for XO-1.5: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:
You might do this in order to rapidly deploy a customised image, using fs-update or [[Nandblaster_for_XO-1.5]].
You might do this in order to rapidly deploy a customised image, using fs-update or [[Nandblaster_for_XO-1.5]].


== Method 1 - Internal microSD ==
== Know the image size ==


*identify the .zd file you are starting with,
*prepare the image on the laptop's internal microSD, e.g. by installing a build and making changes, remove the [[Imaging/Side_effects]] files, and then shutdown,
*read the first line of the file to determine the amount of space taken by the image,
$ head -1 os304.zd
zblocks: 20000 7331

These values are hex. They represent a block size of 131072 decimal, and a block count of 29489 decimal. These are used below.

== Prepare image ==

You may prepare the image on the internal microSD, or an external SD card. See the appropriate subsection below.

=== Internal microSD ===

*prepare the image on the laptop's internal microSD, e.g. by installing the build and making changes, remove the [[Imaging/Side_effects]] files, and then shutdown,
*boot from external SD or use a USB booted Linux such as Tiny Core Linux, see http://lists.laptop.org/pipermail/devel/2010-August/029467.html
*boot from external SD or use a USB booted Linux such as Tiny Core Linux, see http://lists.laptop.org/pipermail/devel/2010-August/029467.html
*capture the image
*capture the image


cat /dev/mmcblk0 > fs.img
$ dd if=/dev/mmcblk0 if=fs.img bs=131072 count=29489


== Method 2 - External SD ==
=== External SD ===


*prepare the image on a removable SD, e.g. by installing a build to the removable SD and making changes, remove the [[Imaging/Side_effects]] files, and then shutdown,
*prepare the image on a removable SD, e.g. by installing the build to the removable SD and making changes, remove the [[Imaging/Side_effects]] files, and then shutdown,
*remove the SD card and insert into a running system, identify the block device from /proc/partitions,
*remove the SD card and insert into a running system, identify the block device from /proc/partitions,
*capture the image
*capture the image


cat /dev/mmcblk1 > fs.img
$ dd if=/dev/mmcblk0 if=fs.img bs=131072 count=29489


== Convert to ZD ==
== Convert to ZD ==

Revision as of 03:59, 5 August 2010

XO-1.5 only.

How to build your own operating system image file, by extracting an image from a laptop and using our tools to convert to the format required by the firmware.

You might do this in order to rapidly deploy a customised image, using fs-update or Nandblaster_for_XO-1.5.

Know the image size

  • identify the .zd file you are starting with,
  • read the first line of the file to determine the amount of space taken by the image,
$ head -1 os304.zd
zblocks: 20000 7331

These values are hex. They represent a block size of 131072 decimal, and a block count of 29489 decimal. These are used below.

Prepare image

You may prepare the image on the internal microSD, or an external SD card. See the appropriate subsection below.

Internal microSD

$ dd if=/dev/mmcblk0 if=fs.img bs=131072 count=29489

External SD

  • prepare the image on a removable SD, e.g. by installing the build to the removable SD and making changes, remove the Imaging/Side_effects files, and then shutdown,
  • remove the SD card and insert into a running system, identify the block device from /proc/partitions,
  • capture the image
$ dd if=/dev/mmcblk0 if=fs.img bs=131072 count=29489

Convert to ZD

  • build a .zd file of the image:
# yum install git make gcc zlib-devel libtomcrypt-devel
$ git clone git://dev.laptop.org/bios-crypto
$ cd bios-crypto/build
$ make zhashfs
$ ./zhashfs 0x20000 sha256 fs.img fs.zsp fs.zd
(this takes a fair while if run on XO-1.5 hardware, but block number progress feedback is provided)
  • test install the image using fs-update.