[U-Boot] booting os 'Unknown OS' (1) is not supported

Detlev Zundel
2014-01-17T14:11:00Z

Hi Alexander,

> I faced with a strange behaviour of u-boot.

Expected behaviour for some people may seem strange to others ;)

> Few months ago i bought an ARM development board from yicsystem
> it's based on exynos 5250 and very similar to arndale
> http://www.yicsystem.com/products/low-cost-board/yse5250/
>
> And i can boot Android ICS
> but when i try to boot any linux
> i always see
>
>
> Checking Boot Mode ... SDMMC
> Now running in RAM - U-Boot at: c3e00000
> REVISION: 1.0
> REVISION: 1.0
> MMC Device 0: 3839 MB
> NAME: S5P_MSHC0
> MMC Device 1: 7348 MB
> MMC Device 2 not found
> Destroy Hash Table: c3f80f78 table = (null)
> Create Hash Table: N=512
> INSERT: table c3f80f78, filled 1/521 rv c3d047a0 ==> name="baudrate"
> value="115200"
> INSERT: table c3f80f78, filled 2/521 rv c3d0582c ==> name="bootargs"
> value="root=/dev/mmcblk0p1"
> INSERT: table c3f80f78, filled 3/521 rv c3d04a1c ==> name="bootcmd"
> value="movi read kernel 0 40008000;movi read rootfs 0 41000000 100000;bootm
> 40008000 41000000"
> INSERT: table c3f80f78, filled 4/521 rv c3d04f20 ==> name="bootdelay"
> value="3"
> INSERT: table c3f80f78, filled 5/521 rv c3d04bfc ==> name="bootfile"
> value="/tftpboot/revoboot/bin/revoboot.pxe"
> INSERT: table c3f80f78, filled 6/521 rv c3d040a4 ==>
> name="emmcbootrecovery" value="mmc erase boot 1 0 0;emmc open 1;movi read
> fwbl1 0 40000000;movi write zero fwbl1 1 40000000;movi read bl2 0
> 40004000;movi write zero bl2 1 40004000;movi read u-boot 0 42000000;movi
> write zero u-boot 1 42000000;movi read tzsw 0 42100000;movi write zero tzsw
> 1 42100000;emmc close 1"
> INSERT: table c3f80f78, filled 7/521 rv c3d04998 ==> name="ethact"
> value="smc911x-0"
> INSERT: table c3f80f78, filled 8/521 rv c3d0462c ==> name="ethaddr"
> value="00:40:5c:26:0a:5b"
> INSERT: table c3f80f78, filled 9/521 rv c3d057a8 ==> name="gatewayip"
> value="192.168.0.1"
> INSERT: table c3f80f78, filled 10/521 rv c3d05874 ==> name="ipaddr"
> value="192.168.0.28"
> INSERT: table c3f80f78, filled 11/521 rv c3d048c0 ==> name="netmask"
> value="255.255.255.0"
> INSERT: table c3f80f78, filled 12/521 rv c3d05214 ==> name="rootfslen"
> value=" 100000"
> INSERT: table c3f80f78, filled 13/521 rv c3d048e4 ==> name="serverip"
> value="192.168.0.13"
> INSERT: free(data = c3d00010)
> INSERT: done
> Net: smc911x-0
> ### main_loop entered: bootdelay=3
>
> ### main_loop: bootcmd="movi read kernel 0 40008000;movi read rootfs 0
> 41000000 100000;bootm 40008000 41000000"
> Hit any key to stop autoboot: 0
> reading kernel..device 0 Start 1063, Count 16384
> MMC read: dev # 0, block # 1063, count 16384 ... 16384 blocks read: OK
> completed
> reading RFS..device 0 Count 17447, Start 2048
> MMC read: dev # 0, block # 17447, count 2048 ... 2048 blocks read: OK
> completed
> ## Current stack ends at 0xc3cfbd98 * kernel: cmdline image address =
> 0x40008000
> ## Booting kernel from Legacy Image at 40008000 ...
> Image Name: Linux-3.12.0-rc1-armv7-x0.6-0012
> Image Type: ARM Linux Kernel Image (uncompressed)
> Data Size: 3243400 Bytes = 3167 KiB
> Load Address: 40008000
> Entry Point: 40008000
> Verifying Checksum ... OK
> kernel data at 0x40008040, len = 0x00317d88 (3243400)
> * ramdisk: cmdline image address = 0x41000000
> Wrong Ramdisk Image Format
> ramdisk start = 0x41000000, ramdisk end = 0x41000000
> XIP Kernel Image ... OK

This "XIP" points to a problem. In essence I think you should try to
load your image to any address in RAM but _not_ to the load address
specified in the uImage. The intention of this field is to tell U-Boot
where the uImage file - that could reside on nor flash for exmple -
should be loaded to in RAM before it is executed. You have specified
4008000 at image creation time but already load uImage that has a
64-byte header prepended to that location. U-Boot in term finds that
the image is alreday where it should be, does nothing and switches to
XIP mode and then gets pretty confused.

So again, try loading the image somewhere else in RAM and let U-Boot do
the copying to the correct place.

And even better, we consider uImages to be legacy for quite a while, so
please plan to switch to using FIT images sometime soon.

Cheers
Detlev

--
This is not the first time my views on some topic have inspired in
someone the desire to psychoanalyze me. Previous experience leads me
to ask about your couch. Is it comfortable? Are its springs in good
shape? -- Jonh McCarthy
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de