[U-Boot] imx: Kernel not booting with fdt

Matthias Weißer weisserm at arcor.de
Wed Jul 3 08:20:35 CEST 2013


Am 03.07.2013 03:16, schrieb Fabio Estevam:
> On Tue, Jul 2, 2013 at 12:26 PM, Matthias Weißer <weisserm at arcor.de> wrote:
>> Hi
>>
>> I try to boot a current 3.11 kernel on a custom iMX25 board using DT. u-boot
>> starts the kernel but it stops working just after the first eralyprintk
>> lines are out. The u-boot/kernel output:
>>
>> bootm 0x81000000 - 0x80800000
>> ## Booting kernel from Legacy Image at 81000000 ...
>>    Image Name:   Linux-3.10.0
>>    Image Type:   ARM Linux Kernel Image (uncompressed)
>>    Data Size:    3834336 Bytes = 3.7 MiB
>>    Load Address: 80008000
>>    Entry Point:  80008000
>>    Verifying Checksum ... OK
>> ## Flattened Device Tree blob at 80800000
>>    Booting using the fdt blob at 0x80800000
>>    Loading Kernel Image ... OK
>> OK
>>    Loading Device Tree to 8374f000, end 837545d4 ... OK
>>
>> Starting kernel ...
>>
>> Uncompressing Linux... done, booting the kernel.
>> [    0.000000] Booting Linux on physical CPU 0x0
>> [    0.000000] Initializing cgroup subsys cpuset
>> [    0.000000] Initializing cgroup subsys cpu
>> [    0.000000] Initializing cgroup subsys cpuacct
>> [    0.000000] Linux version 3.10.0 (mweisser at ubuntu) (gcc version 4.7.3
>> (Ubuntu/Linaro 4.7.3-1ubuntu1) ) #4 Tue Jul 2 1
>> 7:13:13 CEST 2013
>> [    0.000000] CPU: ARM926EJ-S [41069264] revision 4 (ARMv5TEJ), cr=00053177
>> [    0.000000] CPU: VIVT data cache, VIVT instruction cache
>> [    0.000000] Machine: Generic DT based system, model: Graf-Syteco zmx25
>
> Not sure why you get a "Generic DT based system" here.

Isn't that supossed to be the right output for a DT kernel?

> Can you post your dts file?

Sure. It is based on imx25-pdk.dts minus nand plus uart2 which is used 
as debug uart on the system in question.

/dts-v1/;
#include "imx25.dtsi"

/ {
	model = "Graf-Syteco zmx25";
	compatible = "fsl,zmx25", "fsl,zmx25";

	memory {
		reg = <0x80000000 0x4000000>;
	};
};

&uart1 {
	status = "okay";
};

&uart2 {
     status = "okay";
};

&fec {
	phy-mode = "rmii";
	status = "okay";
};


> Have you selected CONFIG_MACH_IMX25_DT=y on your kernel config file?

$ cat .config | grep CONFIG_MACH_IMX25_DT
CONFIG_MACH_IMX25_DT=y

Confirmed.

> Also, make sure you have "#define CONFIG_OF_LIBFDT" on your U-boot
> board config file.

$ cat include/configs/zmx25.h | grep CONFIG_OF_LIBFDT
#define CONFIG_OF_LIBFDT

Confirmed.

As the kernel is not crashing but hanging in an endless loop I will try 
if I can get some additional information via the JTAG debugger.

Regards
Matthias



More information about the U-Boot mailing list