Kernel Linux-3.10.17-rt11-yocto-preempt not started in imx6 quad sd board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Kernel Linux-3.10.17-rt11-yocto-preempt not started in imx6 quad sd board

2,097 Views
maurice
Contributor III

Hello,

I compiled with yocto and dora branch the kernel 3.10.17 for imx6q sd board. But the kernel jhas not started.

Do you know why?

There my boot environment :

Boot environment

U-Boot > printenv

baudrate=115200

boot_fdt=try

bootargs=console=ttymxc0,115200 root=/dev/nfs ip=dhcp nfsroot=:,v3,tcp

bootcmd=mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi

bootdelay=1

bootfile=imx6qsabresd.dtb

bootscript=echo Running bootscript from mmc ...; source

console=ttymxc0

ethact=FEC

ethaddr=00:04:9f:02:70:e5

ethprime=FEC

fdt_addr=0x18000000

fdt_file=/boot/imx6qsabresd.dtb

fdt_high=0xffffffff

get_cmd=dhcp

initrd_high=0xffffffff

ip_dyn=yes

loadaddr=0x12000000

loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};

loadfdt=ext2load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}

loaduimage=ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}

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}; else if test ${boot_fdt} = try; then bootm; else ech;

mmcdev=1

mmcpart=1

mmcroot=/dev/mmcblk0p1 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 ${boot_fdt} = yes || test ${boot_fdt} = try; then if ;

script=boot.scr

uimage=/boot/uImage

update_sd_firmware=if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; if mmc dev ${mmcdev}; then if ${get_cmd} ${update_sd_firmware_filename}; then setexpr fw_sz ${filesize} / 0x200;i

Environment size: 2059/8188 bytes

and the message on my prompt

boot prompt

CPU:   Freescale i.MX6Q rev1.2 at 792 MHz

Reset cause: POR

Board: MX6-SabreSD

DRAM:  1 GiB

MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2

No panel detected: default to HDMI

Display: HDMI (1024x768)

In:    serial

Out:   serial

Err:   serial

Net:   FEC [PRIME]

Hit any key to stop autoboot:  0

mmc1 is current device

** Unrecognized filesystem type **

913896 bytes read in 123 ms (7.1 MiB/s)

Booting from mmc ...

22882 bytes read in 78 ms (286.1 KiB/s)

## Booting kernel from Legacy Image at 12000000 ...

   Image Name:   Linux-3.10.17-rt11-yocto-preempt

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    913832 Bytes = 892.4 KiB

   Load Address: 12000000

   Entry Point:  12000000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 18000000

   Booting using the fdt blob at 0x18000000

   XIP Kernel Image ... OK

   Using Device Tree in place at 18000000, end 18008961

Starting kernel ...

undefined instruction

pc : [<12000028>]          lr : [<4ff7a008>]

sp : 4f5769c0  ip : ffffffff     fp : 4201e9c0

r10: 12c2eb04  r9 : 4f576f38     r8 : 14c2eb01

r7 : 00000000  r6 : 12000000     r5 : 4ffba7d8  r4 : 00000000

r3 : 00005962  r2 : 18000000     r1 : 00000f98  r0 : 18000000

Flags: nZCv  IRQs off  FIQs off  Mode SVC_32

Resetting CPU ...

resetting ...

Thank you

Maurice

0 Kudos
5 Replies

934 Views
igorpadykov
NXP Employee
NXP Employee

Hi maurice

one can try boot with parameters:

imx6qsabresd-ldo.dtb, ip=none

Best regards

igor

0 Kudos

934 Views
maurice
Contributor III

No, it is NOT working.

my dtb file name is mx6qsabres.dtb and not mx6qsabresd-ldo.dtb. However, I tried it....

I copy uImage and mx6qsabresd.dtb files into the /boot.

The U-boot clearly find the files and load it but the uImage, has not started.

Furthermore, I do not understand what is ip=none ? only boot env ip_dyn is there.

Maybe I do not understand you ou you do not understand me.

I used yocto branch dora, kernel version is 3.10.17, then I did bitbake core-image-rt.

then  i copy u-boot with dd as usual (I am not a novice with imx6 and u-boot), then i copy rootfs in a ext4 partition of my sd-card from 16384 bytes (it leaves memory space for the u-boot).

then i copy uImage and dtb files into the sd-card/boot.

0 Kudos

934 Views
igorpadykov
NXP Employee
NXP Employee

for ip=none please look at attached document Table 8. Kernel Boot Parameters  p.9.

Below officially supported (tested by Freescale) images (from Freescale_Yocto_Project_User's_Guide.pdf L3.10.17_1.0.0_LINUX_DOCS  )

yocto.jpg

seems core-image-rt supported by community and I would highly recommend to try

latest (dizzy)

FSL Community BSP Release Notes 1.7 documentation

Also I would recommend to post this to meta-fsl-arm mailing list, so that someone familiar with core-image-rt could try to assist you.

https://lists.yoctoproject.org/listinfo/meta-freescale

0 Kudos

934 Views
maurice
Contributor III

ok.I already did this. The dizzy branch is worst because the latest version is not compiling.... problem of "ln -fs " operation;

But my concern is about the patch RT.

So it is more relevant to see yocto community....

I think the problem is due to gcc version 4.8.2 because when dissambling the vmlinux image, I find the "undefined instruction":

vmlinux:    file format elf32-littlearm

Disassembly of section .head.text:

c0008000 <stext>:

c0008000: eb00125e bl            c000c980 <__hyp_stub_install>

c0008004: e10f9000 mrs        r9, CPSR

c0008008: e229901a eor        r9, r9, #26

c000800c: e319001f tst          r9, #31

c0008010: e3c9901f bic          r9, r9, #31

c0008014: e38990d3 orr          r9, r9, #211        ; 0xd3

c0008018: 1a000004 bne        c0008030 <stext+0x30>

c000801c: e3899c01 orr          r9, r9, #256        ; 0x100

c0008020: e28fe00c add        lr, pc, #12

c0008024: e16ff009 msr        SPSR_fsxc, r9

c0008028: e12ef30e .word    0xe12ef30e

c000802c: e160006e .word    0xe160006e

...


I do not know how to solve it.

If anyother user can help me it will be great. thank you!


BR

Maurice


According to me, this subject is not closed.


934 Views
igorpadykov
NXP Employee
NXP Employee

seems RT requires more tweaking, for example removing

cpufreq and probably DVFS with low power modes

meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6 at master · Freescale/meta-fsl-arm · GitH...

0 Kudos