Running Ubuntu-IVI Remix Natively on ExoPC Atom Slate

and in Qemu on Debian

native Ubuntu IVI Remix on ExoPC Ubuntu IVI Remix natively installed on an ExoPC Atom slate tablet. obdsim (part of obdgpslogger) is running in the background right xterm, but is not talking to Navit (yet). The mighty emacs on the upper left shows the nobdy config file. Thanks very much to Intel for the equipment donation!

The Ubuntu-IVI installer writes over the entire hard disk! Do not use the installer on a system that has data that you want to keep. The instructions below are for running in a virtual machine.

Ubuntu IVI Remix architecture diagram

Running natively on an ExoPC Atom Slate

I installed from a CD drive connected via USB, as I couldn't get installation directly from USB to work for some reason.

The i386 ISO produces an installation which works similarly to the VM one, although I can't get the WiFi to associate stably with an access point despite concerted effort with wpa-supplicant, jockey-gtk, Gnome applets, etc. MeeGo and Ubuntu Maverick desktop image wireless connectivity work fine.

In a Qemu-KVM Virtual Machine

First steps

  1. Read the datasheet and release notes.
  2. Get the ISO from Launchpad. I chose falmouth-natty-x86-iso-20111219-2.iso.
  3. Check the md5sum.

Install the ISO image into a Qemu-kvm instance

The following presumes that your ISO is in the directory /opt/Ubuntu and that you have the Qemu and kvm tools installed. Most Linux distros provide them. libvirt and libguestfs are useful as well.

Ubuntu IVI Remix first installation screen

Installation on Fedora 14:

In order to install followed by shutdown, run the following bash script as

sudo -u $USER install_Ubuntu_IVI_Qemu
Without the -u setting, the script exits with the puzzling "Could not initialize SDL(No available video device) - exiting" error, which is actually from xauth.

sudo qemu-img create -f raw /opt/ubuntu_ivi_natty.raw 10G
sudo chown alison /opt/ubuntu_ivi_natty.raw 
qemu-kvm --cdrom /opt/Ubuntu/falmouth-natty-x86-iso-20111219-2.iso -boot d -hda /opt/ubuntu_ivi_natty.raw -m 2048 -usb -soundhw all -net nic,model=e1000  -net user,hostfwd=tcp: -vga std -name ubuntu_ivi -localtime -no-reboot 

Running post-installation on Fedora 14:

qemu-kvm -boot c -hda /opt/ubuntu_nobdy_bldr.raw -m 4096 -usb -soundhw all -net nic,model=e1000  -net user,hostfwd=tcp: -vga std -name ubuntu_nobdy_bldr -localtime

Installation on Debian Wheezy. (As noted above, run the script with "sudo -u $USER".)


#Without -u, xauth error:
sudo qemu-img create -f raw ${ROOTDIR}/ubuntu_ivi_natty.raw 10G
sudo chown $USER ${ROOTDIR}/ubuntu_ivi_natty.raw 
qemu-system-i386 --enable-kvm --cdrom ${ROOTDIR}/falmouth-natty-x86-iso-20111219-2.iso -boot d -hda ${ROOTDIR}/ubuntu_ivi_natty.raw -m 4096 -net nic,model=e1000  -net user,hostfwd=tcp: -name ubuntu_ivi_natty -localtime -no-reboot

Running post-installation on Debian Wheezy:

qemu-system-i386 --enable-kvm -boot c -hda /fedora14/ubuntu_ivi_natty.raw -m 4096 -net nic,model=e1000  -net user,hostfwd=tcp: -name ubuntu_ivi_natty -localtime

Note this bug report on Wheezy:

If I do not specify VGA driver at all, meaning I do not use "vga=std"
or "vga=vmware", things work as expected needing no change in any
other parameter. So, it really was the VGA driver the one making "qemu
-enable-kvm" not to work.  

I gave the VM 10GB of real disk space. If your disk doesn't have that much space, you can allot less. What the minimum reasonable amount might be, I don't know.

The installer is a fairly typical Linux one except that IT WRITES OVER THE WHOLE DISK WITHOUT ASKING. Now I warned you twice!

Note that I said "-no-reboot". When the installation finishes, the VM will shut down. That way you can watch the reboot or start with different settings for normal operation.

Run the ISO image in the Qemu

I allotted the VM 2 GB of real memory. Once again, if this chokes your system, allot the VM less.

By default, the image comes with no GUI. Nonetheless, booting into it with the script above takes the user to vt7, where nothing is running. In Fedora 14's Qemu, switch to vt1 by typing "alt-f1", not "ctl-alt-f1", since "ctl-alt" is a Qemu keyboard shortcut to free the mouse cursor. On Debian Wheezy, follow the instructions under "How to get Qemu monitor" to switch to the console.

As with any new installation, type "apt-get update." Note that the datasheet says:

The IVI Remix does not include a user interface or HMI by
default. A sample user experience using Unity2d (based on
Qt) and including UbuntuOne support and several sample
applications is available for installation.

Read the "Demo Ubuntu IVI packages" section in the Release Notes. In fact, "apt-cache pkgnames | grep unity" shows 9 packages with "unity-2d" in the name. "apt-get install unity-2d-head" pulls most of these packages. Be sure to choose "unity-2d-head" rather than "unity-2d," which does not pull down gdm, resulting in a black blank screen on vt7 upon reboot. You might also want to install other utilities like emacs, mlocate and man, while you're at it.

Also install ivi-demo, as otherwise this whole exercise is pointless. It's another giant installation.

Reboot again. gdm should come up.

gdm screen of Ubuntu IVI Remix

That's better. As promised by the datasheet, the Ubuntu IVI Remix doesn't have a lot of software in it. The kernel is 2.6.38-8, presumably because the basis is the older 11.04 release.

Unity-2d interface in Ubuntu-IVI Remix

Installing and Running nobdy

For a VM, follow the wiki instructions under "Simpler Example invocation method 2 for systems with a network connection." The "without a network connection" instructions work on the ExoPC hardware.