Важно!!! перед всеми манипуляциями над вашим устройством нужно сделать бэкап всего, что вам нужно чтобы откатиться при необходимости. Все вы делаете на свой страх и риск.
В итоге мы имеем:
-
$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