Fork me on GitHub

10. Загрузка полученой прошивки в ASUS Zenfone 2

Важно!!! перед всеми манипуляциями над вашим устройством нужно сделать бэкап всего, что вам нужно чтобы откатиться при необходимости. Все вы делаете на свой страх и риск.

В итоге мы имеем:

  • $ANDROID_ROOT/out/target/product/Z00L/hybris-boot.img

  • $ANDROID_ROOT/out/target/product/Z00L/hybris-recovery.img

  • $ANDROID_ROOT/sfe-Z00L-2.0.5.6-my1/sfe-Z00L-2.0.5.6-my1.tar.bz2 - образ rootfs

  • Распаковка rootfs через adbMER_SDK $

adb push sfe-Z00L-2.0.5.6-my1.tar.bz2 /sdcard/
adb shell
su
mkdir -p /data/.stowaways/sailfishos
tar --numeric-owner -xjvf /storage/9CB2-B41E/sfe-Z00L-2.0.5.6-my1.tar.bz2
-C /data/.stowaways/sailfishos
  • Прошивка boot image через adb
MER_SDK $adb push hybris-boot.img /sdcard/adb shellsudd if=/storage/9CB2-B41E/hybris-boot.img of=/dev/block/
                   mmcblk0p37

Сделал архив с образом rootfs и hybris-boot.img  ->скачать альфу версию прошивки можно вот тут. Эта прошивка отправляет устройство в bootloop.

Далее будем читать логи и смотреть что случилось и что нужно поправить.

источник инфы по чтению логов тут.

Итак,есть устройство...и естественно оно не загружается...ну так бывает при портировании. Как добраться до логов? Шаг 1 : Правим настройки журнала systemd Заходим в рековери, кастомное

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

И меняем параметр Storage на persistent Шаг 2: Перезагружаемся...ждём... Шаг 3: Перезагружаемся в рековери заново Шаг 4: Чрутуемся в sailfish

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 -

Шаг 5 : смотрим наш журнал:

journalctl -b

у меня почему, то журнал оказался не найден(

Буду копать дальше....

Информация к размышлению:

PS. из официальной документации

9.2.1 Bootloops

If device bootloops, there might be several reasons:

  • If it immediately reboots (and especially if it later boots to recovery mode), SELinux is enabled, and all ports based on Android 4.4 or newer need to disable it. Add CONFIG_SECURITY_SELINUX_BOOTPARAM=y to your kernel defconfig, and selinux=0 to your kernel command line (usually in BOARD_KERNEL_CMDLINE under $AN- DROID_ROOT/device/$VENDOR//BoardConfig.mk)

  • If it reboots after a minute or so, be quick and telnet into device, then do:

bash ln -s /dev/null /etc/systemd/system/ofono.service

  • Check if your /system is mounted by systemd (system.mount unit)

Решение:

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

в строке которая ниже добавлен параметр:

selinux=0
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

social