Installing Ubuntu 10.04 on Gumstix Overo

From Gumstix User Wiki
Revision as of 17:52, 18 October 2010 by Steve-martin-qut (Talk | contribs) (Make a MicroSD card)

Jump to: navigation, search

Ubuntu on Overo

Constructing an Ubuntu root file system for the Gumstix Overo is surprisingly easy with the rootstock utility. Unfortunately, Ubuntu (particularly a version including a graphical desktop) likes lots of RAM but the familiarity of Ubuntu for some users may outweigh occasional sluggishness. These instructions were tested on an Ubuntu 10.04 desktop machine; they should work for any recent Debian-based flavour of Linux.

Make a MicroSD card

The rootstock utility builds a root file system inside a virtual arm machine supplied by qemu. First, install the required packages.

$ sudo apt-get install rootstock qemu

Next, use a command like the one shown below to make a root file system; check out 'man rootstock' for some extra options. Note: this will take an hour or two.

$ sudo rootstock --serial ttyS2 -d lucid -f "gumstix" -s lxde,gdm,openssh-server,x11vnc 

  • the '-d' option specifies the distribution release: in this case, Ubuntu Lucid (10.04).
  • the '-s' option specifies the list of packages to install: in this case, we install a lightweight desktop and a standard login manager as well as ssh & VNC servers so we can connect remotely.
  • the user name ('-l') and password ('-p') options don't seem to work at the moment; see [Configuring Ubuntu] for more information.

You should now have a spiffy root file system tarball so now we just need to create a bootable microSD with a standard bootloader and kernel.

Format a microSD card as per usual; you should copy a recent MLO, u-boot, and uImage to the boot partition. Extract the generated root file system to the second partition of the microSD card.

Finally, the loadable modules in the file system should match the kernel. For users that don't want to build a kernel, you can use this 2.6.34 kernel and the associated modules tarball; this is approximately the Gumstix Overo kernel from September 9th, 2010. Extract the modules file into the second partition over top of the root file system. E.g. for a root partition mounted at /media/rootfs:

sudo tar xaf modules-2.6.34-r88-overo.tgz -C /media/rootfs

Configuring Ubuntu

The rootstock utility doesn't make passwords properly. For now, it is easiest to remove the root password, boot your system to create new users and choose a new root password. To do this, open the /etc/shadow file on the second partition and delete the '*' for the root entry. E.g.

$ sudo gedit /path/to/second/partition/etc/shadow

Note: remember to put the ‘*’ back after you have created a user so someone can’t login as root and screw up your system

For Overo boards with an ethernet interface, it is nice to have ethernet working right off the bat without having to have Network Manager installed. Open the /etc/network/interfaces file on the second partition.

$ sudo gedit /path/to/second/partition/etc/network/interfaces

Add the following code to the bottom:

auto eth0
iface eth0 inet dhcp

You can now unmount the microSD card, place it in the gumstix and boot to it.

Login using serial console using these instructions or you can plug an ethernet card in and jump in via ssh.

Once you are logged in, you might make some other tweaks:

  • login as root and then create a user for yourself and give yourself sudo

$ sudo adduser youruser
$ sudo adduser youruser sudo

  • edit /etc/shadow and add the ‘*’ back in that we removed earlier. E.g.

$ nano /etc/shadow

  • add some useful package repositories if they're not already present. Edit /etc/apt/sources.list and add these lines:

$ deb lucid-updates main
$ deb lucid-security main

  • get up-to-date:

$ sudo apt-get update && sudo apt-get upgrade

Have fun!

Related Links

Here are some links I found useful when putting this post together: