Linux cannot boot at all


#1

Target board is a variant of DragonBoard D410c.
Therefore, 96 released D410c’s Android BSP / Linux BSP run well on the board.

I have modified some device drivers, audio and display etc, for Android.
Android worked well, then I extracted Kernel src tree from Android BSP(kernel version is 3.10.xx).
After build boot.img, it does not boot at all after LK.
Could you advise what is suspected problems in this case and what I should check ?
I attached boot log as below;


Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.0-00261
S - IMAGE_VARIANT_STRING=HAAAANAAA
S - OEM_IMAGE_VERSION_STRING=C-BPATTH
S - Boot Config, 0x000002e1
S - Core 0 Frequency, 0 MHz
B - 1544 - PBL, Start
B - 3489 - bootable_media_detect_entry, Start
B - 142007 - bootable_media_detect_success, Start
B - 142012 - elf_loader_entry, Start
B - 143253 - auth_hash_seg_entry, Start
B - 143462 - auth_hash_seg_exit, Start
B - 157592 - elf_segs_hash_verify_entry, Start
B - 216468 - PBL, End
B - 176961 - SBL1, Start
B - 226920 - pm_device_init, Start
D - 14243 - pm_device_init, Delta
B - 241651 - boot_flash_init, Start
D - 30 - boot_flash_init, Delta
B - 245647 - boot_config_data_table_init, Start
D - 16775 - boot_config_data_table_init, Delta - (0 Bytes)
B - 267027 - CDT version:3,Platform ID:24,Major ID:1,Minor ID:0,Subtype:0
B - 273219 - sbl1_ddr_set_params, Start
B - 276909 - cpr_init, Start
D - 0 - cpr_init, Delta
B - 282521 - Pre_DDR_clock_init, Start
D - 183 - Pre_DDR_clock_init, Delta
D - 0 - sbl1_ddr_set_params, Delta
B - 295026 - pm_driver_init, Start
D - 7533 - pm_driver_init, Delta
B - 311374 - clock_init, Start
D - 61 - clock_init, Delta
B - 321500 - Image Load, Start
D - 20923 - QSEE Image Loaded, Delta - (567100 Bytes)
B - 342423 - Image Load, Start
D - 244 - SEC Image Loaded, Delta - (2048 Bytes)
B - 349682 - sbl1_efs_handle_cookies, Start
D - 61 - sbl1_efs_handle_cookies, Delta
B - 357460 - Image Load, Start
D - 10980 - QHEE Image Loaded, Delta - (51952 Bytes)
B - 368470 - Image Load, Start
D - 11895 - RPM Image Loaded, Delta - (149492 Bytes)
B - 380396 - Image Load, Start
D - 11925 - APPSBL Image Loaded, Delta - (488840 Bytes)
B - 392352 - QSEE Execution, Start
D - 91 - QSEE Execution, Delta
B - 398055 - SBL1, End
D - 223443 - SBL1, Delta
S - Flash Throughput, 127000 KB/s (1259432 Bytes, 9882 us)
S - DDR Frequency, 400 MHz
Android Bootloader - UART_DM Initialized!!!
[0] welcome to lk

[10] platform_init()
[10] target_init()
[20] SDHC Running in HS200 mode
[40] Done initialization of the card
[40] pm8x41_get_is_cold_boot: cold boot
[1020] No ‘frp’ partition found
[1030] Not able to search the panel:
[1030] Display not enabled for 24 HW type
[1030] Target panel init not found!
[1040] pm8x41_get_is_cold_boot: cold boot
[1040] partition misc doesn’t exist
[1040] error in emmc_recovery_init
[1050] Unable to locate /bootselect partition
[1050] No ‘misc’ partition found
[1050] Error reading MISC partition
[1060] failed to get ffbm cookie[1060] use_signed_kernel=0, is_unlocked=0, is_tampered=0.
[1060] Loading boot image (36964352): start
[1300] Loading boot image (36964352): done
[1510] DTB Total entry: 212, DTB version: 3
[1510] Using DTB entry 0x000000f7/00000000/0x00000018/0 for device 0x000000f7/00010000/0x00010018/0
[1520] target_display_panel_node:510: hw_id=24 panel_name=""
[1530] cmdline: root=/dev/disk/by-partlabel/rootfs rw rootwait console=tty0 console=ttyMSM0,115200n8 andro idboot.emmc=true androidboot.serialno=e84ce45c androidboot.baseband=apq mdss_mdp.panel=0:dsi:0:
[1550] Updating device tree: start
[1850] Updating device tree: done
[1860] booting linux @ 0x80080000, ramdisk @ 0x82000000 (3714984), tags/device tree @ 0x81e00000
[1860] Jumping to kernel via monitor

<from here, stuck>


#2

hi,

first (blind) guess , if you use an Android kernel , then the downstream UART driver would show up as ttyHSL, not ttyMSM, so you need to change your console args. If you boot a linux rootfs you might need to tweak the defconfig as well.


#3

Thanks @ndec,

I have to test what you said, and will leave a comment.


#4

@mipsan,
you can download the latest android bootimage from the instructions page and have a look at the kernel command line using abootimg [see below]

[jramirez@igloo androidboot]$ abootimg -i boot.img                                                                                                                                  

Android Boot Image Info:

* file name = boot.img 

* image size = 17249576 bytes (16.45 MB)
  page size  = 2048 bytes

* Boot Name = &quot;&quot;

* kernel size       = 16172562 bytes (15.42 MB)
  ramdisk size      = 1072025 bytes (1.02 MB)

* load addresses:
  kernel:       0x80008000
  ramdisk:      0x81000000
  tags:         0x80000100

* cmdline = console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 earlyprintk androidboot.selinux=permissive

* id = 0x517510dc 0xc062182f 0xd63ff9ec 0x5146c190 0xe86ce94b 0x00000000 0x00000000 0x00000000 

#5

@Jorge
Thanks.
After console as you said, I could find serial output.


#6

For me also same problem,. I am using linaro debian 18.01 version. I changed the device tree for keypad, and I flashed the image,. But I am getting same message as mentioned above. From “Jumping to kernel via monitor” nothing is showing.
Please help me resolve this issue.


#7

Getting stuck a “Jumping to monitor” means you have either incorrectly installed the boot image or have modified the device tree to such an extent that it is no longer possible for the kernel to issue any boot messages.

Which set of kernel build instrucitons are you following? Can you confirm you were able to compile a boot an unmodified kernel from source?