I have downloaded Kernel from below lables.
http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/log/?h=imx_3.14.28_1.0.0_ga
I compiled kernel code against our defconfig and dts files. Kernel is not booting I am not seeing any message after "Starting Kernel"
I just observed one thing. Makefile.boot is no more part of arch/arm/mach-imx folder. Seems it is intergrated to Device tree files. Could you please suggest where to check this information?
Any other pointers in debugging this issue would be great help.
Currently our board is running on 3.10.17 Kernel Version.
Let me know if you need any further information.
Thanks for your reply.
CONFIG_DEBUG_IMX_UART_PORT is configured to wrong Port no 1 i.e ttymxc0. After configuring it to 2 (ttymxc1) which we passed from Uboot. I could see early print logs after that. After that again its hanging at setup_arch.
In start_kernel -> setup_arch -> setup_machine_fdt:-> of_flat_dt_match_machine -> of_get_flat_dt_root
unsigned long p = ((unsigned long)initial_boot_params) + be32_to_cpu(initial_boot_params->off_dt_struct);
// Accessing initial_boot_params was causing Kernel to Freeze because in new Kernel initial_boot_params was not getting Initialized.
I tried to enable prints in arch/arm/boot/compressed/head.s by enabling macro DEBUG.
Enabled CONFIG_EARLY_PRINTK and CONFIG_DEBUG_LL. But not able too see any UART prints. Could you please suggest how to enable early prints.
These are the Parameters passed from Uboot.
printenv
baudrate=115200
boot_fdt=try
bootcmd=echo bootcmd...; mmc dev ${mmcdev}; if mmc rescan; then mmc read 10800000 400 200; source 10800000;echo defaulting to ORINOCO kernel at ${kernelimageaddr}...; run loadkernelimage; bootm ${loadaddr}; fi;
bootdelay=0
bootscript=echo Running bootscript from mmc ...; source 10800000
console=ttymxc1
emergencysize=4000
fdt_addr=0x18000000
fdt_file=imx6dl-wandboard.dtb
image=zImage
initrd_high=0xffffffff
ip_dyn=yes
kernelimageaddr=800
kernelsize=2000
loadaddr=11000000
loadbootscript=mmc read 10800000 400 200;
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadkernelimage=mmc read ${loadaddr} ${kernelimageaddr} ${kernelsize}
loadsplashimage=mmc dev ${mmcdev}; mmc read ${splashcpaddr} ${splashimageaddr} ${splashimagesize}; cp.b ${splashcpaddr} ${splashloadaddr}
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot} init=/lib/systemd/systemd nosmp earlyprintk log_buf_len=16M debug mem=512M loglevel=8; run videoargs
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcdev=0
mmcpart=1
mmcroot=/dev/mmcblk0p7 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} ${image}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
script=boot.scr
splashcpaddr=100000
splashimageaddr=600splashimagesize=1efdt_high=0xffffffff
splashloadaddr=41F80000
splashpos=m,m
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; setexpr fw_sz ${fw_sz} + 1; mmc write ${loadaddr} 0x2 ${fw_sz}; fi; fi
update_sd_firmware_filename=u-boot.imx
videoargs=setenv nextcon 0; if hdmidet; then setenv bootargs ${bootargs} video=mxcfb${nextcon}:dev=hdmi,1280x720M@60,if=RGB24; setenv fbmen fbmem=28M; setexpr nextcon ${nextcon} + 1; else echo - no HDMI monitor;fi; i2c dev 1; if i2c probe 0x10; then setenv bootargs ${bootargs} video=mxcfb${nextcon}:dev=lcd,800x480@60,if=RGB666; if test 0 -eq ${nextcon}; then setenv fbmem fbmem=10M; else setenv fbmem ${fbmem},10M; fi; setexpr nextcon ${nextcon} + 1; else echo '- no FWBADAPT-7WVGA-LCD-F07A-0102 display';fi; setenv bootargs ${bootargs} ${fbmem}
Environment size: 2949/8188 bytes
Where Makefile.boot info is moved in device tree?