Welches Root für LineageOS – SuperSU, su-Addon oder Magisk
LineageOS unterstützt offiziell 190 verschiedene Geräte (dazu kommen viele weitere mit inoffizieller Unterstützung) und ist aktuell auf über 1,8 Millionen Geräten installiert. Durch die zunehmende Popularität gibt es auch immer mehr Fragen bezüglich Root-Zugriff. Werfen wir also einen Blick auf die verfügbaren Optionen.
Früher war SuperSU eine gute Wahl, wenn es um Root-Zugriff ging. Mittlerweile aber nicht mehr. Vor rund einem Jahr hat Chainfire, der Entwickler von SuperSU, bekannt gegeben, dass er sich zurückziehen und SuperSU an die Firma CCMT übergeben wird. Seitdem ist quasi nichts passiert und SuperSU steht immer noch in Version 2.82 zum Download. SuperSU gehört also einer ominösen Firma und die Entwicklung ist faktisch eingestellt. Damit ist klar, dass SuperSU heutzutage nicht mehr verwendet werden sollte.
Als Alternative bietet LineageOS ein eigenes su-Addon zum Download an. Diese Root-Variante wird unter LineageOS offiziell supported und kann schnell und einfach per TWRP geflasht werden. In der Regel ist das su-Addon aber nur zweite Wahl, da Magisk viele Vorteile bietet.
Die derzeit beste Methode für einen Root-Zugriff ist Magisk. Diese Android-Modifikation bietet viele Vorteile gegenüber anderen Methoden und kann mit zusätzlichen Features aufwarten. Zunächst handelt es sich bei Magisk um eine systemless Root-Methode, d.h. es werden keine Veränderungen an der /system-Partition durchgeführt. Stattdessen integriert sich Magisk in das Boot-Image. Diese Vorgehensweise hat unter anderem folgende Vorteile:
- Alle Änderungen können ohne Probleme rückgängig gemacht werden (“Unroot”).
- SafetyNet Integritätstest wird bestanden.
- OTA-Updates bei Stock-ROMs trotz Root möglich.
Darüber hinaus kann der Root-Zugriff vor bestimmten Apps versteckt werden, die unter Root nicht funktionieren (Google Pay, Banking-Apps, usw.). Außerdem bietet die Magisk Manager App eine Modulverwaltung an, mit der sich bestimmte Erweiterungen oder Apps ganz einfach nachinstallieren lassen. Ich nutze diese Funktion z.B. für YouTube Vanced, welches unter anderem Werbung in Videos entfernt und Videos / Musik auch im Hintergrund abspielen kann. Ebenso erwähnenswert: Magisk ist zu 100% Open Source und wird aktiv weiterentwickelt, es bleiben also kaum Wünsche offen.
Weitere Infos zu Magisk findet ihr im entsprechenden xda-Thread, der Download ist bei Github gehostet.
Magisk nach LineageOS OTA-Update automatisch flashen
Bei LineageOS OTA-Updates wird das Boot-Image erneuert und Magisk damit entfernt. Nach einem OTA-Update muss Magisk also per Hand neu geflasht werden. Wem das zu umständlich ist, kann dies auch automatisch erledigen lassen. Hierzu muss das “99-flashafterupdate.sh addon.d script” aus dem xda-Thread unter folgendem Pfad abgelegt werden:
/system/addon.d/
Achtet darauf, dass die Datei ausführbar ist (CHMOD 755). Der Inhalt sieht folgendermaßen aus:
#!/sbin/sh
#
# /system/addon.d/99-flashafterupdate.sh
# For ROMs that don't have "Flash After Update" support built-in.
#
# During an upgrade, this script will flash zips in /sdcard/FlashAfterUpdate
# after all other addon.d backup/restore actions have completed.
#
# Create a file named "verbose" in the above directory to see all output from flashed zips.
# Create a file named "silent" in the above directory to hide all script output.
#
# osm0sis @ xda-developers
. /tmp/backuptool.functions
# define working paths
sdzipdir=/sdcard/FlashAfterUpdate;
tmpzipdir=/tmp/flashafterupd;
case "$1" in
backup)
# Stub
;;
restore)
# Stub
;;
pre-backup)
# Stub
;;
post-backup)
# Stub
;;
pre-restore)
# Stub
;;
post-restore)
# set up sdcard directory if it does not yet exist
if [ ! -d "$sdzipdir" ]; then
mkdir "$sdzipdir";
chown 1023:1023 "$sdzipdir";
chmod 775 "$sdzipdir";
chcon u:object_r:media_rw_data_file:s0 "$sdzipdir";
fi;
# determine parent output fd
FD=1;
if [ ! -f "$sdzipdir/silent" ]; then
OUTFD=`ps | grep -v "grep" | grep -oE "update(.*)" | cut -d" " -f3`;
test -f "$sdzipdir/verbose" && FD=$OUTFD;
ui_print() { until [ ! "$1" ]; do echo -e "ui_print $1\nui_print" >> /proc/self/fd/$OUTFD; shift; done; }
else
ui_print() { echo "$1"; }
fi;
# wait out any post-addon.d zip actions (flashing boot.img, etc.)
while sleep 6; do
# wait out Magisk's addon.d script which also uses this method
while [ -d /sbin_tmp ]; do
sleep 1;
done;
ui_print " " "FlashAfterUpdate by osm0sis @ xda-developers";
if [ ! "$(ls "$sdzipdir" | grep -vE 'verbose|silent')" ]; then
ui_print " " "No files found in '$sdzipdir' to flash!";
exit;
fi;
# read zips from sdcard directory and unpack then run update-binary/script
metadir=META-INF/com/google/android;
for i in "$sdzipdir"/*; do
case "$i" in *silent|*verbose) continue;; esac;
ui_print " " "--- Flashing '$i'...";
mkdir -p "$tmpzipdir";
unzip "$i" -d "$tmpzipdir" "$metadir/*";
chmod 755 "$tmpzipdir/$metadir/update-binary";
# update-binary
"$tmpzipdir/$metadir/update-binary" 3 $FD "$i";
ret=$?;
test $ret != 0 && ui_print "...Failed! Exit code: $ret" || ui_print "...Succeeded!";
rm -rf "$tmpzipdir";
done;
ui_print " ";
test -f "$sdzipdir/silent" || sleep 10;
exit;
done&
;;
esac;
Anschließend müsst ihr unter “/sdcard/FlashAfterUpdate” nur noch eure Magisk-Version platzieren. Nach einem OTA-Update wird Magisk nun automatisch installiert.
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen
Hallo Tobi,
seit Magisk 17.0/17.1 übersteht dieser auch ein LineageOS OTA-Update:
– [General] Bring back install to inactive slot for OTAs on A/B devices
Gruß
blu.italia
Nein diese Methode funktioniert nur bei bestimmten A/B-Geräten. Bei Xiaomi sind dies soweit ich weiß derzeit nur Xiaomi A1 und A2.
Ein Script, das zu einem Großteil nichts macht, weil die “cases” leer sind. Toll, danke, wertvolle Ergänzung. Wo hastn das rauskopiert? Weil: direkt verstanden hastes nicht, sonst hätteste es angepasst.
Ist eine ältere Version vom “99-flashafterupdate.sh addon.d script” aus dem xda-Thread.
Aber hast recht, es funktioniert nicht. Nich unbedingt weil das Skript falsch ist… ich werde den Artikel anpassen.
Muss – oder sollte man – zunächst das su-Addon vom LineageOS mit dem su removal entfernen, wenn man auf Magisk wechseln möchte?
Würde ich empfehlen, ja.
Hat übrigens geklappt:
Samsung Galaxy S5 (kccat6), LineageOS 14.1 –> flashen von su removal (arm) –> flashen von Magisk
Keine Probleme. Die Verwaltung der Root Anfragen übernimmt dann Magisk unter Superuser.
Hi Tobi
Wie sieht es aus im 2021? lineage os supportet kein eigenes su addon mehr..? magisk ist wohl auch keine alternative mehr..? wie soll ich mein redmi note 7 rooten.. ?
lg Leo
Doch Magisk ist nach wie vor das Mittel der Wahl.