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
Hi maurice
one can try boot with parameters:
imx6qsabresd-ldo.dtb, ip=none
Best regards
igor
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.
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 )
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.
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.
seems RT requires more tweaking, for example removing
cpufreq and probably DVFS with low power modes