Revision as of 15:58, 24 May 2010 by RobertCNelson (Talk | contribs) (RootStock: xorg)

Jump to: navigation, search

This page is about running Ubuntu 9.10 Karmic distribution on the BeagleBoard.

Demo Image

Karmic 9.10

Built with:

sudo ./rootstock --fqdn beagleboard --login ubuntu --password temppwd --imagesize 2G \
--seed wget,nano,linux-firmware,wireless-tools,usbutils --dist karmic --serial ttyS2 \

Get prebuilt image:


Unpack it:

7za x ubuntu-9.10.2-minimal-armel.tar.7z
tar xf ubuntu-9.10.2-minimal-armel.tar
cd ubuntu-9.10.2-minimal-armel

Quick Install script

./ --mmc /dev/sdX --ignore_md5sum
  • Bug: --ignore_md5sum is needed
  • Additional Options
    • --rootfs <ext3 default>
    • --swap_file <swap file size in MB's>

md5sum: 0bf198beac0a0358bc2c0097c6dddec7 ubuntu-9.10.2-minimal-armel.tar.7z


Karmic: (9.10) boot fixup

util-linux-ng 2.16 causes this

Edit /etc/fstab

mkdir -p ./tmp
sudo mount /dev/sdX2 ./tmp
sudo gedit ./tmp/etc/fstab
/dev/mmcblk0p2   /   ext3   errors=remount-ro   0   1

Note change the above "ext3" to "ext2" if the root filesystem is ext2

Add/Edit /etc/e2fsck.conf

sudo gedit ./tmp/etc/e2fsck.conf

# Superblock last mount time is in the future (PR_0_FUTURE_SB_LAST_MOUNT).
0x000031 = {
    preen_ok = true
    preen_nomessage = true

# Superblock last write time is in the future (PR_0_FUTURE_SB_LAST_WRITE).
0x000032 = {
    preen_ok = true
    preen_nomessage = true

Add karmic updates to /etc/apt/sources.list

sudo gedit ./tmp/etc/apt/sources.list
deb karmic-updates main universe


cd ./tmp
cd ..
sudo umount ./tmp

You can now place the SD card into the BeagleBoard and start up the BeagleBoard.

Please be patient as the first boot can take a couple of minutes.


Xorg omapfb Drivers

By default Ubuntu will try to use the FBDEV video driver, however for the beagleboard we can take advantage of a more software optimized driver (still not using the sgx video hardware) using the NEON extensions of the Cortex-A8 core.

cat /var/log/Xorg.0.log | grep FBDEV

(II) FBDEV: driver for framebuffer: fbdev
(II) FBDEV(0): using default device
(II) FBDEV(0): Creating default Display subsection in Screen section
(==) FBDEV(0): Depth 16, (==) framebuffer bpp 16
(==) FBDEV(0): RGB weight 565

Login into Ubuntu and open a new terminal, xorg has to be running..

xvinfo -display :0.0

X-Video Extension version 2.2
screen #0
 no adaptors present


Note: These are built with neon optimizations:;a=blob;f=debian/rules;h=c2f0d5391c96c5abb60b1e691ad86bb27e0c17d8;hb=HEAD (line 48/49)


sudo apt-get install xserver-xorg-video-omap3



Section "Monitor"
    Identifier "Configured Monitor"

Section "Screen"
    Identifier "Default Screen"
    Device "Configured Video Device"
    #Limited by SGX?
    DefaultDepth 16

Section "Device"
    Identifier "Configured Video Device"
    Driver "omapfb"
    Option "fb" "/dev/fb0"

To verify it was correctly installed, reboot and:

cat /var/log/Xorg.0.log | grep omapfb

(II) LoadModule: "omapfb"
(II) Loading /usr/lib/xorg/modules/drivers//
(II) Module omapfb: vendor="X.Org Foundation"
(II) omapfb: Driver for OMAP framebuffer (omapfb) and external LCD controllers:
(WW) Error opening /sys/devices/platform/omapfb/ctrl/name: No such file or directory
(II) omapfb(0): VideoRAM: 1800KiB (SDRAM)
(II) omapfb(0): Creating default Display subsection in Screen section
(**) omapfb(0): Depth 16, (--) framebuffer bpp 16
(==) omapfb(0): RGB weight 565
(==) omapfb(0): Default visual is TrueColor
(--) omapfb(0): Virtual size is 1280x720 (pitch 1280)
(**) omapfb(0):  Built-in mode "current"
(==) omapfb(0): DPI set to (96, 96)
(II) omapfb(0): DPMS enabled
(II) omapfb(0): Video plane capabilities:
(II) omapfb(0): Video plane supports the following image formats:
(II) omapfb(0): XVideo extension initialized

Login into Ubuntu and open a new terminal, xorg has to be running..

xvinfo -display :0.0

X-Video Extension version 2.2
screen #0
  Adaptor #0: "OMAP XV adaptor"
    number of ports: 1
    port base: 56
    operations supported: PutImage 
    supported visuals:
      depth 16, visualID 0x21
    number of attributes: 1