AnsweredAssumed Answered

Yocto 3.14.28 and problem with u-boot.imx on i.mx6sl evk

Question asked by jayakumar2 on Aug 19, 2015
Latest reply on Aug 20, 2015 by jayakumar2

Hi,

 

I was previously using the u-boot and kernel from LTIB 3.0.35 and rootfs from yocto fsl-community-bsp-platform ( dylan ). This was working great and I am happy with it.

 

In order to evaluate the newer wifi drivers in the kernel, I decided to test the newer 3.14.28 kernel that comes as part of Yocto 3.14.28.

 

I did a clean build using:

repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.14.28-1.0.1_patch

repo sync

MACHINE=imx6slevk source fsl-setup-release.sh –b build-fb –e fb

bitbake core-image-minimal

 

After that completed, I got the output:

ls -lart /mnt/141/home/test/yocto_3.14.28-1.0.1/build/tmp/deploy/images/imx6slevk/u-boot*

-rwxr-xr-x 2 test test 277504 Jul  29 02:54 /mnt/141/home/test/yocto_3.14.28-1.0.1/build/tmp/deploy/images/imx6slevk/u-boot-imx6slevk-2014.04-r0.imx

lrwxrwxrwx 1 test test     31 Jul  29 02:54 /mnt/141/home/test/yocto_3.14.28-1.0.1/build/tmp/deploy/images/imx6slevk/u-boot-imx6slevk.imx -> u-boot-imx6slevk-2014.04-r0.imx

lrwxrwxrwx 1 test test     31 Jul  29 02:54 /mnt/141/home/test/yocto_3.14.28-1.0.1/build/tmp/deploy/images/imx6slevk/u-boot.imx -> u-boot-imx6slevk-2014.04-r0.imx

 

Checking the u-boot binary, I see the d1 00 20 type IVT header so it looks okay:

hexdump -C /mnt/141/home/test/yocto_3.14.28-1.0.1/build/tmp/deploy/images/imx6slevk/u-boot-imx6slevk-2014.04-r0.imx | head -10

00000000  d1 00 20 40 00 00 80 87  00 00 00 00 2c f4 7f 87  |.. @........,...|

00000010  20 f4 7f 87 00 f4 7f 87  00 00 00 00 00 00 00 00  | ...............|

00000020  00 f0 7f 87 00 40 04 00  00 00 00 00 d2 02 80 40  |.....@.........@|

00000030  cc 02 7c 04 02 0c 40 18  00 26 03 24 02 0c 40 68  |..|...@..&.$..@h|

00000040  ff ff ff ff 02 0c 40 6c  ff ff ff ff 02 0c 40 70  |......@l......@p|

00000050  ff ff ff ff 02 0c 40 74  ff ff ff ff 02 0c 40 78  |......@t......@x|

00000060  ff ff ff ff 02 0c 40 7c  ff ff ff ff 02 0c 40 80  |......@|......@.|

00000070  ff ff ff ff 02 0e 03 44  00 00 30 30 02 0e 03 48  |.......D..00...H|

00000080  00 00 30 30 02 0e 03 4c  00 00 30 30 02 0e 03 50  |..00...L..00...P|

00000090  00 00 30 30 02 0e 03 0c  00 00 00 30 02 0e 03 10  |..00.......0....|

 

I then flash this u-boot.imx to the SD card the same way I flash the u-boot that gets built via LTIB.

dd if=/mnt/141/home/test/yocto_3.14.28-1.0.1/build/tmp/deploy/images/imx6slevk/u-boot-imx6slevk-2014.04-r0.imx of=/dev/sdf bs=512 seek=2 skip=2 conv=fsync,notrunc

540+0 records in

540+0 records out

276480 bytes (276 kB) copied, 0.072374 s, 3.8 MB/s

 

When I tried this on the 6sololite evk , it does not boot.

 

When I switch back to the ltib u-boot, then it boots fine.

 

I then looked at the u-boot binary in LTIB:

00000000  9e 01 00 ea 00 00 00 00  00 00 00 00 00 00 00 00  |................|

00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

*

00000400  d1 00 20 40 80 06 80 87  00 00 00 00 2c 04 80 87  |.. @........,...|

 

So I see there is a 1k offset before the IVT header.

 

So I'm guessing that the root cause for this failure is that the new yocto's build or the upstream u-boot in the yocto build's mkimage is not generating that 1k alignment and whatever that 9e 01 00 .. signature is from.

 

I'm trying to search for the appropriate fix now. Anyone already solve this?

 

Thanks,

jaya

Outcomes