Smartphones mit Unterstützung von LineageOS und TWRP

Monday, June 26, 2017

Heute ist, nach fast genau drei Jahren, mein Smartphone kaputt gegangen (Verschleiß) und nun brauche ich ein neues.

Dazu habe ich mal die gelisteten unterstützten Geräte bei LineageOS und TWRP verglichen (Verglichen wurden die Codenamen) und nachgesehen, welche Geräte von beiden Projekten unterstützt werden.
Herausgekommen ist diese Liste (Mit 111 Codenamen; Stand Juni 2017).

Wenn ihr euch nach dieser Liste richtet und ein Gerät ausgesucht habt, prüft in einem letzten Schritt bitte noch einmal, ob das Gerät dann auch wirklich auf beiden Listen geführt wird! Siehe: https://wiki.lineageos.org/devices/ und https://twrp.me/Devices/.

  • (angler) google nexus 6p
  • (angler) huawei nexus 6p
  • (armani) xiaomi redmi 1s
  • (athene) motorola moto g 2016/moto g plus 2016
  • (athene) motorola moto g4/g4 plus
  • (bacon) oneplus one
  • (bullhead) google nexus 5x
  • (bullhead) lg nexus 5x
  • (cancro) xiaomi mi 3
  • (cancro) xiaomi mi 3w and mi 4
  • (capricorn) xiaomi mi 5s
  • (chagallwifi) samsung galaxy tab s 10.5 (wi-fi)
  • (cherry) huawei honor 4/4x
  • (cherry) huawei honor 4x
  • (clark) motorola moto x 2015 pure
  • (clark) motorola moto x pure (2015)
  • (condor) motorola moto e
  • (crackling) wileyfox swift
  • (d2att) samsung galaxy s3 at&t
  • (d2att) samsung galaxy s iii (at&t)
  • (d2spr) samsung galaxy s3 sprint
  • (d2spr) samsung galaxy s iii (sprint)
  • (d2tmo) samsung galaxy s3 t-mobile
  • (d2tmo) samsung galaxy s iii (tmo)
  • (d2vzw) samsung galaxy s3 verizon
  • (d2vzw) samsung galaxy s iii (vzw)
  • (d850) lg g3 (at&t)
  • (d851) lg g3 t-mobile
  • (d851) lg g3 (tmo)
  • (d852) lg g3 canada bell rogers
  • (d852) lg g3 (canada)
  • (d855) lg g3 europe
  • (d855) lg g3 (unlocked)
  • (deb) asus nexus 7 2013 lte
  • (deb) google nexus 7 2013 (4g)
  • (dragon) google pixel c
  • (espresso3g) samsung galaxy tab 2 7.0 / 10.1 (gsm)
  • (espresso3g) samsung galaxy tab 2 (gsm - unified)
  • (espressowifi) samsung galaxy tab 2 7.0 / 10.1 (wi-fi)
  • (espressowifi) samsung galaxy tab 2 (wi-fi - unified)
  • (ether) nextbit robin
  • (f400) lg g3 (korea)
  • (falcon) motorola moto g 2013
  • (falcon) motorola moto g
  • (find7) oppo find 7a
  • (find7) oppo find 7
  • (flo) asus nexus 7 2013 wi-fi
  • (flo) google nexus 7 2013 (wi-fi)
  • (flounder) google nexus 9 (wi-fi)
  • (flounder) htc nexus 9
  • (gemini) xiaomi mi 5
  • (ghost) motorola moto x 2013
  • (griffin) motorola moto z 2016
  • (griffin) motorola moto z
  • (gts210vewifi) samsung galaxy tab s2 9.7 2016 (wi-fi)
  • (gts210vewifi) samsung galaxy tab s2 9.7 wifi (2016)
  • (gts28vewifi) samsung galaxy tab s2 8.0 2016 (wi-fi)
  • (gts28vewifi) samsung galaxy tab s2 8.0 wifi (2016)
  • (h811) lg g4
  • (h811) lg g4 (tmo)
  • (h815) lg g4 (h811, h815)
  • (h815) lg g4
  • (h815) lg g4 (intl)
  • (h830) lg g5 t-mobile
  • (h830) lg g5 (tmo)
  • (h850) lg g5 international
  • (h850) lg g5 (intl)
  • (ha3g) samsung galaxy note 3 (international 3g)
  • (ha3g) samsung galaxy note 3 international exynos
  • (hammerhead) google nexus 5
  • (hammerhead) lg nexus 5
  • (ham) zuk z1
  • (ham) zuk zuk z1
  • (harpia) motorola moto g4 play
  • (harpia) motorola moto g play 2016
  • (hayabusa) sony xperia tx
  • (hero2lte) samsung galaxy s7 edge (exynos)
  • (hero2lte) samsung galaxy s7 edge
  • (herolte) samsung galaxy s7 (exynos)
  • (herolte) samsung galaxy s7
  • (hlte) samsung galaxy note 3 qualcomm
  • (hlte) samsung galaxy note 3 (unified)
  • (huashan) sony xperia sp
  • (hydrogen) xiaomi mi max
  • (i9100) samsung galaxy s2 i9100
  • (i9100) samsung galaxy s ii (intl)
  • (i9300) samsung galaxy s3 international exynos
  • (i9300) samsung galaxy s iii (intl)
  • (i9305) samsung galaxy s3 international lte
  • (i9305) samsung galaxy s iii (gsm lte)
  • (ido) xiaomi redmi 3
  • (ido) xiaomi redmi 3/prime
  • (jalebi) yu yunique
  • (jfltevzw) samsung galaxy s4 verizon
  • (jfltevzw) samsung galaxy s4 (vzw)
  • (jfltexx) samsung galaxy s4 international qualcomm
  • (jfltexx) samsung galaxy s4 (intl)
  • (kccat6) samsung galaxy s5 plus
  • (kenzo) xiaomi redmi note 3
  • (kiwi) huawei honor 5x
  • (klimtwifi) samsung galaxy tab s 8.4 (wi-fi)
  • (klte) samsung galaxy s5
  • (klte) samsung galaxy s5 qualcomm
  • (ks01lte) samsung galaxy s4 lte advanced i9506
  • (ks01lte) samsung galaxy s4 lte-a
  • (lentislte) samsung galaxy s5 lte-a
  • (libra) xiaomi mi 4c
  • (lithium) xiaomi mi mix
  • (ls990) lg g3 (sprint)
  • (m7) htc one (gsm)
  • (m7) htc one m7 gsm
  • (m8) htc one 2014
  • (m8) htc one m8 all variants
  • (maguro) google galaxy nexus (gsm)
  • (maguro) samsung galaxy nexus (gsm)
  • (mako) google nexus 4
  • (mako) lg nexus 4
  • (manta) google nexus 10
  • (manta) samsung nexus 10
  • (mint) sony xperia t
  • (n3) oppo n3
  • (n5100) samsung galaxy note 8.0
  • (n5100) samsung galaxy note 8 (gsm)
  • (natrium) xiaomi mi 5s plus
  • (nicki) sony xperia m
  • (oneplus2) oneplus 2
  • (oneplus2) oneplus two
  • (oneplus3) oneplus 3 / 3t
  • (oneplus3) oneplus 3
  • (onyx) oneplus x
  • (osprey) motorola moto g (2015)
  • (peregrine) motorola moto g 2013 lte
  • (peregrine) motorola moto g 4g
  • (piccolo) bq aquaris m5
  • (pme) htc 10
  • (r5) oppo r5
  • (r5) oppo r5/r5s (intl)
  • (roth) nvidia shield portable
  • (s2) leeco le 2
  • (seed) android one second generation qualcomm
  • (seed) google android one 2nd gen
  • (shamu) google nexus 6
  • (shamu) motorola nexus 6
  • (shieldtablet) nvidia shield tablet
  • (surnia) motorola moto e lte (2015)
  • (surnia) motorola moto e lte
  • (t0ltektt) samsung galaxy note 2 lte korea
  • (t0ltektt) samsung galaxy note ii (korea)
  • (t0lte) samsung galaxy note 2 n7105
  • (t0lte) samsung galaxy note ii (gsm lte)
  • (t0lteskt) samsung galaxy note 2 lte sk telecom
  • (t0lteskt) samsung galaxy note ii (sk telecom)
  • (tenshi) bq aquaris u plus
  • (tenshi) bq aquaris u plus (tenshi)
  • (thea) motorola moto g 2014 lte
  • (thea) motorola moto g 4g 2014
  • (titan) motorola moto g 2014
  • (tomato) yu yureka
  • (toro) google galaxy nexus (vzw)
  • (toroplus) google galaxy nexus (sprint)
  • (toroplus) samsung galaxy nexus (sprint)
  • (toro) samsung galaxy nexus (verizon)
  • (tsubasa) sony xperia v
  • (v500) lg g pad 8.3
  • (v500) lg g pad 8.3 (v500, v510, awifi, palman)
  • (vegetalte) bq aquaris e5 4g
  • (victara) motorola moto x 2014
  • (vs985) lg g3 verizon
  • (vs985) lg g3 (vzw)
  • (wt88047) wingtech redmi 2
  • (x2) leeco le max 2
  • (z008) asus zenfone 2 (720p)
  • (z00a) asus zenfone 2 (1080p)
  • (z00l) asus zenfone 2 laser (720p)
  • (z00t) asus zenfone 2 laser 1080p
  • (z00t) asus zenfone 2 laser/selfie (1080p)
  • (zl1) leeco le pro 3

