Mon 29 Sep 2008
Well it took a couple more tweaks/fixes, but I now have a working script for auto building the BeagleBoard’s kernel deb package. (linux-image, linux-headers, and uImage). Update packages will be available here: http://www.rcn-ee.com/deb/lenny/
Script: Basicly, add patches to svn with patch order, update revision number, along with kernel git revision and run the script. A patch diff & kernel source tar are generated on the file server. Later an hourly run crontab job on the BeagleBoard detects this update, builds the target files and uploads them. (Sure, some of these steps could also be done on the BeagleBoard, but with limited resources, wear leveling, etc (2GB/4GB SD cards) a file server works better.)
Since things are working, time to add features of course…
Goal: Add autobuild capabilties for Mojo Handhelds ubuntu port. Using the same kernel version, just different build enviroments..
Idea #1: BeagleBoard running Debian Lenny, with NFS mount containing Lenny, Sid, Frisky-armv5el, etc chroot’s.
Con: NFS mount’s are rumored to be slow when building kernel’s.
Pro: NFS mount already setup on the fileserver, same script should also work for Idea #2
Idea #2: Idea #1, except with a usb<->pata drive.
Con: BeagleBoard is currently on the other side of the world, i fly home on saturday…
2 Responses to “Debian Kernel autobuilder for the BeagleBoard”
Leave a Reply
You must be logged in to post a comment.
October 17th, 2008 at 12:29 pm
Hi,
I follow your howto run beagle board on debian and when i try to rebuild the kernel i got the following error,
Could you please tell me what am i doing wrong?
CONCURRENCY_LEVEL=1 fakeroot make-kpkg –cross_compile=arm-none-linux-gnueabi- –initrd kernel_image kernel_headers
exec debian/rules DEBIAN_REVISION=2.6.27-rc2-omap1-10.00.Custom CROSS_COMPILE=arm-none-linux-gnueabi- INITRD=YES kernel_image kernel_headers
====== making target CONFIG-common [new prereqs: testdir]======
====== making target CONFIG-common [new prereqs: stamp-conf]======
This is kernel package version 11.001-0.1.
====== making stamp-arch-conf because of ======
====== making target CONFIG-arch [new prereqs: stamp-arch-conf]======
====== making target CONFIG-arch [new prereqs: .config conf.vars]======
This is kernel package version 11.001-0.1.
====== making target CONFIG/linux-headers-2.6.27-rc2-omap1 [new prereqs: CONFIG-arch]======
====== making target CONFIG/linux-image-2.6.27-rc2-omap1 [new prereqs: CONFIG-arch]======
====== making target CONFIG/linux-uml-2.6.27-rc2-omap1 [new prereqs: CONFIG-arch]======
====== making target CONFIG/linux-xen0-2.6.27-rc2-omap1 [new prereqs: CONFIG-arch]======
====== making target CONFIG/linux-xenu-2.6.27-rc2-omap1 [new prereqs: CONFIG-arch]======
====== making stamp-configure-arch because of ======
====== making target configure-arch [new prereqs: stamp-configure-arch]======
====== making stamp-indep-conf because of ======
====== making target CONFIG-indep [new prereqs: stamp-indep-conf]======
====== making target debian/stamp-kernel-conf [new prereqs: .config Makefile]======
/usr/bin/make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=i386 \
oldconfig
make[1]: Entering directory `/home/iismail/beagleboard/kernel/linux-omap-beagle-9′
scripts/kconfig/conf -o arch/x86/Kconfig
drivers/usb/Kconfig:63:error: found recursive dependency: USB -> USB_MUSB_HDRC -> -> USB_MUSB_OTG -> PM -> ACPI -> THINKPAD_ACPI -> INPUT -> MOUSE_APPLETOUCH -> USB
make[2]: *** [oldconfig] Error 1
make[1]: *** [oldconfig] Error 2
make[1]: Leaving directory `/home/iismail/beagleboard/kernel/linux-omap-beagle-9′
make: *** [debian/stamp-kernel-conf] Error 2
October 17th, 2008 at 12:56 pm
Hello,
This could be two things, I’m not sure if make-kpkg is capable of cross architecture building.
It’s forcing ARCH=i386, which isn’t good for the beagleboard (ARCH=armel) for debian lenny.
Only solution for this issue is using qemu (rebuild from trunk, debian lenny’s deb has some issues with eabi targets.) or an existing arm host running linux/debian.
The other possibility, what is your current ‘.config’ looks like kconfig is chocking on something.
Regards,