Bug 1029

Summary: [Beagleboard] Beagleboard can not boot up with 20110506 build
Product: [Build System, Metadata & Runtime] BSPs Reporter: Yi Zhao <yi.zhao>
Component: bsps-configurationAssignee: Darren Hart <dvhart>
Status: VERIFIED FIXED QA Contact:
Severity: critical    
Priority: High CC: dvhart, jefro, jiajun.xu, liang.li2, liangliang.wang, pokylinux, sgw, yi.zhao, yp.bsp.watcher, yp.watcher
Version: 1.0   
Target Milestone: 1.1 M1   
Hardware: Beagleboard   
OS: arm   
Whiteboard: Waiting for QA to validate (19-May-2011)
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---
Attachments:
Description Flags
v2011.03 master build none

Description Yi Zhao 2011-05-10 02:18:55 UTC
Testing Env:    
Host: Ubuntu 10.10 x86_64
Kernel: 2.6.35-28-generic

Image location:
http://autobuilder.pokylinux.org/nightly/20110506-4/machines/beagleboard/arm/
Commit information: 856a5e496b7ddd814f6a94552d02074f0ab30842

Steps:
1. Copy MLO,u-boot.bin,uImage and x-load.bin.ift to the boot partition on SD card.
2. Copy rootfs to the root partition on SD card.
3. Boot up the board. 

When boot up the board, the below message would be shown:

################# 
Texas Instruments X-Loader 1.4.4ss (May  7 2011 - 08:58:45)
Beagle Rev C4
Reading boot sector
Loading u-boot.bin from mmc

#################

And then the system had no response.

With 20110423 build (git commit 653cd1423793a3fd66da5c5682021d5c5b729cfe), the board can boot up.
################
Texas Instruments X-Loader 1.4.4ss (Apr 23 2011 - 21:53:25)
Beagle Rev C4
Reading boot sector
Loading u-boot.bin from mmc


U-Boot 2011.03-00038-g8d4addc-dirty (Apr 23 2011 - 21:53:43)

OMAP3530-GP ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 720 mHz
OMAP3 Beagle board + LPDDR/NAND
I2C:   ready
DRAM:  256 MiB
NAND:  256 MiB
MMC:   OMAP SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Beagle Rev C4
timed out in wait_for_pin: I2C_STAT=0
I2C read: I/O error
Unrecognized expansion board: 0
Die ID #33d6000400000000040373050f00701d
Hit any key to stop autoboot:  0 
OMAP3 beagleboard.org # 
##########################

Look like there is something wrong with u-boot.bin. So I copy the 20110423 build u-boot.bin to the boot partition instead of the 20110506 build. Then the board can boot up.
Comment 1 Darren Hart 2011-05-12 14:45:15 UTC
I'll be working on uboot recipes this week and next anyway, so I'll have a look at this.
Comment 2 Robert Berger 2011-05-13 14:07:36 UTC
I believe that's due to the fact that what's in the latest version of git is a much older version than the one which worked before.

Here is what I found out

http://article.gmane.org/gmane.linux.embedded.poky/6114
http://article.gmane.org/gmane.linux.embedded.poky/6125

BTW you can find the version of u-boot without being able to run it like this:

strings u-boot-beagleboard.bin | grep U-Boot

U-Boot 2011.03-00038-g8d4addc-dirty (May 13 2011 - 00:01:02)
** Invalid partition type "%.32s" (expect "U-Boot")
** Invalid partition type "%.32s" (expect "U-Boot")
U-Boot BUG at %s:%d!
Das U-Boot
U-Boot 2011.03-00038-g8d4addc-dirty
Comment 3 Robert Berger 2011-05-13 14:28:29 UTC
BTW don't get fooled by the name:

That's the working one for me:

u-boot-beagleboard-v2010.12+r1+git2+0e0c0892a1fab6f93ba09d89ec3315f08f1b6ef4-r1.bin

it's __not__ really v2010.12

In my case it's:
 
strings u-boot-beagleboard-v2010.12+r1+git2+0e0c0892a1fab6f93ba09d89ec3315f08f1b6ef4-r1.bin | grep U-Boot

U-Boot 2011.03-00038-g8d4addc-dirty (May 13 2011 - 00:01:02)
** Invalid partition type "%.32s" (expect "U-Boot")
** Invalid partition type "%.32s" (expect "U-Boot")
U-Boot BUG at %s:%d!
Das U-Boot
U-Boot 2011.03-00038-g8d4addc-dirty

here the naming is better, but that's the non-working one:

strings u-boot-beagleboard-v2010.12+r2+git1+d0e3a3f4574f1f51ae3d7c5605b7ea5c6df929d4-r2.bin | grep U-Boot

