Fork me on GitHub

11. Решение проблемы bootloop Asus Zenfone 2 ( В ПРОЦЕССЕ)

!!! на 13.02.2017 года проблема с bootloop не решена.

ЧИТАЕМ ЛОГИ НЕЗАГРУЖАЮЩЕГОСЯ УСТРОЙСТВА

источник: http://neochapay.ru/blogs/zapiski-utkonosa-programmista/sailfish-os-hardware-adaptation-developm-74.html

Итак,есть устройство...и естественно оно не загружается...ну так бывает при портировании. Как добраться до логов?

​ 1. Правим настройки журнала systemd

​ Заходим в рековери, кастомное

adb shell
vi /data/.stowaways/sailfishos/etc/systemd/journald.conf

The systemd journal is persistent over reboots in devel branch - otherwise edit /etc/systemd/journald.conf and set

 Storage=persistent

Preventing journald from throttling logging from a verbose process - edit /etc/systemd/journald.conf and set

 RateLimitBurst=9999
 RateLimitInterval=5s
adb shell
su
mount -o bind /dev /data/.stowaways/sailfishos/dev;mount -o bind /proc /data/.stowaways/sailfishos/proc;mount -o bind /sys /data/.stowaways/sailfishos/sys;chroot /data/.stowaways/sailfishos/ /bin/su -
  1. смотрим наш журнал:

    journalctl -b

    Решение

    • device/asus/msm8916-common/BoardConfigCommon.mk

добавить в строку

BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1

в конце selinux=0

  • init.environ.rc

bash export LD_LIBRARY_PATH /vendor/lib64:/system/lib64:/usr/libexec/droid-hybris/lib-dev-alog:/vendor/lib:/system/lib


вот журнал загрузки устройства: https://gist.github.com/kaefik/2cc70a25a2aecb64b01fcc7aae66efb6

​ 1)  попробуем решить ошибку:

Jun 02 19:29:59 Sailfish kernel: platform b018000.regulator: Driver qcom,cpr-regulator requests probe deferral
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78b6000.i2c: probing driver i2c-msm-v2
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78b6000.i2c: error on clk_get(core_clk):-517
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78b6000.i2c: error probe() failed with err:-517
Jun 02 19:29:59 Sailfish kernel: platform 78b6000.i2c: Driver i2c-msm-v2 requests probe deferral
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78b9000.i2c: probing driver i2c-msm-v2
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78b9000.i2c: error on clk_get(core_clk):-517
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78b9000.i2c: error probe() failed with err:-517
Jun 02 19:29:59 Sailfish kernel: platform 78b9000.i2c: Driver i2c-msm-v2 requests probe deferral
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78ba000.i2c: probing driver i2c-msm-v2
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78ba000.i2c: error on clk_get(core_clk):-517
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78ba000.i2c: error probe() failed with err:-517
Jun 02 19:29:59 Sailfish kernel: platform 78ba000.i2c: Driver i2c-msm-v2 requests probe deferral
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78b8000.i2c: probing driver i2c-msm-v2
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78b8000.i2c: error on clk_get(core_clk):-517
Jun 02 19:29:59 Sailfish kernel: i2c-msm-v2 78b8000.i2c: error probe() failed with err:-517
Jun 02 19:29:59 Sailfish kernel: platform 78b8000.i2c: Driver i2c-msm-v2 requests probe deferral

​ Решение: ​

источник: http://stackoverflow.com/questions/30166717/how-to-fix-error-on-clk-getcore-clk-during-probing-driver-i2c-msm-v2

This problem relates to the driver probe order. Because clk inits after probing i2c, so that i2c failed to get clk.This problem can be solved by changing Makefile (in /drivers). Just move clk upto a higher position than i2c.I checked it this way and now the error message disappears :)

kernel/asus/msm8916/drivers/Makefile


PS2. из http://piratepad.net/hadk-faq-v2 строка 73-87

  • изменение в файле hybris/droid-configs/droid-configs-device/sparse/lib/udev/rules.d/998-droid-system.rules
SIM card not detected:
This often causes a bootloop
Cellular Modem bringup is now in HADK v1.1.1 section 13.3
Additional checks:
Replicate /dev/block structure from Android as closely as possible (for rild to be able to access the modem partition)
Run ls -lR /dev/block in CM
Run ls -lR /dev/block in Sailfish OS
diff the two outputs (this is WIP - android's toolbox ls might need more parameters to produce a comparable output)
If you see differences you need to add custom udev rules to create the correct /dev/block structure
For    devices with /dev/block/platform/msm_sdcc.1/by-name/ paths  (msm_sdcc.1   can be different) add to $ANDROID_ROOT/rpm/ these paths  and files with   contents, and it most probably will help (but still  paste your diff to   the IRC channel):
https://github.com/mer-hybris-kis3/droid-config-kis3/blob/master/sparse/lib/udev/platform-device
https://github.com/mer-hybris-kis3/droid-config-kis3/blob/master/sparse/lib/udev/rules.d/998-droid-system.rules
Some    devices have /dev/block/bootdevice/by-name/ as /dev/block structure  in   CM in which case you need to add the following line to the end of  the   998-droid-system.rules file in the last link:
ENV{ID_PART_ENTRY_SCHEME}=="gpt",    ENV{ID_PART_ENTRY_NAME}=="?*",  IMPORT{program}="/bin/sh    /lib/udev/platform-device $env{DEVPATH}",     SYMLINK+="block/bootdevice/by-name/$env{ID_PART_ENTRY_NAME}"
If    you have logcat and journal error messages suggesting that RIL/ofono    can't power the modem on and you have a qcom chipset, have a look in    your init.qcom.rc for lines that power it on when the boot animation    (bootanim) stops. If you have those, try this (paths may need    correcting): https://github.com/stephgosling/android_device_htc_m7-common/commit/9f4abdca65356090e6dd6f0356c5cf4a1870aa5f (note the typo there in the chown line!)

Далее переходим к пункту

            8. Packaging droid-hal-device

нужен патч для ядра: https://github.com/zhxt/android_kernel_xiaomi_msm8996/commit/731e1017a8b3f2f15b4b5766adf1f3485c395e03 в файле droid/kernel/asus/msm8916/fs/proc/base.c

social