Running Ubuntu on DevKit8500D (Natty Kernel and Lucid RootFS)
BeagleBoard xM that comes with Texas Instruments’ DM3730 DaVinci™ processor has its Chinese sister from Embest, the DevKit8500D evaluation kit. This similarity and eLinux wiki (showing working previous DevKit8000) have made me confident that Ubuntu would also port to this board with no hassle. As always, that wasn’t the story. I tried preinstalled images available on Ubuntu CD Image and final combination that worked out of a series of trial-and-error was Natty kernel with Lucid rootfs.
Various howto made net-boot or preinstalled images seem feasible, but trying them is another thing. The first attempt was to boot Ubuntu Lucid 10.04 LTS to have similar distribution as my laptop, but it would stop at boot with the message
Error: unrecognized/unsupported machine ID (r1 = 0x00000ae9).
The above ID (2793 in decimal) isn’t found in Lucid released with linux 2.6.32-21. Ubuntu Natty 11.04 boot image didn’t complain because the ID already listed in /usr/src/linux-source-2.6.38/arch/arm/tools/mach-types
...
nemini MACH_NEMINI NEMINI 2793
...
However, ubuntu-11.04-preinstalled-headless-armel+omap.img.gz wouldn’t finish loading the linux kernel 2.6.38 somehow. Hence, I replaced the root file system using rootfs created using RootStock method. After successful boot, I installed linux-image-2.6.38-8-omap_2.6.38-8.42_armel.deb to have the rootfs kernel lib files updated (this would require wireless-crda
dependency to be installed).
Creating Lucid RootStock & Replacing Natty’s
Using RootStock relies much on the host environment, in my case (version 0.1.99.3) the laptop has Lucid with 2.6.38 kernel (Natty), and it failed to create rootfs with option --dist natty
by stopping at this QEMU error:
qemu: fatal: cp15 insn ee1d6f70 R00=4009f960 R01=420822e8 R02=0d696914 R03=000086a8 R04=00008ef0 R05=00000000 R06=000097c9 R07=42082308 R08=00020040 R09=00000000 R10=4009f000 R11=00000000 R12=00008b88 R13=4007f7f8 R14=4008f450 R15=4008aea0 PSR=20000030 --C- T usr32
DevKit8500D also freezed on boot when too many seeds used in the rootfs. A minimal seeds of Lucid rootfs used is
[ubuntu-laptop]$ sudo rootstock --fqdn omap --login ubuntu --password temppwd --imagesize 2G --seed wget,nano,linux-firmware,wireless-tools,usbutils --dist lucid --serial ttyO2 --components "main universe multiverse"
It will retrieve many packages from http://ports.ubuntu.com which takes long and produces i.e. armel-rootfs-201110261541.tgz
.
A card at /dev/sdb
with Natty boot images are obtained by
gunzip -c ubuntu-11.10-preinstalled-server-armel+omap.img.gz | sudo dd bs=4M of=/dev/sdb
The root file system will reside at /dev/sdb2
while boot images are in /dev/sdb1
. To replace this with Lucid rootfs, run following steps
1 2 3 4 5 6 | dd if=/dev/zero of=lucid-arm.img bs=1MB count=0 seek=1024 sudo mkfs.ext3 -F lucid-arm.img sudo mount -o loop lucid-arm.img /mnt sudo tar -C /mnt -zxf armel-rootfs-<some rootstock generated date>.tgz sudo umount /mnt sudo dd if=lucid-arm.img of=/dev/sdb2 bs=1MB count=0 seek=1024 |
There are reasons for why-not-using the included Ångström Linux (forked to linux-2.6.32-devkit8500
) but this method of booting Ubuntu wasn’t straightforward after all. The on-board LAN (using Davicom DM9000AEP chip) doesn’t work and I need to use USB ethernet detected as Davicom DM9601 (a bit ridiculous?). Easycap USB video capture also works with this kernel as it has been part of 2.6.38 drivers/staging
compilation.
Before coming up with this combo, I’ve tried:
- Ubuntu Lucid 10.04 CD Image: ubuntu-10.04-server-armel+omap.img
- Ubuntu Oneiric 11.10 CD Image: ubuntu-11.10-preinstalled-server-armel+omap.img.gz
- Robert C. Nelson’ Oneiric: ubuntu-11.10-r0-minimal-armel.tar.xz (as pointed out by the above eLinux page which has changed quite regularly since October 2011)
But nothing seemed to work.
About
+Arif Kusbandono
Recently
Et Cetera
© logIt. Powered by WordPress using the DePo Skinny Tweaked Theme.