Kernel Bring up from 3.14.28

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Kernel Bring up from 3.14.28

1,188 Views
dilshad_alam
Senior Contributor II

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.

Labels (2)
0 Kudos
4 Replies

568 Views
alejandrolozan1
NXP Employee
NXP Employee

Hi,

I wonder if you tried with the wandboard custom kernel?

wandboard-org/linux · GitHub

/Alejandro

0 Kudos

568 Views
dilshad_alam
Senior Contributor II

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.

0 Kudos

568 Views
dilshad_alam
Senior Contributor II

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

0 Kudos

568 Views
dilshad_alam
Senior Contributor II

Where Makefile.boot info is moved in device tree?

0 Kudos