CyanogenMod auf dem Samsung Galaxy S4 mini GT-I9195 (serranoltexx) installieren

Sunday, May 8, 2016

Habe CyanogenMod (CM) auf meinem Samsung Galaxy S4 mini GT-I9195 (serranoltexx) installiert. Das funktionierte problemlos.

Hier ein Gedächtnisprotokoll dazu. Die offizielle Dokumentation, Schritt-für-Schritt Anleitung usw. zu serranoltexx findet man hier: https://wiki.cyanogenmod.org/w/Serranoltexx_Info.

Anstelle von ClockworkMod (CWM) und anderen, bietet CyanogenMod inzwischen ein eigenes Custom ROM an – die CyanogenMod Recovery (CMR).

Für Samsung Galaxy S Geräte muss allerdings weiterhin, statt des fastboot Befehl aus der Android Debug Bridge (ADB), die Heimdall Suite verwendet werden, um das ROM auf das Gerät zu flashen. Doch Heimdall kann mittlerweile aus den Debian-Paketquellen installiert werden: https://packages.debian.org/heimdall-flash.

Wer die Google Apps (OpenGApps) installieren möchte, findet diese hier: http://opengapps.org/. Es wird der Download für die Platform ARM benötigt. Das Google Apps .zip muss im selben Schritt wie das ClockworkMod .zip installiert werden. Ein nachträgliches installieren der Google Apps funktionierte hier nicht.
Wer die Google Apps nicht möchte, installiert später unter Android einfach das FDroid.apk von hier: https://f-droid.org/. Und hat damit einen alternativen App Store zur Verfügung stehen.

