Custom board imx6dl Hangs at Virtual Kernel Memory Layout.
Source : boundary-imx_3.10.17_1.0.0_ga
Appended imx6q-arm2-dtb to zImage to boot from 2009 uboot.
Uboot> bootm
## Booting kernel from Legacy Image at 10800000 ...
Image Name:
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 5936480 Bytes = 5.7 MB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
command line: console=ttymxc1,115200 rdinit=/linuxrc is being passed to the kernel
## Passing machid: 0x00000efd - 3837
## Transferring control to Linux (at address 10008000) ...
cleanup_before_linux...
Starting kernel...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Linux version 3.10.17-g898627a-dirty (usr@ubuntu) (gcc version 4.5.2 20101026 (prerelease) (GCC) ) #10 SMP PREEMPT Fri Oct 17 13:09:48 EDT 2014
[ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Memory policy: ECC disabled, Data cache writealloc
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096
[ 0.000000] Kernel command line: console=ttymxc1,115200 gpmi_nand_part gpmi-nfc enable_wait_mode=off fec_mac=00:1E:AE:11:22:33 loglevel=6 gpmi_debug_init earlyprintk root=/dev/mmcblk0p1 rootfstype=ext2 rootwait rw
[ 0.000000] Memory: 685720k/685720k available, 362856k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc0800000 - 0xff000000 (1000 MB)
[ 0.000000] lowmem : 0x80000000 - 0xc0000000 (1024 MB)
[ 0.000000] pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
[ 0.000000] modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
[ 0.000000] .text : 0x80008000 - 0x80d4a6e4 (13578 kB)
[ 0.000000] .init : 0x80d4b000 - 0x80f04c40 (1768 kB)
[ 0.000000] .data : 0x80f06000 - 0x80f76250 ( 449 kB)
[ 0.000000] .bss : 0x80f76250 - 0x815f8820 (6666 kB)
No stub info is printed and it hangs
Hi prasanna
you are using imx6dl, while dtb is for another processor - imx6q-arm2-dtb.
imx6dl and imx6q are not fully compatible with each other.
You should use smth like *imx6dl*.dtb
linux/arch/arm/boot/dts at master · torvalds/linux · GitHub
Best regards
igor
I'm using imx6 dual SoC , tried nitrogen6x, wandaboard dtb reference, none of them works. It still hangs at ,
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xc0800000 - 0xff000000 (1000 MB)
lowmem : 0x80000000 - 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x80beca20 (12179 kB)
.init : 0x80bed000 - 0x80c312c0 ( 273 kB)
.data : 0x80c32000 - 0x80c814e0 ( 318 kB)
.bss : 0x80c814e0 - 0x80cea764 ( 421 kB)
þøÿ
are there any specific change to be made to any of those dts ? I'm having 1GB DDR3 RAM ( 4x256M ) with imx6dl SoC.
Please try below BSP it has all necessary files
L3.10.17_1.0.0_IMX6QDLS_BUNDLE : Source Code Download Steps Documentation and Demo Images.
Also for custom board one needs to get DDR parameters (calibration settings) and use them
https://community.freescale.com/docs/DOC-96412
Best regards
igor
DDR is already calibrated in uboot, for the board.
tried appending the fsl L3.10.17_1.0.0_ga_140404_images_MX6 dtb to my built uImage & also zImage( mkimage) and booted, still hangs at same place.
are SLUBs info missing because of wrong device tree blob memory configuration?
Hi prasanna
this error may be caused by memory misconfiguration.
If your board is based on sabre-lite design please post this
to boundary devices forum, they should have correct configuration
files for such boards
http://boundarydevices.com/community/
~igor
The board is not based on sabre lite design , are there minimal kernel & dtb configuration to test with 1GB of RAM ?
L3.10.17_1.0.0_IMX6QDLS_BUNDLE : Source Code Download Steps Documentation and Demo Images.
Well the board is having custom clock configuration having differences compared to sabresd. It seems like this is causing the issue in of_clk_init() in drivers/clk/clk.c where it scans the device tree for matching clock providers and calls their initialization functions, imx6dl.dtsi have them configured as same for all boards?
Solved the issue by making the xtal clock configurations and uart initialization in device tree.