U-Boot 2010.12-00038-g8d4addc-dirty (May 13 2011 - 08:44:08)
** Invalid partition type "%.32s" (expect "U-Boot")
U-Boot BUG at %s:%d!
Das U-Boot
U-Boot 2010.12-00038-g8d4addc-dirty
Comment 4 Yi Zhao 2011-05-16 23:40:40 UTC
This issue also happened on 1.0.1 build 20110513
Branch: Bernard
git commit: 1b159ff35d9f484e72afb8b19a9e69a2770d8379
Comment 5 Bruce Ashfield 2011-05-17 05:46:27 UTC
darren indicated he was looking into this, so I haven't been following. And then I noticed that I was still the Assignee. So I'm updating that field to reflect reality.
Comment 6 Darren Hart 2011-05-17 11:38:32 UTC
Created attachment 157 [details]
v2011.03 master build

Confirmed that 2010.12 does not work on BBxM and that 2011.03 does. Patches tested on master, Bernard currently under test. I need someone to test on the C4. Please copy the attached file to the Beagleboard /boot filesystem as u-boot.bin, replacing the existing one.
Comment 7 Jeff Osier-Mixon 2011-05-17 13:15:48 UTC
I am rebuilding and testing with the latest (starting from a fresh git clone).  I should have just left you my rev C board while I was in town!  I can send it up if you like.
Comment 8 Jeff Osier-Mixon 2011-05-18 12:58:57 UTC
I had to do this before it would read the first partition using the images you sent:

-	mmc init
-	mmc rescan 0

Then the boot script worked fine with this:

-	fatload mmc 0 0x80000000 boot.scr
-	source

That last command just runs whatever is in memory at 80000000.

Note that not everyone may have this problem, but I had to do that with two different cards, so I think it is an x-loader/u-boot thing. However, it is running now and appears to be stable.
Comment 9 Darren Hart 2011-05-19 13:38:26 UTC
Fixed in Bernard:
53b15f2732cef26473ff651f86da3e4808616989

And in Master:
c6dde3245eea43252c5bc1a9de616187a797909f
Comment 10 Robert Berger 2011-05-19 22:39:04 UTC
(In reply to comment #8)
> I had to do this before it would read the first partition using the images you
> sent:
> 
> -    mmc init
> -    mmc rescan 0
> 
> Then the boot script worked fine with this:
> 
> -    fatload mmc 0 0x80000000 boot.scr
> -    source
> 
> That last command just runs whatever is in memory at 80000000.
> 
> Note that not everyone may have this problem, but I had to do that with two
> different cards, so I think it is an x-loader/u-boot thing. However, it is
> running now and appears to be stable.

Hi Jefro,

On a beagle-xm I see something very similar. You need to mmc init mmc rescan first. That's what I do in order to autoboot:
http://thread.gmane.org/gmane.linux.embedded.poky/6141/match=autoboot
Comment 11 Yi Zhao 2011-05-19 23:37:17 UTC
With the Yocto 1.0.1 20100519 build, it still can not boot up.

Image location:
http://autobuilder.pokylinux.org/nightly/20110519-2/machines/beagleboard/arm/
Branch: bernard
Commit info: 7d9e1bda1d539a2ee158e9657fd8a3ac1ead889f

Although the file name is "u-boot-beagleboard-v2011.03+git1+d0e3a3f4574f1f51ae3d7c5605b7ea5c6df929d4-r3.bin", actually the version is "2010.12"
########################
$ strings u-boot-beagleboard-v2011.03+git1+d0e3a3f4574f1f51ae3d7c5605b7ea5c6df929d4-r3.bin |grep U-Boot

U-Boot 2010.12-00038-g8d4addc-dirty (May 19 2011 - 20:26:23)
** Invalid partition type "%.32s" (expect "U-Boot")
U-Boot BUG at %s:%d!
Das U-Boot
U-Boot 2010.12-00038-g8d4addc-dirty
########################

When I use the u-boot from attachment in comment 6, it can boot up. And the version is "2011.03".
##########################
$ strings u-boot-beagleboard-v2011.03+r3+git1+b29fbb347698286935bfc401c08499a6f63479de-r3.bin |grep U-Boot

U-Boot 2011.03-00038-g8d4addc-dirty (May 17 2011 - 11:31:29)
** Invalid partition type "%.32s" (expect "U-Boot")
U-Boot BUG at %s:%d!
Das U-Boot
U-Boot 2011.03-00038-g8d4addc-dirty
##########################
Comment 13 Yi Zhao 2011-09-14 01:36:07 UTC
This bug had been fixed. Verified it.