Linux on the BeagleBoard
Random notes collected as I explore Beagleboard, OpenEmbedded, RT linux, and whatever else pops up.
Sunday, November 20, 2011
Blog is going inactive.
Posts related to beagleboard/chumby/arduino will be made from here on out on my VEX robotics blog, where I hope someday to combine the various parts into something useful.
Sunday, March 20, 2011
More on kernel building
Some notes:
Only required files on boot partition are uImage, u-boot.img, and MLO. I proved this to myself by removing the other files and successfully booting the 2.6.32 kernel.
Process for building:
bitbake virtual/kernel -c [clean -> configure -> compile -> deploy]
(in the above, -> means "followed by").
2.6.29 and 2.6.31 both seem to brick the device after uncompress of uImage file. No further output in minicom, LEDs D6 and D7 stay solid on (typically, during boot, you will see them flashing somewhat randomly). I'm bummed about not being able to boot either of these (at this point at least) since these kernel versions have RT linux kernel patches available for them.
2.6.32 boots no problem into a command prompt.
2.6.37 looks ok, mostly -- LEDs D6 and D7 flash, but no minicom output. I plugged in an ethernet cable and was able to SSH into the device, so it booted. Perhaps the tty configured for the kernel is bogus? Some searching turns up the following:
http://processors.wiki.ti.com/index.php/Kernel_-_Common_Problems_Booting_Linux#Problem_.231_-_No_more_output_is_seen_on_the_console_after_.22Starting_Kernel....22
Only required files on boot partition are uImage, u-boot.img, and MLO. I proved this to myself by removing the other files and successfully booting the 2.6.32 kernel.
Process for building:
bitbake virtual/kernel -c [clean -> configure -> compile -> deploy]
(in the above, -> means "followed by").
2.6.29 and 2.6.31 both seem to brick the device after uncompress of uImage file. No further output in minicom, LEDs D6 and D7 stay solid on (typically, during boot, you will see them flashing somewhat randomly). I'm bummed about not being able to boot either of these (at this point at least) since these kernel versions have RT linux kernel patches available for them.
2.6.32 boots no problem into a command prompt.
2.6.37 looks ok, mostly -- LEDs D6 and D7 flash, but no minicom output. I plugged in an ethernet cable and was able to SSH into the device, so it booted. Perhaps the tty configured for the kernel is bogus? Some searching turns up the following:
http://processors.wiki.ti.com/index.php/Kernel_-_Common_Problems_Booting_Linux#Problem_.231_-_No_more_output_is_seen_on_the_console_after_.22Starting_Kernel....22
OE/git link
Maybe this will be useful at some point:
http://ao2.it/en/blog/2010/05/27/neat-compilerun-cycle-git-and-openembedded
http://ao2.it/en/blog/2010/05/27/neat-compilerun-cycle-git-and-openembedded
Kernel version
When you configure OE using bitbake, it appears that a python function called get_kernelversion() is called to determine the kernel version. This function looks for some headers in your kernel source tree, specifically utsrelease.h. What I wanted is to override this kernel version (in my case, my ubuntu system is 2.6.32) with one that has an RT patch available (e.g., 2.6.29), and build my kernel for that version.
I'm not sure why the kernel version built by bitbake is coupled to the kernel version of the host. Seems like they should be separate.
I posted about this here. A response came in several hours later (which you can read by clicking the link). After making the changes that were suggested, I did:
bitbake virtual/kernel -c clean
bitbake virtual/kernel -c configure
bitbake virtual/kernel -c compile
Was able to get a 2.6.29 uImage file after following the above steps. Next step is to test it.
I'm not sure why the kernel version built by bitbake is coupled to the kernel version of the host. Seems like they should be separate.
I posted about this here. A response came in several hours later (which you can read by clicking the link). After making the changes that were suggested, I did:
bitbake virtual/kernel -c clean
bitbake virtual/kernel -c configure
bitbake virtual/kernel -c compile
Was able to get a 2.6.29 uImage file after following the above steps. Next step is to test it.
Thursday, March 17, 2011
Wednesday, March 16, 2011
Configuring/Rebuilding kernel
. ~/.oe/environment-2008
(From Koen):
The defconfig is stored in
recipes/linux/linux-omap-//defconfig
recipe.
then:
$ bitbake -c compile -f virtual/kernel
Sources:
http://groups.google.com/group/beagleboard/browse_thread/thread/22e77334e3774245
http://groups.google.com/group/beagleboard/browse_thread/thread/5252f87b4fcefd41/99ee235b209fd7fc
http://groups.google.com/group/beagleboard/browse_thread/thread/5089ba5af44e7b0d
(From Koen):
The defconfig is stored in
recipes/linux/linux-omap-
What I usually do is:
1) bitbake virtual/kernel -c configure
2) cd tmp/work/foo/bar/git ; make menuconfig
(in my case, appears to be ~/beagleboard/angstromtoolchain/setup-scripts/build/tmp-angstrom_2008_1/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r100+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155/git$ make menuconfig)
3) cp .config
/OE/openembedded/recipes/linux/linux-omap-
4) bitbake bitbake virtual/kernel -c compile -f ; bitbake virtual/kernel -c
deploy
5) goto 2)
recipe.
then:
$ bitbake -c compile -f virtual/kernel
Sources:
http://groups.google.com/group/beagleboard/browse_thread/thread/22e77334e3774245
http://groups.google.com/group/beagleboard/browse_thread/thread/5252f87b4fcefd41/99ee235b209fd7fc
http://groups.google.com/group/beagleboard/browse_thread/thread/5089ba5af44e7b0d
Subscribe to:
Posts (Atom)