Wurde mit Heimdall das CyanogenMod Recovery ROM auf das Gerät geflasht, ist es wichtig das Gerät nicht neu zu starten. Sondern: Ausschalten und direkt den CyanogenMod Recovery-Mode starten. Da bei einem Neustart das Custom ROM wieder auf das Samsung original ROM zurückgesetzt wird, solange das CM-Build noch nicht installiert ist.

Ist das Gerät im CyanogenMod Recovery-Modus. Wählt man Facroty reset und danach dann Apply update, um zuerst das CyanogenMod .zip und danach das OpenGApps .zip zu installieren.
Mit Reboot system now neu starten… fertig.

Ergänzende Hinweise:

  • Unter Android in den Geräteinformationen nachlesen, welches Modell man hat.
  • Mit vollem Akku und Netzstrom beginnen.
  • Root-Rechte braucht es auf dem Gerät nicht, dafür besteht kein Grund (rooting).
  • Für adb muss unter Android, in den Entwickleroptionen der USB-Debugging-Modus aktiviert sein. Die .zip-Dateien können aber auch manuell via Dateimanager, ohne adb auf das Gerät kopiert werden.

Schraube mit beschädigtem Schlitz herausdrehen

Sunday, May 17, 2015

Heute habe ich an meinem ThinkPad Edge 15, das WLAN-Modul ausgebaut, um es gegen ein Modul auszutauschen, das kein Binary blob benötigt. Allerdings musste ich feststellen das Lenovo einen Vendor-Lock-in betreibt und das andere Modul aus meinem alten Laptop, deswegen in dem ThinkPad nicht benutzt werden kann – Herstellerabhängigkeit.

