Bootprobleme seit Update

  • 11 Antworten
  • Neuester Beitrag
Diskutiere Bootprobleme seit Update im LineageOS Forum im Bereich Root / Custom-ROMs / Modding für bq Aquaris X / X Pro.
T

Tooo

Ambitioniertes Mitglied
Ich nutze nun seit einigen Wochen auch LOS 16 und bisher läuft soweit eigentlich alles super. Vielen Dank @Quallenauge und die anderen Devs, dass es LOS fürs X Pro gibt und alles so gut läuft!

Leider habe ich aber gerade ein Problem bei dem Update. Ich bin auf dem Stand vom 22.07. und nach dem Update auf das Release vom 05.08. (selbes verhalten bei 29.07.) bleibt das System beim Booten hängen. Die Kamera Mechanik klickt dabei alle paar Sekunden, als ob das System in einem Loop fest hängt. Nach ein paar Minuten rebootet das System dann in die TWRP Recovery.

Ich habe nun schon Adaway und AFWall+ deaktiviert und Magisk deinstalliert, um das als mögliche Fehlerquelle auszuschließen aber das Verhalten bleibt dasselbe.

Jemand eine Idee, wie ich die Ursache finden und das Problem lösen kann?

Ich nutze übrigens nicht das reine LOS sondern den MircoG Fork.
 
S

stumi

Erfahrenes Mitglied
@Tooo @AndroidIAm Logcat sollte Auskunft geben...
 
T

Tooo

Ambitioniertes Mitglied
stumi schrieb:
@Tooo @AndroidIAm Logcat sollte Auskunft geben...
Ich habe das gerade mal getestet und "logcat" ist in TWRP nicht verfügbar und ins System komme ich ja nach dem Update nicht mehr...

Außerdem habe ich Folgendes versucht:

- WIPE System/Cache/dalvik
- INSTALL LineageOS+Microg ZIP vom 08.05.
- INSTALL Magisk 19.3.zip
- INSTALL playstore-patched.zip
- Reboot System
---> Ergebnis: derselbe Bootloop...

Dann dies:

- WIPE System/Cache/dalvik
- INSTALL LineageOS+Microg ZIP vom 08.05.
- Reboot System
---> Ergebnis: System bootet!
- TWRP INSTALL Magisk 19.3.zip
- Reboot System
---> Ergebnis: System bootet!
- TWRP INSTALL playstore-patched.zip
- Reboot System
---> Ergebnis: System bootet!
==> das ist jetzt der Punkt, wo es für mich irgendwie gar keinen Sinn mehr ergibt...

Eine Idee wäre noch, dass Titanium Backup (die einzige nicht betrachtete App mit Root-Rechten) noch irgendwas vergurkt hat?! Oder vielleicht Adway + Systemless-Hosts Modul von Magisk? (hier konnte ich den Status von Adaway nicht wirklich prüfen, da keine Internet-Verbindung)
Oder Shelter mit dem Work-Profile?
(erklärt für mich aber alles irgendwie trotzdem nicht o.g. Verhalten)

@AndroidIAm: nutzt du GAPPS/MicroG/PlayStore/TB/Adaway/Shelter/Work-Profile?

Habe jetzt erstmal einen Restore durchgeführt, würde mich aber sehr über Ideen dazu freuen!
 
T

Tooo

Ambitioniertes Mitglied
So, ich habe jetzt mal mit meinem Testgerät experimentiert und in diesen Schritten einige Dinge installiert:

- Lineage+MicroG vom 22.07
- Magisk
- Systemless Hosts Module + Adaway
- playstore-patched.zip von hier: MicroG Installers

Nach jedem Schritt habe ich das Update getestet. Erst nach dem letzten Schritt ging es dann nicht mehr sauber durch und ich hatte wieder den "Bootloop".

Das Install Script des PlayStore macht folgendes und damit es überhaupt bei LOS16 durchläuft, muss ich mit "setprop ro.build.version.release 9.0" in TWRP zunächst die Android Version setzten, da dieser Parameter gar nicht existierte.
Jemand eine Idee, was da mein Update Problem verursachen könnte?

