So bearbeiten Sie einen Android-Kernel in Ubuntu

Autor: William Ramirez
Erstelldatum: 17 September 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
Linux auf Android-Geräten mit Linux Deploy und chroot
Video: Linux auf Android-Geräten mit Linux Deploy und chroot

Inhalt

Der Android-Kernel ist vom Linux-Kernel abgeleitet. Es basiert auf den wichtigsten Linux-Diensten wie Sicherheit, Speicher, Netzwerk und Prozessverwaltung. Um Änderungen am Android-Kernel vorzunehmen und bestimmte Funktionen aufzunehmen oder deren Blockierung aufzuheben, müssen Sie Ihren eigenen Kernel bearbeiten und kompilieren. Das Ubuntu-Betriebssystem ist eine der besten Plattformen zum Bearbeiten und Kompilieren eines Android-Kernels, und es ist einfach, alle erforderlichen Elemente zu installieren.


Anweisungen

  1. Wählen Sie "Zubehör" aus dem Hauptmenü und klicken Sie auf "Terminal", um die Anwendung zu öffnen. Das Terminal ähnelt der Windows-Eingabeaufforderung.

  2. Geben Sie den folgenden Befehl in das Terminal ein und drücken Sie "Enter", um Java zu installieren:

    sudo apt-get install sun-java5-jdk

    Verwenden Sie das Ubuntu-Anmeldekennwort, wenn das Programm danach fragt. Dies gibt root-Berechtigungen.

  3. Führen Sie den folgenden Befehl auf dem Terminal aus, um die restlichen zum Bearbeiten von Kerneln erforderlichen Tools zu installieren.

    sudo apt-get installieren git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind

  4. Erstellen Sie die erforderliche Ordnerstruktur, erstellen Sie eine Kopie des Android-Ersetzungsskripts und gewähren Sie vollständigen Lese- und Bearbeitungszugriff, indem Sie die folgenden Befehle in Terminal ausführen:


    cd / home / * Ihr Benutzername mkdir myandroid mkdir bin curl http://android.git.kernel.org/repo> ~ / bin / repo chmod a + x ~ / bin / repo

  5. Gehen Sie zum Ordner "myandroid" und laden Sie die Google-Tools und die Android-Quelle mit dem vorab heruntergeladenen Ersatzskript herunter. Führen Sie dazu die folgenden Befehle in Terminal aus:

    cd ~ / myandroid ~ / bin / repo init -u git: //android.git.kernel.org/platform/manifest.git ~ / bin / repo sync

  6. Kopieren Sie den folgenden Befehl in das Terminal und drücken Sie "Enter", um ihn auszuführen:

    echo "----- BEGIN PGP PUBLIC KEY BLOCK ----- Version: GnuPG v1.4.2.2 (GNU / Linux)

    mQGiBEnnWD4RBACt9 / h4v9xnnGDou13y3dvOx6 / t43LPPIxeJ8eX9WB + 8LLuROSV lFhpHawsVAcFlmi7f7jdSRF + OvtZL9ShPKdLfwBJMNkU66 / TZmPewS4m782ndtw7 8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD u4PVgChaAJzTYJ1EG + UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z wNj96SA8BL + a1OoEUUfpMhiHyLuQSftxisJxTh + 2QclzDviDyaTrkANjdYY7p2cq / HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9 / I1S5 jU5SA / 9WwIps4SC84ielIXiGWEqq6i6 / sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4 MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l / 8zTpA + uUGapw4tWCp4o0dpIvDPBEa9 b / f / ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k cm9pZC5jb20 + iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX gAAKCRDorT + BmrEOeNr + AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI 2t09Ed + 9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV / 0Bo9WiByJ9WJ5swMN36 / Val QN4mWRhfzDOk / Rosdb0csAO / l8Kz0gKQPOfObtyYjvI8JMC3rmi + LIvSUT9806Up hisyEmmHv6U8gUb / xHLIanXGxwhYzjgeuAXVCsv EvoPIHbY4L + / + KvP5x oCJIDbk C2b1TvVk9PryzmE4BPIQL / NTG R1oLWm / uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj Udtb5 + + + OgTg7Cow 8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf / 8AAwUIAJPWsB / M + pK km / s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c / KsjADtAuKW9 / d8phb N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA vUXRwm / fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo G1S8fXgE0Lq3cdDM / GJ4QXP / p6LiwNF99faDMTV3 2SAOGvytOX6KjKVzKOSsfJQ hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT + + + BmrEOeCUOAJ9qmR0l EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa jv2QSTlrx4KLM = ----- END PGP Wi5D PUBLIC KEY BLOCK ----- "> /tmp/android.gpg


  7. Führen Sie auf Terminal die folgenden Befehle aus, um den temporären Dateischlüssel in den Kennwortmanager zu kopieren und die temporäre Datei zu löschen:

    gpg --import </tmp/android.gpg rm -rf /tmp/android.gpg

  8. Öffnen Sie Ihren Webbrowser und rufen Sie die Quellcode-Seite HTCDev: Kernel auf (siehe Ressourcen). Klicken Sie auf die Schaltfläche "Herunterladen" neben dem Eintrag "HTC EVO Shift 4G (Sprint WWE) - MVNOCRC - 2.6.32 Kernel-Quellcode". Speichern Sie die Datei auf dem Desktop.

  9. Führen Sie diesen Befehl auf dem Terminal aus, um ein neues Verzeichnis zu erstellen:

    mkdir ~ / .EVO_Kernel_sources

  10. Öffne den Nautilus. Dieses Programm ähnelt dem Windows Explorer. Der Heimatordner wird angezeigt. Drücken Sie gleichzeitig "Strg" und "H", um die versteckten Ordner anzuzeigen. Klicken Sie auf den zuvor erstellten Ordner "EVO_Kernel_sources", um ihn zu öffnen.

  11. Doppelklicken Sie auf die zuvor heruntergeladene Quelldatei, um die TAR-Datei zu öffnen. Es enthält einen einzelnen Ordner. Ziehen Sie es aus der Datei in den Ordner "EVO_Kernel_sources", um die Datei zu extrahieren.

  12. Führen Sie diese Befehle in Terminal aus, um die Ordnerstruktur für die Android-Entwicklung zu erstellen, und erstellen Sie eine Verknüpfung zu der Kernel-Quelle, die Sie gerade extrahiert haben:

    cd ~ mkdir android cd android mkdir quellen cd quellen ln -s / home /Ihr_Benutzername/.EVO_Kernel_sources/*_extracted_password_name Kernel

    Ersetzen Sie "your_username" durch den tatsächlichen Benutzernamen in Ubuntu und "Extracted ordnername" durch den Namen des Ordners, den Sie aus der EVO-Android-Quelldatei extrahiert haben.

  13. Verbinden Sie Ihr Android-Telefon über ein USB-Kabel mit dem Computer, auf dem Ubuntu im Datenübertragungsmodus ausgeführt wird. Führen Sie die folgenden Befehle im Terminal aus, um die Hauptdatei für Android-Einstellungen vom Telefon in den Ordner "/ android / sources / kernel" zu kopieren:

    adb pull /proc/config.gz ~ / android / sources / kernel / cd ~ / android / sources / kernel / gunzip config.gz

  14. Führen Sie die folgenden Befehle aus, um das "Makefile" des Android-Kernels zu bearbeiten, und geben Sie die "Toolkette" und den Compiler an:

    cd ~ / android / sources machen den Export sauber ARCH = arm export CROSS_COMPILE = arm-eabi- export PATH = $ PATH: ~ / myandroid / vorgefertigt / linux-x86 / toolchain / arm-eabi-4.4.0 / bin

  15. Führen Sie diesen Befehl aus, um mit der Konfiguration der Kerneloptionen zu beginnen:

    menuconfig machen

    Scrollen Sie bis zum Ende des angezeigten Fensters, wählen Sie die Option "Alternative Konfigurationsdatei laden" und drücken Sie "Enter". Geben Sie den folgenden Pfad zur Konfigurationsdatei in das Feld ein, das angezeigt wird:

    / home /Ihr Benutzername/ android / sources / kernel / config

    Drücken Sie erneut "Enter".

  16. Wählen Sie die Erstellungsoptionen aus dem Menü aus, um den Android-Kernel zu bearbeiten. Es ist am besten, die Prozessorregler "msm7k", "ondemand" und "processor" in der Sitzung der CPU-Frequenzskala auszuwählen. Aktivieren Sie die Option "Kernell-Debugging" im Abschnitt "Kernel-Hacking", wenn Ihr Build getestet wird. Aktivieren Sie "Unterstützung für USB auf Host-Seite" und "USB-Gadget-Unterstützung", wenn Sie USB-Geräte verwenden möchten. Im Abschnitt Netzwerkunterstützung können Sie auch Unterstützung für verschiedene Netzwerkfunktionen hinzufügen, z. B. IP-Tunneling und Netzwerkschutzoptionen.

  17. Schließen Sie das Konfigurationsfenster und wählen Sie "Ja", wenn Sie zum Speichern der Änderungen aufgefordert werden. Diese Aktion erstellt eine versteckte ".config" -Datei im Kernel-Verzeichnis.

  18. Führen Sie diese Befehle auf dem Terminal aus, um das Wi-Fi-Modul einzufügen und Ihren benutzerdefinierten Android-Kernel zu erstellen und zu kompilieren:

    make export KERNEL_DIR = ~ / android / sources / kernel cd ~ / myandroid / system / wlan / ti / sta_dk_4_0_4_32 / make clean machen

Was du brauchst

  • Android-Telefon
  • USB-Übertragungskabel