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- uImageI 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..