This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Rebuilding Beaglebone Angstrom Kernel?

Other Parts Discussed in Thread: TPS65910

Crawl. Walk. Run. I'm still in the crawl phase here..

I'm just trying to create a stock Angstrom uImage from scratch, copy it to my sd card and reboot my beaglebone.. but my kernel panics at reboot. I must be doing something wrong, but can't find it.

I have an Ubuntu 10.04 host in vmware on my windows 7 box.

I have the SDK installed at  \home\drew\ti-sdk-am335x-evm-05.04.01.00

I updated the sd card to the latest uImage using "the easy way" at

http://downloads.angstrom-distribution.org/demo/beaglebone/

(using another linux box, as the raw SD card reader on my computer doesn't show up as a removable device in vmware)

I set up my path like this...

export PATH=/home/drew/ti-sdk-am335x-evm-05.04.01.00/linux-devkit/bin/:$PATH

I cd into the SDK's board-support/linux-3.2-psp04.06.00.07.sdk/ subdirectory.

I clean the sources

make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- mrproper

I grab the stock config file, using either

make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- am335x_evm_defconfig

or

make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- tisdk_am335x-evm_defconfig

I build a new kernel

make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- uImage

I copy the new kernel to the sd card boot partition

scp arch/arm/boot/uImage root@10.100.111.105:/boot/uImage-3.2.14a

(The new kernel is 3061568 bytes, where the old one is 3174920 bytes, so a slight difference..)

In the beaglebone console (over USB) I point the symbolic link to the new image:

root@beaglebone:~# cd /boot

root@beaglebone:/boot# ln -sf uImage-3.2.14a uImage

and everything looks great, (I'm thinking..) but...

When I reboot..

Loading file "/boot/uImage" from mmc device 0:2 xxa2                            
3061568 bytes read                                                              
## Booting kernel from Legacy Image at 80007fc0 ...                             
   Image Name:   Linux-3.2.14                                                   
   Image Type:   ARM Linux Kernel Image (uncompressed)                          
   Data Size:    3061504 Bytes = 2.9 MiB                                        
   Load Address: 80008000                                                       
   Entry Point:  80008000                                                       
   Verifying Checksum ... OK                                                    
   XIP Kernel Image ... OK                                                      
OK                                                                              
                                                                                
Starting kernel ...                                                            

Uncompressing Linux... done, booting the kernel.                                
[    0.170532] tps65910 1-002d: could not be detected                           
[    0.219238] Could not set LED4 to fully on                                   
[    0.356628] mtdoops: mtd device (mtddev=name/number) must be supplied        
[    0.436401] omap_hwmod: wkup_m3: wkup_m3: hwmod data error: OMAP4 does not st
[    0.564147] Kernel panic - not syncing: VFS: Unable to mount root fs on unkn)
[    0.573028] Backtrace:                                                       
[    0.575714] [<c00178f8>] (dump_backtrace+0x0/0x110) from [<c040b990>] (dump_)
[    0.584625]  r6:cf90d000 r5:c05a2de4 r4:c0610b08 r3:c05d3d08                 
[    0.590637] [<c040b978>] (dump_stack+0x0/0x1c) from [<c040ba00>] (panic+0x6c)
[    0.598724] [<c040b994>] (panic+0x0/0x1a0) from [<c0575cb4>] (mount_block_ro)
[    0.607574]  r3:c05d3d08 r2:00000000 r1:cf81df58 r0:c04dece0                 
[    0.613555]  r7:00008001                                                     
[    0.616241] [<c0575b30>] (mount_block_root+0x0/0x228) from [<c0575f1c>] (mou)
[    0.625366] [<c0575e44>] (mount_root+0x0/0xe0) from [<c05760bc>] (prepare_na)
[    0.634643]  r4:c060fba0                                                     
[    0.637298] [<c0575f24>] (prepare_namespace+0x0/0x1d4) from [<c057590c>] (ke)
[    0.646759]  r5:c05b0fb8 r4:c05b0fb8                                         
[    0.650573] [<c05757e8>] (kernel_init+0x0/0x130) from [<c00403bc>] (do_exit+)
[    0.658935]  r5:c05757e8 r4:00000000 

If I reset and go into u-boot I can

setenv bootfile uImage-3.2.14

boot

and it boots the old kernel fine.. I can copy the working kernel to another file, link to that file, and that works too.

Can anyone see what I am doing wrong? What did I forget to read or do?

I'm trying to follow sitara-linuxsdk-sdg-05.04.01.00.pdf starting at page 97..

Is anyone else building this just fine, or anyone seeing the same trouble?

--

Oh, I modified Makefile so that the built image has the same name.. 3.2.14 (it was 3.2.0 unmodified.) but that did not help.

  • I tried rebuilding the Arago 3.1.0-00010-g66bfbd2 kernel, source pulled from git

    git clone http://arago-project.org/git/projects/linux-am33x.git

    as well as doing an install_modules and copying the modules over to the beaglebone's /llib/modules directory...

    No joy. All the kernels I build continue to panic.

    The mtdoops message seems the most suspicious to me...

  • Finally got my kernel to boot.

    I assumed it was Angstrom since the version number was 3.2, but I found out the kernel in the SDK is Arago, so I switched to the Arago SD card.

    I got it to boot using tftpboot. I'm still not able to boot the same image file by copying it to the sd card.

  • Hmm.. correction.. Arago website says that the TI SDK is not the same as Arago either...

    TI SDK is most stable..

    Arago is "middle ground"

    Angstrom is "cutting edge" ?

    In any event, the SDK is apparently closer to Arago than Angstrom..