The Liquidware BeagleBoard Linux kernel is a development branch of the linux kernel for the BeagleTouch and BeagleBoard C4 hardware modules.
If you're looking for the precompiled production uImage and rootfs for the BeagleTouch, they can be downloaded from github. Otherwise, use the following instructions to build the Linux kernel uImage from source.
Building the Kernel from Source
Required Packages
These packages are required from a fresh Ubuntu install.
$ sudo aptitude install uboot-mkimage
$ wget http://www.codesourcery.com/sgpp/lite/arm/portal/package7853/public/arm-none-linux-gnueabi/arm-2010.09-50-arm-none-linux-gnueabi.bin
$ ./arm-2010.09-50-arm-none-linux-gnueabi.bin
Follow the on-screen instructions and use the defaults.
My PC configuration
Your PC's configuration may be different
- compiler path: /home/eye/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-
- sdcard device: /dev/sdi
- PC processor: 8 cores
- mount point for SD card's FAT partition: /tmp/bbfat
- mount point for SD card's EXT2 partition: /tmp/bbext
Get the Linux Kernel Source
$ git clone git://github.com/liquidware/liquidware_beagleboard_linux.git
$ cd liquidware_beagleboard_linux
$ git branch -a
$ git checkout remotes/origin/liquidware
$ git checkout -b local_branch
$ wget --no-check-certificate https://github.com/downloads/liquidware/liquidware_beagleboard_linux/BeagleBoot4GB-config-11-30-2010.config
$ mv BeagleBoot4GB-config-11-30-2010.config .config
With the configuration above, my make commands are the following:
Make Commands
Make is used to build the linux kernel. Before building the kernel, you need to configure your kernel. Use the menuconfig command to select drivers as installed v.s. drivers as modules.
menuconfig
$ sudo make -j8 ARCH=arm menuconfig CROSS_COMPILE=/home/eye/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-
uImage
$ sudo mount /dev/sdi1 /tmp/bbfat
$ sudo make -j8 ARCH=arm uImage CROSS_COMPILE=/home/eye/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-
$ sudo cp ./arch/arm/boot/uImage /tmp/bbfat
$ sync
$ sync
$ sudo umount /dev/sdi1
modules modules_install
$ sudo mount /dev/sdi1 /tmp/bbfat
$ sudo mount /dev/sdi2 /tmp/bbext
$ sudo make -j8 ARCH=arm INSTALL_MOD_PATH=/tmp/bbext modules modules_install CROSS_COMPILE=/home/eye/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-
$ sudo cp ./arch/arm/boot/uImage /tmp/bbfat
$ sync
$ sync
$ sudo umount /dev/sdi1
$ sudo umount /dev/sdi2
Building the RootFS
The following commands extract a fresh pre-built Linux Angstrom rootfs (root filesystem)
#Grab a copy of the rootfs image
$ wget http://www.liquidware.com/code/rootfs-ext2.tar.bz2
$ sudo mv ./rootfs-ext2.tar.bz2 ~/rootfs-ext2.tar.bz2
#mount the ext2 partition
$ sudo mount /dev/sdi2 /tmp/bbext
#start fresh
$ sudo rm -rf /tmp/bbext/*
#go into the drive
$ cd /tmp/bbext
#extract the rootfs
$ sudo tar -xvf ~/rootfs-ext2.tar.bz2
$ sync
$ sync
$ cd ..
$ sudo umount /dev/sdi2
Comments (7)
Gary said
at 1:47 pm on Sep 2, 2010
Chris
Question on the version of Code Sourcery Tools you are using. Which version is it? Is it arm2009-q1 or another one?
Also I know I'm making a Noob error here but I get mkimage command not found when running the make uImage command. I am setup with Code Sourcery arm2009-q1 tool.
Thanks
Gary
stephane said
at 2:48 pm on Nov 19, 2010
Chris,
I tested this out but have an image that ends up with "Load Address" and "Entry Point" at 0x00008000.
When I looked into the config to redefine CONFIG_ZBOOT_ROM_TEXT and CONFIG_ZBOOT_ROM_BSS to 0x8, I noticed a mismatch between the config file mentioned (which seems to originate from a kernel build system version 2.6.35-rc4) and the git branch referenced (build system for version 2.6.34-rc3).
As such could I ask you to share either the config for 2.6.34-rc3 that you used for building the kernel that came with the beagletouch?
Thank you very much,
Stephane.
Chris said
at 4:08 pm on Nov 23, 2010
@Gary
I'm using "Sourcery G++ Lite 2010.09-50 for ARM GNU/Linux".
Thanks for pointing this out. The link is now included in the 'Required Packages' section above.
@Stephane
The .config file is uploaded here to the wiki. Please see the 'Get the Linux kernel source' section for the link.
stephane said
at 4:26 am on Nov 28, 2010
Chris,
My point was that the config file (http://antipastohw.pbworks.com/f/.config) uploaded here to the wiki is for a Linux Kernel 2.6.35-rc4.
Whereas the kernel source code (git://github.com/liquidware/liquidware_beagleboard_linux.git) from the liquidware branch referenced in this wiki is for a Linux Kernel 2.6.34-rc3.
Ahmad Al-Masry said
at 12:14 am on Feb 25, 2011
Hay Guys;
Can this work on ubuntu or meego???
and can it work on any version higher or lower of the kernel????
Thanks
kieran said
at 5:16 pm on Apr 1, 2011
Hello,
I've been trying to acquire and build the kernel source from your tree, however the instructions are not entirely correct. The only branch I see after the git clone command on the wikipage is the master branch.
As such I am unable to switch to the liquidware branch. I was able to get your config file though and have successfully built a kernel with that.
Perhaps there is another GIT location I should be cloning from?
Thanks,
Kieran
kieran said
at 4:03 pm on Apr 8, 2011
The git commands were in error for switching to the liquidware branch. I've updated the wiki to reflect that now.
You don't have permission to comment on this page.