BBxm not booting (boot/uImage not found !)

All,

I have been using a BBxm running Angstrom for the last few months or so and haven’t had any major problems.

I was working with it (and was working fine) and then rebooted the system. It wouldn’t boot after many attempts so I checked the output via a serial port. I get the following error:

U-Boot 2011.03-rc1-00000-g9a3cc57-dirty (Apr 01 2011 - 17:41:42)

OMAP36XX/37XX-GP ES2.1, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - readenv() failed, using default environment

In: serial
Out: serial
Err: serial
Beagle xM Rev C
No EEPROM on expansion board
Die ID #7fee00029ff80000016849a904032019
Hit any key to stop autoboot: 0
The user button is currently NOT pressed.
SD/MMC found on device 0
reading uEnv.txt

149 bytes read
Loaded environment from uEnv.txt
Importing environment from mmc …
Loading file “/boot/uImage” from mmc device 0:2 (xxa2)
** File not found /boot/uImage
Booting from nand …

no devices available
Wrong Image Format for bootm command
ERROR: can’t get kernel image!
OMAP3 beagleboard.org #

The funny part is that when I checked the sd-card (after removing it from the BB), I found all 4 binaries/files (MLO, uEnv.txt, UIMAGE, U-BOOT.BIN) on my card.
But I did try copying uImage separately, and I just couldn’t copy it. (I couldn’t copy any files into /media/boot from my Ubuntu despite “cp -f” ing it).

Any pointers on where I may have gone wrong ?

Update:
So this is my uEnv.txt

mpurate=1000
camera=lbcmvga
dvimode=“hd720 omapfb.vram=0:8M,1:4M,2:4M”
vram=16M
optargs=“consoleblank=0”
console=“tty0 console=ttyS2,115200n8”

I followed the advice here and here to and tried changing console to ttyO2, but that didn’t help.

best

Uboot reads uImage from the ext3 partition, directory /boot, but apparently this file is missing for some reason. You need to recover the /rootfs partition and place all necessary files there

Maxim,

thansk for the reply.
So I checked out my rootfs, and this is what it part of it looks like

image.png

In case the image isn’t visible, (ls -l returned the following against /boot)
?rw-r-x–x 2 root root 4096 1976-02-14 17:24 boot

I reckon /boot should be a directory ?
But here it is listed as a file ? Is there anyway I can fix that ?

Would, running fsck.ext3 on the filesystem work ?
(I tried it, and allowed a few corrections at first which I allowed. But then it kept on asking for a lot, and I denied them because I was a bit nervous)

image.png

Ok, So I think I might have screwed this up majorly.

So I ran fsck.ext3 -y on the partition on my sd card (from my Ubuntu).
And it fixed a load of errors. When I checked my SD card again I realized that it had not only removed the /boot directory in rootfs, but also a few other files in /home/. (I am not sure if it has deleted anymore )

I then created a /boot directory manually in rootfs and copied uImage onto that directory.

When I boot the BBxm, the booting gets stuck here:

OMAP36XX/37XX-GP ES2.1, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - readenv() failed, using default environment

In: serial
Out: serial
Err: serial
Beagle xM Rev C
No EEPROM on expansion board
Die ID #7fee00029ff80000016849a904032019
Hit any key to stop autoboot: 0
The user button is currently NOT pressed.
SD/MMC found on device 0
reading uEnv.txt

149 bytes read
Loaded environment from uEnv.txt
Importing environment from mmc …
Loading file “/boot/uImage” from mmc device 0:2 (xxa2)
3373136 bytes read
Booting from mmc …
## Booting kernel from Legacy Image at 80200000 …
Image Name: Angstrom/3.0.17/beagleboard
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3373072 Bytes = 3.2 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

Uncompressing Linux… done, booting the kernel.

Anyway, I can recover my OS from here ?

image.png

I would create another SD from scratch

image.png

Maxim and all,

So this is what I did. I realized that /boot needs to contain not only uImage but also a few other files (like MLO and u-boot.bin).
What I did was, I downloaded the Angsgtrom demo build, untarred it and copied the contents of /boot in the rootfs onto the /boot in the rootfs of the SD card.

It worked ! and the OS booted without a problem.
There were a few issues though - I think, fsck had corrupted some of my libs/ dependencies I had installed, but I was able to get most of them working after reinstalling all dependencies. (including opencv, mt9v113).

Will keep this threat updated on the developments.

best

image.png

No need in mlo/u-boot.img in the /boot directory. 100%
The CPU BootROM reads only MLO file from a SD card and then MLO decides where it gets u-boot from. Usually u-boot is read from the SD card, same partition as MLO. And it is absolutely certain for all Angstrom demos

Отправлено с iPad

18.11.2012, в 8:18, Kirthevasan Kandasamy <kirthevasankandasamy@gmail.com> написал(а):