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.