Linaro Image Tools

Linaro provides a suite of tools used for creating images. The tools create Ubuntu and Android images. The most commonly used tools are linaro-media-create and linaro-android-media-create.

Typically, Hardware Packs contain the hardware specific components such as boot loader, kernel and device tree blob. The root file system contains the hardware independent software such as X, utilities, and graphical work environment such as GNOME. Here is a list of all the root file systems linaro released for Oct, 2012 cycle

Linaro Media Create - aka "lmc" or "l-m-c"

This tool is used to combine a hardware pack (--hwpack) and a root filesystem (--binary) to make bootable image, usually on an SD card.

usage: linaro-media-create [-h] [-v] [--mmc DEVICE | --image-file DEVICE]
                           [--output-directory DIRECTORY] [--read-hwpack]
                           [--dev {fastmodel,overo,vexpress,ux500,igep,mx51evk,smdkv310,i386,snowball_emmc,snowball_sd,beagle,efikamx,origen,mx6qsabrelite,efikasb,mx53loco,vexpress-a9,panda}]
                           [--rootfs {ext2,ext3,ext4,btrfs}]
                           [--rfs-label RFS_LABEL] [--boot-label BOOT_LABEL]
                           [--swap-file SWAP_FILE] [--live | --live-256m]
                           [--console CONSOLES] --hwpack HWPACKS
                           [--hwpack-sig HWPACKSIGS] [--hwpack-force-yes]
                           [--image-size IMAGE_SIZE] [--binary BINARY]
                           [--binary-sig BINARYSIG] [--no-rootfs]
                           [--no-bootfs] [--no-part] [--align-boot-part]
                           [--nocheck-mmc] [--bootloader BOOTLOADER]
                           [--extra-boot-args EXTRA_BOOT_ARGS]
                           [--extra-boot-args-file EXTRA_BOOT_ARGS_FILE]

l-m-c specific arguments

l-m-c deals with "standard Linux" style images, created as a hardware pack and a root filesystem. Therefore, its parameters reflect this:

--hwpack

Specifies the filename of the hardware pack you wish to use. Usually, this is a file downloaded from Linaro's Download pages.

--binary

Specifies the filename of the root filesystem you wish to use. Usually, this is a file downloaded from Linaro's Download pages.

--rootfs

This parameter allows you to specifiy which format your root filesystem will use. Older kernels for example may only support ext2. Most modern kernels will be build with ext4 and this is a commonly used setting.

Example command

Note how the command is prefixed with "sudo". This is because most common Ubuntu desktop setups require the user to have superuser priviledges in order to write to the SD card device.

Linaro Android Media Create - aka "lamc" or "l-a-m-c"

This tool is similar to the lmc in that it combines several components (boot.tar.bz2,system.tar.bz2, and userdata.tar.bz2) to generate bootable Android images.

usage: linaro-android-media-create [-h] [-v]
                                   (--mmc DEVICE | --image-file DEVICE)
                                   [--image-size IMAGE_SIZE] --dev
                                   {vexpress,snowball_emmc,mx6qsabrelite,vexpress-a9,panda,iMX53,smdkv310,snowball_sd,beagle,origen,mx53loco}
                                   [--boot-label BOOT_LABEL]
                                   [--console CONSOLES] --system SYSTEM
                                   --userdata USERDATA --boot BOOT [--no-part]
                                   [--align-boot-part]
                                   [--extra-boot-args EXTRA_BOOT_ARGS]
                                   [--extra-boot-args-file EXTRA_BOOT_ARGS_FILE]

l-a-m-c specific arguments

--boot

Specifies the filename of the boot tarball, usually downloaded from Linaro's Downloads page as boot.tar.bz2

--system

Specifies the filename of the system tarball, usually downloaded from Linaro's Downloads page as system.tar.bz2

--userdata

Specifies the filename of the userdata tarball, usually downloaded from Linaro's Downloads page as boot.tar.bz2

Example command

sudo linaro-android-media-create --mmc /dev/sdX --dev vexpress --system system.tar.bz2 --boot boot.tar.bz2 --userdata userdata.tar.bz2

Note how the command is prefixed with "sudo". This is because most common Ubuntu desktop setups require the user to have superuser priviledges in order to write to the SD card device.

Common aguments

Both l-m-c and l-a-m-c take a core set of arguments that are commonly used to build an image:

--dev

This is used to tell the image tools the name of the device you're creating the image for.

--mmc

This is used to specify the path to the MMC/SD card device on your machine. Common paths are /dev/sdc or /dev/mmcblk0, but you need to check your system to make sure you use the correct one or you may accidentally erase your hard drive!

--bootloader

Since 12.09, Linaro images are able to contain one or more flavours of bootloader, eg. u-boot and/or UEFI. This parameter allows the user to specify which bootloader they would like in their image. Many boards run the bootloader directly off the image, so this parameter can be very important to ensure you boot your system in the recommended way.

Linaro-Image-Tools (last modified 2012-10-24 15:16:17)