Beim Ausbau des originalen Moduls, ist dann bei einer Schraube der Schlitz kaputt gegangen. Wohl weil ich einen zu kleinen Schraubendreher benutzt habe und die Schraube auch sehr fest angezogen/geklebt war.

Mit kaputtem Schlitz, war es ein Problem die Schraube überhaupt noch herausdrehen zu können. Die Lösung war einen neuen Schlitz in den Schraubenkopf zu sägen und mit passendem Schraubendreher vorsichtig die Schraube zu lösen.

20150517_111003.jpg

20150517_111053.jpg

20150517_111137.jpg

Software-RAID Level 1

Wednesday, January 7, 2015

Software-RAID Level 1 ist die Spieglung einer Festplatten-Partition, durch einrichten eines Festplattenverbund von zwei (oder mehr) Festplatten zu einem logischen Laufwerk mittels mdadm (Programmpaket zum Verwalten von Multi-Disk-Arrays unter Linux), bei dem die Daten gleichzeitig auf alle Festplatten dupliziert werden. Dies schützt durch Redundanz vor dem Ausfall einer Festplatte.

  • Die Literatur empfiehlt aus Sicherheitsgründen, für die RAID-Festplatten unterschiedliche Hersteller oder zumindest unterschiedliche Produktionslinien vom selben Hersteller einzusetzen. Damit, sollte ein Hersteller Fertigungsprobleme gehabt haben, nicht alle Festplatten innerhalb kürzester Zeit ausfallen.
  • Tritt ein Problem auf, wird die Fehlermeldung per E-Mail versandt. Das setzt allerdings voraus, dass ein Mail Transfer Agent (MTA) eingerichtet ist (Die Mail wird die Ausgabe von cat /proc/mdstat enthalten).
  • Das RAID ersetzt keine Datensicherung. Ein RAID schützt nur vor dem Ausfall einer Festplatte — nicht vor unbeabsichtigtem löschen von Dateien und Fehler am Dateisystem.

Debian-Installer: Software-RAID Level 1 mit dem Debian-Installer erstellen

Um die Installation einfach und überschaubar zu halten, habe ich jeweils nur eine Partition (/dev/sd[ab]1) für das RAID genommen und LVM mit jeweils einem LV für / (Root-Partition) und Swap eingerichtet.

Anders als beim Laptop, das mobile ist und auf Reisen etc. schon mal gestohlen werden oder verloren gehen kann, halte ich auf dem Desktop zu Hause ein verschlüsseltes System mit cryptsetup/LVM für nicht notwendig.

Festplatten partitionieren und als RAID konfigurieren

Zwei Partitionen für die Benutzung als RAID einrichten:

partman_active_partition_0.png

Software-RAID Level 1 erstellen

RAID Level 1 mit den zwei Partitionen erstellen:

partman_choose_partition_0.png

partman-md_mainmenu_0.png

Typ des Software-RAID wählen. Wir wählen RAID1:

partman-md_createmain_0.png

Anzahl der Partitionen für das RAID Level 1 auf 2 setzen:

partman-md_raiddevcount_0.png

Die zwei Partitionen die wir oben für die Benutzung als RAID eingerichtet haben auswählen:

partman-md_raiddevs_0.png

Anzahl der Reserve-Partitionen setzen. Wir haben keine Reserve-Partition:

partman-md_raidsparecount_0.png

partman-md_mainmenu_1.png

Die (neue) RAID1-Partition für die Benutzung als LVM einrichten:

partman_active_partition_3.png

