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

Alexander Khryukin
2014-01-17T14:36:46Z

Thanks for your answer!

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

It's not obvious for me how to do it.
Might you have any guide or faq?

2014/1/17 Detlev Zundel <dzu@denx.de>

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