Booten von Arch Linux auf einem Android-Gerät

26

Ich habe ein Galaxy Note 10.1 (n8010) und möchte, dass es Arch Linux nativ bootet. Ich meine Boot Arch Linux statt Android. Ich muss nur die initramfs ändern, die ich nirgendwo auf der Welt finde. Meine Fragen:

  • Muss ich nur die initramfs ändern, oder muss ich mich auch um andere Dinge kümmern? (wie der Kernel selbst)
  • [DONE] Woher bekomme ich die offiziellen Initramfs des CyanogenMod 10.1 (Github vielleicht)? Oder muss ich den CyanogenMod-Kernel selbst kompilieren und aus dem zImage extrahieren?
  • [PROBABLY] Kann ich das Arch Linux-Stammverzeichnis in der Android-Datenpartition haben? (zB / data / linux) Oder muss ich eine SD-Karte kaufen?
  • Was muss ich sonst noch wissen / tun?

Edit: Ich habe gefunden, wie man die initramfs ändert :)

  1. entpacken rom (CM10.1 für n8013 verwendet)
  2. wget http://whiteboard.ping.se/uploads/Android/unmkbootimg.gz
  3. gunzip unmkbootimg.gz
  4. ./unmkbootimg boot.img (speichere den mit mkbootimg gegebenen Befehl!)
  5. mkdir initramfs & cd initramfs
  6. gzip -cd initramfs.cpio.gz | cpio -i
  7. Ändere die Init-Skripte <- teste das jetzt, ich werde das richtige posten, sobald es fertig ist
  8. finden . | cpio -o -H newc | gzip> ../initramfs.cpio.gz (nicht sicher, ob der Befehl richtig ist ...)
  9. cd .. && bereinige das Verzeichnis so, dass nur noch initramfs.cpio.gz und zImage übrig sind ...
  10. Führen Sie den zuvor gespeicherten Befehl mkbootimg aus.
  11. Flashe die neue boot.img :)

Bearbeiten 2: Das initramfs ist ziemlich einfach zu erstellen. Sie müssen nur das Root-Dateisystem (entweder die Partition oder das Linux-Image) mounten und über einen Symlink in initramfs auf das Init verweisen

Das Problem ist, dass Sie Kernel 4.x benötigen, um Archs neues System zu booten

Um den Kernel zum Laufen zu bringen, benötigen Sie eine serielle Konsole, um die Fehler und das Zeug zu sehen. Wenn ich den Kernel erstelle, werde ich die erforderlichen Konfigurationseinstellungen veröffentlichen.

Für diejenigen, die kein mkbootimg haben (das bekommst du, wenn du einen Kernel kompilierst), habe ich einen vorkompilierten gefunden

Links:

Dzervas
quelle
Hast du es jemals geschafft? Konnten Sie beim Booten ssh über USB haben?
Michaël
Ich habe es geschafft, es zu booten. Es war nicht so schwierig, aber sicher wird das System nicht abgespielt (ich weiß nicht genau warum). Der Game Changer war UART über Kopfhöreranschluss, es machte alles viel einfacher (ich konnte den gesamten Startvorgang sehen). Was ich nicht geschafft habe, ist die Videoausgabe ... Es war nur Schmerz und ich habe es verlassen. Wenn Sie es schaffen, es zum Laufen zu bringen, melden Sie sich bitte zurück.
Dzervas
Hätten Sie einen Hinweis darauf, wie UART over Jack funktioniert? - Ich möchte ein altes Telefon mit einem kaputten Bildschirm als Musikserver verwenden. Sobald ich also sshd und Sound habe, bin ich glücklich.
Michaël
Sie müssen nur die Kopfhörerbuchse ausbrechen, einen Widerstand hinzufügen und ihn mit einem UART-zu-USB-Konverter an Ihren PC anschließen. Das Ding ist, dass Nexus 5 diese ausschließlich suported, so dass ich weiß nicht , ob / welche anderen Handys es unterstützen ... Sie haben es zu suchen (zB „UART auf Nexus 4“.)
dzervas

Antworten:

4

Ich bin mir nicht sicher, ob das hilft, aber es ist ein Howto für Arch Linux http://forum.xda-developers.com/showthread.php?t=2195778

user961559
quelle
3
Willkommen bei Unix & Linux! Im Allgemeinen möchten wir, dass die Antworten auf der Website für sich selbst stehen - Links sind großartig, aber wenn dieser Link jemals bricht, sollte die Antwort genügend Informationen enthalten, um weiterhin hilfreich zu sein. Bitte überlegen Sie, Ihre Antwort zu bearbeiten, um weitere Details zu erhalten. Weitere Informationen finden Sie in den FAQ .
SLM
Ja! Du hast recht!! Jetzt möchte ich eine Möglichkeit finden, die Wiederherstellung zu ändern, um von einer SD-Karten-Partition booten zu können ...
dzervas
-1

Ich habe ein Tutorial für eine ähnliche Aufgabe gefunden: Wie installiere ich Ubuntu Linux auf Ihrem Google Nexus 7 Android Tablet ? Vielleicht könnte es an Ihr Projekt angepasst werden? Es verwendet fastbootden Bootloader und Neustart mit einem anderen Bootloader zu entsperren. HTH, ich habe noch nie mit einem Android gespielt.

Dan Ross
quelle
2
na ja, ubuntu fürs telefon ist nicht ... echt ubuntu: P es basiert auf cm10 (eine android "distro"). So ist es Android mit anderem Layout ...
Dzervas
Gut zu wissen, wenn ich mein erstes Tablet / Smartphone bekomme, möchte ich eine vertraute Linux-Distribution, die sauber installiert wird. Ich weiß, das ist nicht ganz das, wonach Sie gefragt haben, aber da es keine Antwort auf die Frage gibt, habe ich gehofft, dass dieses Ubuntu-Beispiel für Arch angepasst werden kann. Vielleicht könnten die von fastboot installierten Dateien / Bootloader ersetzt werden? Oder vielleicht bin ich hier über meinem Kopf. Viel Glück und sei vorsichtig!
Dan Ross
1
nein, ubuntu verwendet die Java - VM, die mit Booten usw. zu tun hat
dzervas