BeagleBoardUbuntuKarmic

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 \ --kernel-image http://rcn-ee.net/deb/kernel/beagle/karmic/v2.6.32.11-x13/linux-image-2.6.32.11-x13_1.0karmic_armel.deb

Get prebuilt image:

wget http://rcn-ee.net/deb/rootfs/ubuntu-9.10.2-minimal-armel.tar.7z mirrors: wget http://ynezz.ibawizard.net/beagleboard/ubuntu-9.10.2-minimal-armel.tar.7z wget http://vivaphp.net/beagle/ubuntu-9.10.2-minimal-armel.tar.7z

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 ./setup_sdcard.sh --mmc /dev/sdX --ignore_md5sum
 * Bug: --ignore_md5sum is needed


 * Additional Options
 * --rootfs
 * --swap_file 

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

= RootStock =

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 add: /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

[problems] 0x000031 = { preen_ok = true preen_nomessage = true } 0x000032 = { preen_ok = true preen_nomessage = true }
 * 1) Superblock last mount time is in the future (PR_0_FUTURE_SB_LAST_MOUNT).
 * 1) Superblock last write time is in the future (PR_0_FUTURE_SB_LAST_WRITE).

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

sudo gedit ./tmp/etc/apt/sources.list

deb http://ports.ubuntu.com/ubuntu-ports karmic-updates main universe

Finally cd ./tmp sync 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.

=Advanced=

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

Drivers
Note: These are built with neon optimizations: http://git.debian.org/?p=collab-maint/xf86-video-omapfb.git;a=blob;f=debian/rules;h=c2f0d5391c96c5abb60b1e691ad86bb27e0c17d8;hb=HEAD (line 48/49)

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

xorg.conf
/etc/X11/xorg.conf

Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Device "Configured Video Device" #Limited by SGX? DefaultDepth 16 EndSection Section "Device" Identifier "Configured Video Device" Driver "omapfb" Option "fb" "/dev/fb0" EndSection

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//omapfb_drv.so (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 etc..

= Bugs & Workarounds =

Karmic
Root on external USB, fsck always errors's on boot, fsck.ext3 never fixes it, and no real time clock on board (Rev Bx and C2 (C3 has backup battery hookup))

mount -o remount,rw /

Script found here:

nano /etc/e2fsck.conf [problems] 0x000031 = { preen_ok = true preen_nomessage = true } 0x000032 = { preen_ok = true preen_nomessage = true }
 * 1) Superblock last mount time is in the future (PR_0_FUTURE_SB_LAST_MOUNT).
 * 1) Superblock last write time is in the future (PR_0_FUTURE_SB_LAST_WRITE).