Add Packages To Ubuntu Preinstalled Images

From OMAPpedia

(Difference between revisions)
Jump to: navigation, search
(Mounting the pre-installed rootfs: Added fdisk output)
(Added link to pre-installed images)
Line 1: Line 1:
Ubuntu delivers pre-installed images for OMAP3 and OMAP4, in particular on [http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/ http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/].
Ubuntu delivers pre-installed images for OMAP3 and OMAP4, in particular on [http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/ http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/].
-
These images are much faster to install (10 to 20 minutes) than standard "live" images (up to several hours). That's why these images for shipped by default. See [http://testcases.qa.ubuntu.com/Install/ARM/PreinstalledImage this page] for details.
+
These images are much faster to install (10 to 20 minutes) than standard "live" images (up to several hours). That's why these images for shipped by default. See [https://wiki.ubuntu.com/ARM/OMAPMaverickInstall this page] and [http://testcases.qa.ubuntu.com/Install/ARM/PreinstalledImage this page] for details.
Here are instructions to add your own packages to the pre-installed images. They assume that sufficient space is available. At the moment, the pre-installed root partition has 200-300 MB of free space.
Here are instructions to add your own packages to the pre-installed images. They assume that sufficient space is available. At the moment, the pre-installed root partition has 200-300 MB of free space.

Revision as of 07:56, 16 September 2010

Ubuntu delivers pre-installed images for OMAP3 and OMAP4, in particular on http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/.

These images are much faster to install (10 to 20 minutes) than standard "live" images (up to several hours). That's why these images for shipped by default. See this page and this page for details.

Here are instructions to add your own packages to the pre-installed images. They assume that sufficient space is available. At the moment, the pre-installed root partition has 200-300 MB of free space.

Contents

Requirements

You need to run the below manipulations on an armv7 board (like OMAP3 and OMAP4 ones) running a GNU/Linux distribution. That's because we are going to chroot to an armv7 rootfs.

Mounting the pre-installed rootfs

Run fdisk -lu maverick-preinstalled-netbook-armel+omap4.img and read the starting block for the rootfs partition:

You must set cylinders.
You can do this from the extra functions menu.
Disk maverick-preinstalled-netbook-armel+omap4.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

                                       Device Boot      Start         End      Blocks   Id  System
maverick-preinstalled-netbook-armel+omap4.img1   *          63      144584       72261    c  W95 FAT32 (LBA)
maverick-preinstalled-netbook-armel+omap4.img2          144585     4401809     2128612+  83  Linux

Now, mount this partition:

mount -o loop,offset=$((144585*512)) ubuntu.img /mnt/rootfs

Modifying the pre-installed partition

Before running chroot, replicate the basic filesystems that Ubuntu mounts:

for f in /proc /sys /dev /dev/pts /dev/shm /var/run /var/lock
do
  sudo mount -o bind $f /mnt/rootfs/$f
done

Without the above, some commands may not work properly, being unable to find data in /proc and /sys in particular.

If you are behind a proxy, copy your files defining your proxy settings (typically /etc/environment) under the same path /mnt/rootfs.

Also copy your name resolution settings to the rootfs:

sudo cp /etc/resolv.conf /mnt/rootfs/etc/resolv.conf

Modify the rootfs

sudo chroot /mnt/rootfs/

If you are using a special package source, you can add it to /etc/apt/sources.list

Now, update your package list and install extra packages. For example:

apt-get update
apt-get install openssh-server

Once you are done, exit the chroot:

exit

Closing

sudo rm /mnt/rootfs/etc/resolv.conf

You may also undo your proxy setting changes (typically /etc/environment).

Then, unmount the filesystems replicated in the chroot:

for f in /var/lock /var/run /dev/shm /dev/pts /dev /sys /proc
do
  sudo umount /mnt/rootfs/$f
done

You are done!

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox