bb cannot boot kernel

Hi all,

I have beagleboard xM. I have tried many different kernels, but my
board couldn't boot any of them. It can load uImage from mmc, but
cannot start booting. But I have a uImage that came with my board on
mcc demo card. My board can boot only this uImage. Kernel name is:
Angstrom/2.6.32/beagleboard. Is there any body can help me about this?

You'll have to provide more details (exact serial console output
is the most useful). "It doesn't work" without any data is not
enough to go on.

Explain _exactly_ what you've tried and the output it produces.
Someone on this list should be able to help out.

Hi Mustafa,

Could you please provide us with some additional information? What
kernel are you trying to boot and how it was compiled (kernel version,
repository, defconfig, exact commands for cross-compilation, name and
version of your cross-toolchain etc.)? Thanks!

Cheers,
Max.

Hi Max,

I get the kernel from linux-omap git repository. The kernel version
2.6. Then I checked out 2.6.31 kernel profile. Then I compiled with
arm toolchain that I downloaded from code sourcery. The toolchain full
name is "arm-2007q3-51-arm-none-linux-gnueabi.bin". I followed the
compiling process that is below.

make CROSS_COMPILE=arm-none-linux-gnueabi- distclean
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_defconfig
make CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig # only needed
if you want to change the default configuration
make CROSS_COMPILE=arm-none-linux-gnueabi- uImage

There was no error, But my board cannot boot the uImage.

I'm also using 5V-1A power supply.
FYI, it booted "uImage-2.6.32-
r90+gitra6bad4464f985fdd3bed72e1b82dcbfc004d7869-beagleboard.bin" just
before.

thanks.

my serial console output is :

1863872 bytes read
## Booting kernel from Legacy Image at 80300000 ...
   Image Name: Linux-2.6.31-omap1-05958-g8e82df
   Image Type: ARM Linux Kernel Image (uncompressed)
   Data Size: 1863808 Bytes = 1.8 MB
   Load Address: 80008000
   Entry Point: 80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing
Linux.....................................................................................................................
done, booting the kernel.

then nothing.

I have got the kernel from linux omap git repository. Then I switch to
2.6.31 branch. I'm using code sourcery toolchain, version is
"arm-2007q3-51-arm-none-linux-gnueabi.bin".

built commands:

make CROSS_COMPILE=arm-none-linux-gnueabi- distclean
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_defconfig
make CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig
make CROSS_COMPILE=arm-none-linux-gnueabi- uImage

Hi Mustafa ,

Your commands for building kernel are OK for me. But please note that
there is a lot of stuff which is not in the tmlind branch yet. Please
try kernel ver. 2.6.32 from Beagleboard validation repo (this is the
most stable kernel for BB-xM today):

git clone git://gitorious.org/beagleboard-validation/linux.git
beagleboard-validation-2.6.32

P.S. Please also post here your U-Boot configuration ("printenv").

Cheers,
Max.

2010/12/5 Mustafa Çamurlı <mustafacamurli@gmail.com>

Hi Max,

I get the kernel from linux-omap git repository. The kernel version
2.6. Then I checked out 2.6.31 kernel profile. Then I compiled with
arm toolchain that I downloaded from code sourcery. The toolchain full
name is “arm-2007q3-51-arm-none-linux-gnueabi.bin”. I followed the
compiling process that is below.

Maybe you can try to update your codesourcery toolchain.
And, we need more info about your xload and uboot.
If you can provide full bootlog (from 40W …), that’ll be a lot better.

Hi all,

First of all, I compiled my x-loader and u-boot with toolchain that I
said above.
I clearly followed these instructions to get x-loader and u-boot
binaries.

X-Loader

Hi Max,

I couldnt find any branch or tag named beagleboard-validation-2.6.32,
so I couldn't checkout. Actually, Im new with git. If there is
anything that I miss, please warn me.

I tried this first. git clone git clone git://gitorious.org/beagleboard-validation/linux.git
is ok.
But, when I try to git checkout beagleboard-validation-2.6.32, it
gives an error. When I check the pack-refs. I found available tags :

340cc2b922219239d585da55effca94d363648fa refs/tags/20100720-upstream
00b5086b79e58ee8e9aa5dde15fd6a44a8d65fe3 refs/tags/20100720-base
7e8c897b17fb5cfa4be356e5e2b1cb0e1d8d8fa2 refs/tags/20100720
^9e7bd83cf0945b445905e0c34368d2b7f18040a1
9e7bd83cf0945b445905e0c34368d2b7f18040a1 refs/tags/20100717
c7ea8597975f5484a4ab6f7384a2f01ea8dc6c6d refs/remotes/origin/xm-
rowboat
4ba2b98f787810cfd5207b07194c119d612af5d2 refs/remotes/origin/xm-fixes
9b618c33c50cfaeb424c512813f6bf3849781370 refs/remotes/origin/xM-
experimental
145593e2b8969f3580e491d1a462af057f4537c1 refs/remotes/origin/
validation-20100805
9e7bd83cf0945b445905e0c34368d2b7f18040a1 refs/remotes/origin/
validation-20100727
9e7bd83cf0945b445905e0c34368d2b7f18040a1 refs/remotes/origin/
validation-20100720
6fc2495bb9f1fa166f7f4190ecd0b988034f54ea refs/remotes/origin/
validation-20100717
1ef6ce7a340f9ed139a73147ff9cf7ad56889414 refs/remotes/origin/upstream/
master
d247a112a9ffbad1057a2c8bede5727940ac2045 refs/remotes/origin/psp/
master
a6da08dc9f3a1e4903a8a1649afe1759c469feeb refs/remotes/origin/psp-video/
master
622a4b0bbc1663d0c67e2697d5276a77e98cdd99 refs/remotes/origin/psp-video/
beagleboardXM-camwork
f1c448e0a9e99c76f4ece368714fb35a40a8daba refs/remotes/origin/master
40a0c47b194c4f31af8b30c2d01f4df5bb8cb552 refs/remotes/origin/linux-
omap/master
fc786ca5e0a15dcade6fc2cb51767a58cebc2e59 refs/remotes/origin/linux-
omap-pm/master
1ef6ce7a340f9ed139a73147ff9cf7ad56889414 refs/remotes/origin/koen/
master
f0de09439861540aaaed1ff5926fd0205a0afd30 refs/remotes/origin/koen/
beagleboardXM
d65e0b1cf75c519768ef44c9b03e0eec61915556 refs/remotes/origin/
beagleboardXM-camwork_clean-vgasensor
1c350d34a3b39e7564ebd20904ba38a8f9f1e77c refs/remotes/origin/
beagleboardXM-camwork_clean
250e5bf211583993d5e56cb5fc736a07945fa496 refs/remotes/origin/
beagleboardXM-camwork
be152079b26269a25c792b8f31b3abb8fa7a6c69 refs/remotes/origin/
beagleboardXM
ff2a80a1bef6f7215221812eab381f4303fffce8 refs/remotes/origin/
beagleboard-merge-20100722
afb4dbf5c3633692ca5cdc052ec1c7c473a8020b refs/remotes/origin/
beaglebardXM-camwork

Hi Max,

I checked beagleboard validation kernel out that I suggested from git.

It works now, I have couple of questions near this, I would be
thankful if you answer them.

-> I should apply xenomai patch to kernel, so I need 2.6.30-31-33
kernels. Unfortunately xenomai has no arm patch for 2.6.32. Do you
have any advice for this kernel versions.
-> Second question is, how I can start beagleboard from Nand flash? I
tired examples to write x-loader and u-boot into flash, but it still
needs mmc card to start.

I followed this tutorial:
http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing

Hi Max,

I checked beagleboard validation kernel out that I suggested from git.

It works now, I have couple of questions near this, I would be
thankful if you answer them.

-> I should apply xenomai patch to kernel, so I need 2.6.30-31-33
kernels. Unfortunately xenomai has no arm patch for 2.6.32. Do you
have any advice for this kernel versions.
-> Second question is, how I can start beagleboard from Nand flash? I
tired examples to write x-loader and u-boot into flash, but it still
needs mmc card to start.

BeagleBoard xM has no NAND FLASH - you _must_ use the MMC card.

Hi Mustafa,

Next time you should tell us your final goal (for example "kernel with
xenomai"). :wink: Yes, xenomai doesn't provide patch for 2.6.32 kernel so
you have a number of options:

1. Try to fix patch for 2.6.33 kernel ("ksrc/arch/arm/patches/adeos-
ipipe-2.6.33-arm-1.18-00.patch"). Apply this patch to the validation
kernel, analyze "patch" utility output and fix original patch (i.e.
find the difference between file in your sources and lines from patch
and understand why there is a difference). After that you should very
carefully check changes in all the files listed in patch (around 180
files) and analyze changes to these files. This should be done as you
have patch for another kernel. This is quite difficult way but you'll
have stable (???) kernel with all the power management stuff and with
1GHz clock.

2. You can try to compile 2.6.33 kernel from tmlind branch and apply
xenomai patch. It's a much more easier way but you'll have kernel
without PM and with 800MHz clock.

3. Next option is to ask xenomai guys why they didn't provide a patch
for 2.6.32 kernel and to ask them to do this. :slight_smile:

4. And the easiest way is to forget about xenomai support. :)))

Cheers,
Max.