efidroid / projectmanagement

EFIDroid Project Management
118 stars 12 forks source link

Nexus 5 Support #97

Closed thefat32 closed 7 years ago

thefat32 commented 7 years ago

I was able to build NOUEFI LK for hammerhead but when trying to boot it with "fastboot boot lk.img" got stuck at Google logo and there is no fastboot device detected trhough USB. Any help will be preciated,

My device config: config.ini

[variables]
DEVICE_NAME = Nexus 5
LK_TARGET = msm8974
LK_BASE = 0x00008000
LK_SOURCE = qcom/LA.BF64
BOOTIMG_BASE = 0x00000000
BOOTIMG_PAGESIZE = 2048
BOOTIMG_ADDITIONAL_ARGS =  --ramdisk_offset 0x02900000 --tags_offset 0x02700000
LCD_DENSITY = 445
BOOTIMG_APPENDED_FDT = $(DEVICE_DIR)/fdt.img
BOOTIMG_FDT_PARSER = qcom_lge

lk_inc.mk

EMMC_BOOT := 1
DISPLAY_2NDSTAGE := 1

fdt.img extracted from last google official build

npjohnson commented 7 years ago

This is an FDT device. Try to repack the image using the guide here: https://github.com/efidroid/projectmanagement/issues/89

thefat32 commented 7 years ago

you mean this?

"try to do this (after compiling):

cat out/device/?/?/lk_kernel/build-?/lk.bin | gzip -n -f -9 > out/lk.bin.gz cat out/lk.bin.gz device/?/?/fdt.img > out/Image.gz-dtb

then, repack lk.img with out/Image.gz-dtb as the kernel. Since the build system prints the mkbootimg command at the end you just have to copy and edit it. Pleas not that even if this works it's not a permanent solution for many devices because fdt and/or gzip-compressed kernel were not supported on the bootloader which the device was shipped with. "

npjohnson commented 7 years ago

Yes.

thefat32 commented 7 years ago

Just did it, it didn't work, fastboot boot command stucks My steps to get new lk.img

cat out/device/lge/hammerhead/lk_kernel/build-msm8974/lk.bin | gzip -n -f -9 > out/lk.bin.gz
cat out/lk.bin.gz device/lge/hammerhead/fdt.img > out/Image.gz-dtb
/home/lucas/efidroid/build/tools/mkbootimg --kernel /home/lucas/efidroid/out/Image.gz-dtb --ramdisk /dev/null --base 0x00000000 --pagesize 2048 --ramdisk_offset 0x02900000 --tags_offset 0x02700000 -o /home/lucas/efidroid/out/lk-fdt-workaround.img

fastboot boot lk-fdt-workaround.img downloading 'boot.img'... OKAY [ 0.171s] booting... (IT HANGS HERE UNTIL I POWER OFF) FAILED (status read failed (No such device)) finished. total time: 145.897s

The phone stills show in fastboot devices, but it's not respondig to any fastboot command

thefat32 commented 7 years ago

This Configuration is able to boot LK and UEFI with display working config.ini

[variables]
DEVICE_NAME = Nexus 5
LK_TARGET = msm8974
LK_BASE = 0x000000000f900000
EDK2_BASE = 0x000000007e000000
LK_SOURCE = qcom/LA.BF64
BOOTIMG_BASE = 0x00000000
BOOTIMG_PAGESIZE = 2048
BOOTIMG_ADDITIONAL_ARGS = --ramdisk_offset 0x02900000 --tags_offset 0x02700000
LCD_DENSITY = 480
BOOTIMG_FDT_PARSER = qcom_lge
BOOTIMG_APPENDED_FDT = $(DEVICE_DIR)/fdt.img
EDK2_SIZE = 0x0000000002000000

lk_inc.mk

EMMC_BOOT := 1
DISPLAY_2NDSTAGE := 1
DEFINES += WITH_DEBUG_UART=1
DEFINES += WITH_2NDSTAGE_DISPLAY_DMA_TRIGGER