Некоторые устройства содержат нестандартные протоколы загрузки или неполные реализации стандартных протоколов. В случае LG G3s(jag3gds) мы имеем 4 способа загрузки:
- стандартный загрузочный сектор(boot), загружается при обычном нажатии кнопки Power;
- загрузчик для стандартной системы обновления прошивки(laf), поддерживает только стандартный протокол LG для установки прошивок, для входа нужно выключить телефон подождать с десяток секунд, нажать Volume UP и подключить usb или adb reboot bootloader;
- если стереть laf то aboot не найдя laf входит в режим fastboot, реализовано только часть протокола - можно только отформатировать разделы или перегрузить телефон(поддержки команды boot нет);
- раздел с recovery - загрузиться можно только с основного раздела через adb reboot recovery.
- $ source build/envsetup.sh
- $ lunch
- # select Device name == lge/jag3gds and build type == debug
- $ make -j6 lk
- $ adb push out/device/lge/jag3gds/lk.img /sdcard/Download/lk.img
- $ adb root
- $ adb shell
- # dd if=/sdcard/Download/lk.img of=/dev/block/platform/msm_sdcc.1/by-name/laf
- # exit
- $ adb reboot bootloader # boot to laf
В текущей реализации в uefi образе содержится ошибка и нужно применить такое исправление в uefiapi/target/msm8226.c заменить:
pdata = cb(pdata, MSM_IOMAP_BASE, (MSM_IOMAP_END - MSM_IOMAP_BASE), LKAPI_MMAP_RANGEFLAG_RESERVED,
на:
pdata = cb(pdata, MSM_IOMAP_BASE, 1*MB, LKAPI_MMAP_RANGEFLAG_RESERVED,.
No comments:
Post a Comment