partman_choose_partition_5.png

LVM (Logical-Volume-Manager) konfigurieren

LVM konfigurieren und eine VG (Volume-Gruppe) mit zwei LVs (logisches Volume) für / (Root-Partition) und Swap erstellen:

partman_choose_partition_6.png

VG Debian auf der RAID1-Partition erstellen:

partman-lvm_mainmenu_0.png

partman-lvm_vgcreate_name_0.png

partman-lvm_vgcreate_parts_0.png

Zwei LVs für Swap und / (Root-Partition) erstellen:

partman-lvm_mainmenu_1.png

partman-lvm_lvcreate_name_0.png

partman-lvm_lvcreate_name_1.png

Fertige Partitionierung übernehmen

Das fertige Partitions-Schema:

partman_choose_partition_12.png

Bootloader installieren

debian-installer_main-menu_1.png

Um GRUB auf beide Festplatten zu installieren, kann später im nach hinein dpkg-reconfigure grub-pc ausgeführt werden und dort dann alle Festplatte für die Installation ausgewählt werden.

dpkg-reconfigure_grub-pc.png

Fehlerhafte Festplatte ersetzen

Schritt-für-Schritt Anleitung zum Austausch einer defekten Festplatte im Software-RAID Level 1:

  1. Alle Partitionen der defekten Festplatte als fehlerhaft aus dem RAID entfernen:
    mdadm /dev/mdN --set-faulty /dev/sdXN --remove /dev/sdXN
    
  2. Die physische Festplatte auswechseln.
  3. Bootloader und Partitionstabelle kopieren:
    # Bootloader kopieren
    dd if=/dev/sdY of=/dev/sdX bs=512 count=1
    # MBR-Partitionstabelle (MPT) kopieren
    sfdisk -d /dev/sdY > /tmp/mpt.out
    sfdisk /dev/sdX < /tmp/mpt.out
    # Für GUID-Partitionstabellen (GPT) muss sgdisk(8) verwendet werden!
    #sgdisk --backup=/tmp/gpt.out /dev/sdY
    #sgdisk --load-backup=/tmp/gpt.out /dev/sdX
    # neue Partitionstabelle einlesen
    blockdev --rereadpt /dev/sdX
    
  4. Partitionen der neuen Festplatte dem RAID hinzufügen:
    mdadm /dev/mdN --add /dev/sdXN
    

Das als fehlerhaft entfernen und hinzufügen von Partitionen, kann während des Betriebs passieren. Nur zum Auswechseln der physischen Festplatte muss eine Ausfallzeit eingeplant werden. Es müssen alle Partitionen der defekten Festplatte als fehlerhaft entfernt und anschließend neu hinzugefügt werden.

Mit folgendem Befehl kann die Synchronisierung des RAID verfolgt werden:

watch mdadm --detail /dev/mdN

Der Irrtum abwarten zu müssen bis die Synchronisierung abgeschlossen sei ist falsch. Das RAID kann sofort benutzen werden.

Aus einem Live-System auf das RAID zugreifen

Unter GRML, KNOPPIX etc. ein Software-RAID starten.

Das Skript mdadm-startall, startet Software-RAID Systeme automatisch:

# Alle RAID-Systeme starten
apt-get update        # Paketquellen aktualisieren
apt-get install mdadm # Werkzeug zum Verwalten von RAID-Systemen installieren
modprobe md_mod       # RAID framework laden (RAID-Treiber)
mdadm-startall        # Alle RAID-Systeme starten

Nun sollten alle RAID-Systeme (Meta-Devices: /dev/md*) gestartet worden sein und können mit den üblichen Programmen — cryptsetup(8), lvm(8), mount(8) usw. — wie herkömmliche Partitionen gehandhabt werden.

Hinweis: In neueren Versionen von KNOPPIX, scheint das Skript mdadm-startall zu fehlen.
Ich habe es deshalb hier zum Download: https://github.com/1nn3/shell-scripts.

Debian-Installer: RAID-Systeme mit dem Debian-Installer starten

Der Rettungsmodus des Debian-Installer startet RAID-Systeme ebenfalls.