AnsweredAssumed Answered

kernel hangs @ Starting kernel ...

Question asked by sujith vasudevan on Oct 19, 2015
Latest reply on Oct 30, 2015 by sujith vasudevan

We are building Linux image for our custom board based on sabre-sd.  Uart 2 is used as  debug uart. We are using yocto Fido to build the image , with meta-fsl-arm.  The console uart has been changed in the u-boot bootargs and also enabled pin-muxing for uart 2 in the dtb files.  Booting  stops at "starting kernel".  We also enabled CONFIG_DEBUG_LL, after which we are are getting the message "Uncompressing Linux... done, booting the kernel." Please help on the issue.  The log file is as below.

 

U-Boot 2015.07+fslc+g3f0c535 (Oct 16 2015 - 21:09:09 +0530)

 

 

CPU:   Freescale i.MX6Q rev1.0 at 792MHz

CPU:   Commercial temperature grade (0C to 95C)CPU:   Thermal invalid data, fuse: 0x0

- invalid sensor device

Reset cause: POR

Board: MX6-SabreSD

I2C:   ready

DRAM:  1 GiB

MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2

*** Warning - bad CRC, using default environment

 

 

PCI:   pcie phy link never came up

No panel detected: default to Hannstar-XGA

Display: Hannstar-XGA (1024x768)

In:    serial

Out:   serial

Err:   serial

Net:   Phy 1 not found

PHY reset timed out

FEC [PRIME]

Hit any key to stop autoboot:  0

switch to partitions #0, OK

mmc1 is current device

reading boot.scr

** Unable to read file boot.scr **

reading zImage

5946592 bytes read in 290 ms (19.6 MiB/s)

Booting from mmc ...

reading imx6q-sabresd-ldo.dtb

42395 bytes read in 19 ms (2.1 MiB/s)

Kernel image @ 0x12000000 [ 0x000000 - 0x5abce0 ]

## Flattened Device Tree blob at 18000000

   Booting using the fdt blob at 0x18000000

   Using Device Tree in place at 18000000, end 1800d59a

 

 

Starting kernel ...

 

 

Uncompressing Linux... done, booting the kernel.

 

 

 

=> printenv

baudrate=115200

boot_fdt=try

bootcmd=mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi

bootdelay=3

bootscript=echo Running bootscript from mmc ...; source

console=ttymxc1

emmcdev=2

ethact=FEC

ethaddr=00:00:aa:bb:cc:dd

ethprime=FEC

fb=0

fdt_addr=0x18000000

fdt_file=imx6q-sabresd-ldo.dtb

fdt_high=0xffffffff

image=zImage

initrd_high=0xffffffff

ip_dyn=yes

loadaddr=0x12000000

loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};

loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}

loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}

mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot} ${video_args}

mmcboot=echo Booting from mmc ...; run video_args_script; 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=1

mmcpart=1

mmcroot=/dev/mmcblk2p2 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

update_emmc_firmware=if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; if ${get_cmd} ${update_sd_firmware_filename}; then if mmc dev ${emmcdev} 1; then setexpr fw_sz ${filesize} / 0x200; setexpr fw_sz ${fw_sz} + 1; mmc write ${loadaddr} 0x2 ${fw_sz}; fi; fi

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

video_args_hdmi=setenv video_args $video_args video=mxcfb${fb}:dev=hdmi,1280x720M@60,if=RGB24

video_args_lcd=setenv video_args $video_args video=mxcfb${fb}:dev=lcd,CLAA-WVGA,if=RGB666

video_args_lvds=setenv video_args $video_args video=mxcfb${fb}:dev=ldb,LDB-XGA,if=RGB666

video_args_script=for v in ${video_interfaces}; do run video_args_${v}; setexpr fb $fb + 1; done

video_interfaces=hdmi lvds lcd

 

 

Environment size: 2687/8188 bytes

 

thanks,

 

Sujith Vasudevan

Outcomes