ui_print("--------------------------------------");
ui_print("Mounting system");
ifelse(is_mounted("/system"), unmount("/system"));
run_program("/sbin/mount", "/system");
ui_print("Mounting data");
ifelse(is_mounted("/data"), unmount("/data"));
run_program("/sbin/mount", "/data");
ui_print("Detected Android version: " + getprop("ro.build.version.release"));
ui_print("Detected arch: " + getprop("ro.product.cpu.abilist") + " " + getprop("ro.product.cpu.abi"));
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if run_program("/sbin/test", "-d", "/system/priv-app/PlayStore") == 0 then
ui_print("Recursively deleting existing folder /system/priv-app/PlayStore") && delete_recursive("/system/priv-app/PlayStore");
else
if run_program("/sbin/test", "-f", "/system/priv-app/PlayStore") == 0 then
ui_print("Deleting existing file /system/priv-app/PlayStore") && delete("/system/priv-app/PlayStore");
endif;
endif;
if run_program("/sbin/test", "-d", "/system/priv-app/FakeStore") == 0 then
ui_print("Recursively deleting existing folder /system/priv-app/FakeStore") && delete_recursive("/system/priv-app/FakeStore");
else
if run_program("/sbin/test", "-f", "/system/priv-app/FakeStore") == 0 then
ui_print("Deleting existing file /system/priv-app/FakeStore") && delete("/system/priv-app/FakeStore");
endif;
endif;
if run_program("/sbin/test", "-d", "/system/priv-app/Phonesky") == 0 then
ui_print("Recursively deleting existing folder /system/priv-app/Phonesky") && delete_recursive("/system/priv-app/Phonesky");
else
if run_program("/sbin/test", "-f", "/system/priv-app/Phonesky") == 0 then
ui_print("Deleting existing file /system/priv-app/Phonesky") && delete("/system/priv-app/Phonesky");
endif;
endif;
if run_program("/sbin/test", "-d", "/system/priv-app/YalpStore") == 0 then
ui_print("Recursively deleting existing folder /system/priv-app/YalpStore") && delete_recursive("/system/priv-app/YalpStore");
else
if run_program("/sbin/test", "-f", "/system/priv-app/YalpStore") == 0 then
ui_print("Deleting existing file /system/priv-app/YalpStore") && delete("/system/priv-app/YalpStore");
endif;
endif;
if run_program("/sbin/test", "-d", "/data/data/com.android.vending") == 0 then
ui_print("Recursively deleting existing folder /data/data/com.android.vending") && delete_recursive("/data/data/com.android.vending");
else
if run_program("/sbin/test", "-f", "/data/data/com.android.vending") == 0 then
ui_print("Deleting existing file /data/data/com.android.vending") && delete("/data/data/com.android.vending");
endif;
endif;
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/Phonesky.apk");
assert(package_extract_file("files/com.android.vending-5.0.apk", "/system/priv-app/Phonesky/Phonesky.apk") == "t");
assert(set_metadata("/system/priv-app/Phonesky/Phonesky.apk", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
assert(run_program("/sbin/mkdir", "-p", "/system/etc/org.fdroid.fdroid") == 0);
assert(set_metadata_recursive("/system/etc/org.fdroid.fdroid", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/etc/org.fdroid.fdroid/additional_repos.xml");
assert(package_extract_file("files/additional_repos.xml.5.0.5.0", "/system/etc/org.fdroid.fdroid/additional_repos.xml") == "t");
assert(set_metadata("/system/etc/org.fdroid.fdroid/additional_repos.xml", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libempty_armeabi.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libempty_armeabi.so", "/system/priv-app/Phonesky/lib/arm/libempty_armeabi.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libempty_armeabi.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libempty_armeabi.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libempty_armeabi.so", "/system/priv-app/Phonesky/lib/arm/libempty_armeabi.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libempty_armeabi.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("x86", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/x86") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/x86", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/x86/libempty_x86.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/x86/libempty_x86.so", "/system/priv-app/Phonesky/lib/x86/libempty_x86.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/x86/libempty_x86.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("x86_64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/x86_64") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/x86_64", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/x86_64/libempty_x86_64.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/x86_64/libempty_x86_64.so", "/system/priv-app/Phonesky/lib/x86_64/libempty_x86_64.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/x86_64/libempty_x86_64.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libbrotli.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libbrotli.so", "/system/priv-app/Phonesky/lib/arm/libbrotli.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libbrotli.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libbrotli.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libbrotli.so", "/system/priv-app/Phonesky/lib/arm/libbrotli.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libbrotli.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libcronet.74.0.3702.2.so", "/system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libcronet.74.0.3702.2.so", "/system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libtensorflowlite_jni.so", "/system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libtensorflowlite_jni.so", "/system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
assert(run_program("/sbin/mkdir", "-p", "/system/etc/default-permissions") == 0);
assert(set_metadata_recursive("/system/etc/default-permissions", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/etc/default-permissions/playstore-patched-permissions.xml");
assert(package_extract_file("files/permissions.xml", "/system/etc/default-permissions/playstore-patched-permissions.xml") == "t");
assert(set_metadata("/system/etc/default-permissions/playstore-patched-permissions.xml", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
assert(run_program("/sbin/mkdir", "-p", "/system/etc/sysconfig") == 0);
assert(set_metadata_recursive("/system/etc/sysconfig", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/etc/sysconfig/playstore-patched.xml");
assert(package_extract_file("files/sysconfig.xml", "/system/etc/sysconfig/playstore-patched.xml") == "t");
assert(set_metadata("/system/etc/sysconfig/playstore-patched.xml", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
assert(run_program("/sbin/mkdir", "-p", "/system/addon.d") == 0);
assert(set_metadata_recursive("/system/addon.d", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/addon.d/05-playstore-patched.sh");
assert(package_extract_file("files/addond-5.0.sh", "/system/addon.d/05-playstore-patched.sh") == "t");
assert(set_metadata("/system/addon.d/05-playstore-patched.sh", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
ui_print("Unmounting /system");
ui_print("Done!");
ui_print("--------------------------------------");
unmount("/system");
 
A

AndroidIAm

Neues Mitglied
@stumi ich habe noch nicht herausgefunden, wie ich das Log erzeugen und zugreifen kann.
-- Dieser Beitrag wurde automatisch mit dem folgenden Beitrag zusammengeführt --
@Tooo Ich habe das reine LOS. Die beiden Meldungen direkt beim Start habe ich auch von Anfang an und das hat keine Probleme bereitet. Die zweite von den beiden ("corrupt") muss halt beim Start bestätigt werden, und gut ist.

Ich habe leider auch mit einem Wipe von system keinen Erfolg gehabt. Keine Ahnung, was da los ist. Gibt's noch irgendwelche Ideen?...
 
T

Tooo

Ambitioniertes Mitglied
@Quallenauge:

Du hast nicht zufällig eine Idee wie ich Logs von LOS bekommen könnte, die zeigen was genau da schief läuft, während das System in dem Bootloop hängt?
 
T

Tooo

Ambitioniertes Mitglied
So, ich konnte das Problem nun noch weiter eingrenzen:

Der (gepatchte) Play Store darf beim ersten Boot nach dem Update NICHT installiert sein!

Als Workaround (den ich nutzen werde, bis ich eine bessere Lösung habe) geht daher folgendes:

- Download LOS Update via OTA
- Flugmodus (falls etwas schief geht, damit erst mal keine App ins Internet kommt)
- TWRP Backup (Boot,System,Data)
- Terminal: rm /system/addon.d/05*
- Reboot System + Update Installieren
- Reboot Recovery + Magisk.zip flashen
- Reboot System
- Reboot Recovery
- Terminal: setprop ro.build.version.release 9.0
- patched_playstore.zip flashen
- rm /system/addon.d/05* (schon mal präventiv für das nächste Update)
- Reboot System + Flugmodus deaktiviern

Der PlayStore scheint dabei weder die Einstellungen zu verlieren noch downgegradend zu werden. (wobei mich Letzteres wundert) und funktioniert auch noch.

Getestet auf meinem Test-Device und erfolgreich reproduziert auf meinem Main-Device.

@AndroidIAm:
Das hilft dir jetzt wohl leider wenig, da du wohl eine andere Ursache für das gleiche Phänomen hast aber vielleicht hat ja noch jemand eine Idee wie wir Logs bekommen, damit wir deine Ursache finden und vielleicht auch eine bessere Lösung für mein Problem als diesen eher umständlichen Workaround...
 
Quallenauge

Quallenauge

Erfahrenes Mitglied
@Tooo Du könntest meine Test-Bootimg versuchen:
boot.img_new
Also
Code:
fastboot flash boot boot.img_new
Aber wirklich nur zum testen - da Sepolicy ausgeschaltet ist und andere Sachen eher auf "Test" gestellt sind.
 
A

AndroidIAm

Neues Mitglied
Ich habe mein Problem gelöst. Schlüssel war die Bestätigung, dass hier niemand einen "your device is corrupt"-Screen mit roter Schrift hat, der beim Start bestätigt werden muss weil das Gerät ansonsten neu startet.

Ich habe auf TWRP 3.3.1-0-bardock_pro.imp umgestellt; vorher hatte ich 3.3.0. Es gab da einige Bugfixes. Ob das relevant war ist jedoch nicht sicher.

Ich habe über 8953_fastboot_all_images die BQ-Firmware 2.7.2 (20190620) installiert (inclusive critical). Danach war der "corrupt"-Screen verschwunden. Ich konnte darauf dann das aktuelle LOS frisch installieren (was vorher ebenfalls nicht ging) und danach blieb der "corrupt"-Screen weiterhin verschwunden.

Das hat mich ermutigt mein TWRP-Backup mit dem alten Nightly zurückzuspielen. Und siehe da: Kein "corrupt"-Screen und neuere LOS-Versionen konnte ich nun (zur Sicherheit schrittweise) installieren und sie starten problemlos auf.

Ich hoffe, dass nun auch die Abstürze der Vergangenheit angehören.
 
T

Tooo

Ambitioniertes Mitglied
@Quallenauge

Danke für das Image. Habe das Testgerät jetzt mit dem Update in den Bootloop Zustand versetzt und dann dein Bootimage geflasht. Das Verhalten ist auch noch das gleiche.
Aber was kann ich denn jetzt mit deinem Kernel genau tun, um Informationen über mein Problem aus dem Gerät zu ziehen?
 
Quallenauge

Quallenauge

Erfahrenes Mitglied
Hallo.

Tooo schrieb:
Danke für das Image. Habe das Testgerät jetzt mit dem Update in den Bootloop Zustand versetzt und dann dein Bootimage geflasht. Das Verhalten ist auch noch das gleiche.
Aber was kann ich denn jetzt mit deinem Kernel genau tun, um Informationen über mein Problem aus dem Gerät zu ziehen?
Mit der boot.img_new sollten
Code:
adb logcat
bzw.
Code:
adb dmesg -w
nun viel früher möglich sein. Damit sollten sich doch die Fehlergründe finden lassen?