Hi Yongcai,
Thank you for the reply.
When I built u-boot and kernel, seems the dtb files were not built automatically. In my kernel, I found these dts files. Should I pick one of them (like imx6q-sabresd.dts) and build into .dtb file? If so, could you suggest how? I googled around and found "In a normal flow, the DTS file is edited and compiled into a DTB file using a special compiler which comes with the Linux kernel sources" from here: A Tutorial on the Device Tree (Zynq) -- Part I | xillybus.com. I'm confused what special compiler it is.
./arch/arm/boot/dts/imx6q-sabresd-hdcp.dts
./arch/arm/boot/dts/imx6sl-evk-ldo.dts
./arch/arm/boot/dts/imx6dl-sabreauto.dts
./arch/arm/boot/dts/imx6dl-sabresd.dts
./arch/arm/boot/dts/imx6sl-evk-csi.dts
./arch/arm/boot/dts/imx6dl-sabresd-ldo.dts
./arch/arm/boot/dts/imx6dl-sabresd-hdcp.dts
./arch/arm/boot/dts/imx6q-sabrelite.dts
./arch/arm/boot/dts/imx6q-sabresd.dts
./arch/arm/boot/dts/imx6dl-sabreauto-ecspi.dts
./arch/arm/boot/dts/imx6dl-wandboard.dts
./arch/arm/boot/dts/imx6q-sabresd-ldo.dts
./arch/arm/boot/dts/imx6q-sabreauto.dts
./arch/arm/boot/dts/imx6q-sabreauto-flexcan1.dts
./arch/arm/boot/dts/imx6dl-sabreauto-flexcan1.dts
./arch/arm/boot/dts/imx6q-sbc6x.dts
./arch/arm/boot/dts/imx6q-sabreauto-gpmi-weim.dts
./arch/arm/boot/dts/imx6q-sabreauto-ecspi.dts
./arch/arm/boot/dts/imx6dl-sabreauto-gpmi-weim.dts
./arch/arm/boot/dts/imx6q-arm2.dts
./arch/arm/boot/dts/imx6sl-evk.dts
Another question is: do I really need a .dtb file to boot? I didn't have it when booting with Linux 3.0.35 from Freescale.
In order to exclude other factors (SD card programming, etc.) and only to test kernel, I actually tried one more thing, which is to boot kernel from network. Here is the details:
- Set up TFTP server on Ubuntu host, and put the kernel file uImage_3.10.17 into /tftpboot
- on u-boot prompt, I ran these commands:
- "setenv serverip 10.0.0.7"
- "setenv ipaddr 10.0.0.11"
- "tftp uImage_3.10.17" to copy kernel from Ubuntu to iMX6 RAM
- "bootm" to boot from RAM
But the kernel hung at the very beginning:
U-Boot > tftp uImage_3.10.17
Using FEC device
TFTP from server 10.0.0.7; our IP address is 10.0.0.11
Filename 'uImage_3.10.17'.
Load address: 0x12000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#########################################
1.1 MiB/s
done
Bytes transferred = 5201216 (4f5d40 hex)
U-Boot > bootm
## Booting kernel from Legacy Image at 12000000 ...
Image Name: Linux-3.10.17
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 5201152 Bytes = 5 MiB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
No gpc device node -9, force to ldo-enable.
Starting kernel ...
I also downloaded the latest Yocto kernel source code (ver 3.10.3) from linux-yocto-3.10 - Linux 3.10 Embedded Kernel, built and tried to boot from network, and got the exact same symptom. I'm wondering if there's anything wrong in my build process. This is how I built it (I mentioned previously, and I was able to build u-boot with the same process (with different defconfig of course):
- export PATH=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/:$PATH
- export ARCH=arm
- export CROSS_COMPILE=arm-none-linux-gnueabi-
- make imx_v7_defconfig
- make uImage LOADADDR=0x10008000
Could you comment?
Thanks a lot,
Jason