[U-Boot] Issue with uboot on imx6slevk

Hi,
I would like to use Buildroot to generate a linux for imx6 sololitevk. I found an existing configuration done for this board in the master branch of Buildroot.
To generate my image :
make freescale_imx6sololiteevk_defconfig make all
Then I used this script in board/freescale/imx6sabresd/create-boot-sd.sh to generate an sd card by typing :
sudo ./create-boot-sd.sh /dev/mmcblk0
When I tried to run my sdcard on the board current result is :
_______________________________________________________ reading uImage 5258568 bytes read in 267 ms (18.8 MiB/s) Booting from mmc ... reading imx6sl-evk.dtb 33925 bytes read in 18 ms (1.8 MiB/s) ## Booting kernel from Legacy Image at 80800000 ... Image Name: Linux-3.10.17 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 5258504 Bytes = 5 MiB Load Address: 10008000 Entry Point: 10008000 Verifying Checksum ... OK ## Flattened Device Tree blob at 83000000 Booting using the fdt blob at 0x83000000 Loading Kernel Image ... data abort
MAYBE you should read doc/README.arm-unaligned-accesses
pc : [<bff939d8>] lr : [<bff70ee8>] sp : bfc6b9d0 ip : 00000000 fp : 00000000 r10: 80d03d48 r9 : 00000000 r8 : bfc6bf38 r7 : 80800000 r6 : 00000000 r5 : bfc6ba14 r4 : 10008000 r3 : 00000000 r2 : 00503d08 r1 : 80800040 r0 : 10008000 Flags: Nzcv IRQs off FIQs off Mode SVC_32 Resetting CPU ...
resetting ...
U-Boot 2013.04 (Dec 24 2014 - 14:30:31) _______________________________________________________
Is it normal ? Do I wrong somewhere in my process ? Do I must add a patch on uboot to fix that ? I see some stuff like this for example : https://gitorious.org/rowboat/u-boot/commit/7894b625259b89cd117685a0855a2c84...
Current printenv :
=> printenv baudrate=115200 boot_fdt=try bootargs=console=ttymxc0,115200 root=/dev/nfs ip=dhcp nfsroot=:,v3,tcp bootcmd=mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else rui bootcmd_mfg=run mfgtool_args;bootm ${loadaddr} ${initrd_addr} ${fdt_addr}; bootdelay=3 bootscript=echo Running bootscript from mmc ...; source console=ttymxc0 ethact=FEC ethaddr=00:04:9f:03:59:a4 ethprime=FEC fdt_addr=0x83000000 fdt_file=imx6sl-evk.dtb fdt_high=0xffffffff get_cmd=dhcp initrd_addr=0x83800000 initrd_high=0xffffffff ip_dyn=yes loadaddr=0x80800000 loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script}; loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file} loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage} mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot} mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootm ${loadaddr} - ${fdt_addr}; mmcdev=1 mmcpart=1 mmcroot=/dev/mmcblk0p2 rootwait rw netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${uimage}; if test; script=boot.scr stderr=serial stdin=serial stdout=serial uimage=uImage
Thanks & Regards, Arthur

On Mon, Dec 29, 2014 at 11:55 AM, Arthur Lambert lambertarthur22@gmail.com wrote:
Hi,
I would like to use Buildroot to generate a linux for imx6 sololitevk. I found an existing configuration done for this board in the master branch of Buildroot.
It seems that posting to the buildroot list would be more appropriate in your case.
resetting ...
U-Boot 2013.04 (Dec 24 2014 - 14:30:31)
Please use U-boot 2014.10 or 2015.01-rc3 instead.
If you have issues, then you can post here again ;-)

Arthur,
On Mon, Dec 29, 2014 at 1:39 PM, Fabio Estevam festevam@gmail.com wrote:
Please use U-boot 2014.10 or 2015.01-rc3 instead.
If you have issues, then you can post here again ;-)
By the way, just tested top of tree U-boot on a mx6sl evk and I didn't see any issues on booting the kernel.

Hi Fabio,
Ok I will test it tomorrow. Thanks for the reply. I did not know that I can use the main uboot for my build instead of the fork from Freescale for mx6
Arthur.
2014-12-29 21:07 GMT+01:00 Fabio Estevam festevam@gmail.com:
Arthur,
On Mon, Dec 29, 2014 at 1:39 PM, Fabio Estevam festevam@gmail.com wrote:
Please use U-boot 2014.10 or 2015.01-rc3 instead.
If you have issues, then you can post here again ;-)
By the way, just tested top of tree U-boot on a mx6sl evk and I didn't see any issues on booting the kernel.

Hi Arthur,
On Mon, Dec 29, 2014 at 6:12 PM, Arthur Lambert lambertarthur22@gmail.com wrote:
Hi Fabio,
Ok I will test it tomorrow. Thanks for the reply. I did not know that I can use the main uboot for my build instead of the fork from Freescale for mx6
I think I understand the issue you reported.
You are booting a uImage kernel:
## Booting kernel from Legacy Image at 80800000 ... Image Name: Linux-3.10.17 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 5258504 Bytes = 5 MiB Load Address: 10008000 Entry Point: 10008000 Verifying Checksum ... OK
,but the LOADADDR is incorrect: instead of 10008000 it should be 80008000
(0x10008000 is the LOADADDR for the other mx6 SoCs, but not for solo-lite).
So you should generate your kernel with the correct LOADADDR:
make uImage LOADADDR=0x80008000
Then you should be able to boot it with your current 2013.04 U-boot.
With the latest U-boot version we use zImage by default, so there is no need to worry about passing the correct LOADADDR.

Hi Fabio,
Thanks you :) I was able to run my linux sdcard image this morning thanks to your input (I had modify the loadaddr value in the config on the root directory of my buildroot project)
Arthur.
2014-12-29 21:19 GMT+01:00 Fabio Estevam festevam@gmail.com:
Hi Arthur,
On Mon, Dec 29, 2014 at 6:12 PM, Arthur Lambert lambertarthur22@gmail.com wrote:
Hi Fabio,
Ok I will test it tomorrow. Thanks for the reply. I did not know that I can use the main uboot for my build instead of the fork from Freescale for mx6
I think I understand the issue you reported.
You are booting a uImage kernel:
## Booting kernel from Legacy Image at 80800000 ... Image Name: Linux-3.10.17 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 5258504 Bytes = 5 MiB Load Address: 10008000 Entry Point: 10008000 Verifying Checksum ... OK
,but the LOADADDR is incorrect: instead of 10008000 it should be 80008000
(0x10008000 is the LOADADDR for the other mx6 SoCs, but not for solo-lite).
So you should generate your kernel with the correct LOADADDR:
make uImage LOADADDR=0x80008000
Then you should be able to boot it with your current 2013.04 U-boot.
With the latest U-boot version we use zImage by default, so there is no need to worry about passing the correct LOADADDR.
participants (2)
-
Arthur Lambert
-
Fabio Estevam