Hoe een Android-kernel in Ubuntu te bewerken

Schrijver: Gregory Harris
Datum Van Creatie: 8 April 2021
Updatedatum: 1 December 2024
Anonim
Tutorial: Android Kernel Configure, Compile & Install (Part 1)
Video: Tutorial: Android Kernel Configure, Compile & Install (Part 1)

Inhoud

De Android-kernel is afgeleid van de Linux-kernel. Het is afhankelijk van kern Linux-services zoals beveiliging, geheugen, netwerken en procesbeheer. Om wijzigingen aan te brengen in de Android-kernel en om bepaalde mogelijkheden toe te voegen of deblokkeren, moet je je eigen kernel bewerken en compileren. Het Ubuntu-besturingssysteem is een van de beste platforms voor het bewerken en compileren van een Android-kernel en het is eenvoudig om alle benodigde elementen te installeren.


routebeschrijving

  1. Kies "Accessoires" in het hoofdmenu en klik op "Terminal" om de toepassing te openen. De terminal lijkt op de Windows-opdrachtprompt.

  2. Typ de volgende opdracht in de Terminal en druk op "Enter" om Java te installeren:

    sudo apt-get install sun-java5-jdk

    Gebruik het Ubuntu-log-in wachtwoord wanneer het programma hierom vraagt. Dit geeft root-rechten.

  3. Voer de volgende opdracht uit op de terminal om de overige hulpprogramma's te installeren die nodig zijn om kernels te bewerken.

    sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essentiële zip curl libncurses5-dev zlib1g-dev valgrind

  4. Maak de vereiste mapstructuur, maak een kopie van het Android-vervangingsscript en verleen volledige lees- en bewerkingsrechten door de volgende opdrachten in Terminal uit te voeren:

    cd / home / * your-user-name mkdir myandroid mkdir bin curl http://android.git.kernel.org/repo> ~ / bin / repo chmod a + x ~ / bin / repo


  5. Ga naar de map "myandroid" en download de Google-tools en Android-bron met behulp van het vooraf gedownloade vervangingsscript. Doe dit door de volgende opdrachten in Terminal uit te voeren:

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

  6. Kopieer en plak de volgende opdracht in Terminal en druk op "Enter" om het uit te voeren:

    echo "----- BEGIN PGP PUBLIC KEY BLOCK ----- Versie: 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. Voer de volgende opdrachten uit op Terminal om de tijdelijke bestandssleutel naar de wachtwoordbeheerder te kopiëren en het tijdelijke bestand te verwijderen:

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

  8. Open uw webbrowser en ga naar de HTCDev: Kernel-broncodepagina (zie bronnen). Klik op de knop "Download" naast de vermelding "HTC EVO Shift 4G (Sprint WWE) - MVNOCRC - 2.6.32 kernel broncode". Sla het bestand op op het bureaublad.

  9. Voer deze opdracht uit op Terminal om een ​​nieuwe map te maken:

    mkdir ~ / .EVO_Kernel_sources

  10. Open de Nautilus. Dit programma is vergelijkbaar met Windows Explorer. De thuismap wordt weergegeven. Druk tegelijkertijd op "Ctrl" en "H" om de verborgen mappen te bekijken. Klik op de eerder gemaakte map "EVO_Kernel_sources" om deze te openen.

  11. Dubbelklik op het eerder gedownloade bronbestand om het TAR-bestand te openen. Het bevat een enkele map; sleep het van het bestand naar de map "EVO_Kernel_sources" om het bestand uit te pakken.

  12. Voer deze opdrachten uit op Terminal om de mapstructuur voor Android-ontwikkeling te maken en een koppeling te maken naar de kernelbron die u zojuist hebt uitgepakt:

    cd ~ mkdir android cd android mkdir bronnen cd-bronnen ln -s / home /uw_gebruikersnaam/.EVO_Kernel_sources/*_extracted_password_name kernel

    Vervang "your_username" door de echte gebruikersnaam in Ubuntu en "Extracted folder_name" met de naam van de map die u uit het EVO Android-bronbestand hebt geëxtraheerd.

  13. Verbind je Android-telefoon met de computer waarop Ubuntu draait in de gegevensoverdrachtsmodus met een USB-kabel. Voer deze opdrachten uit in de Terminal om het belangrijkste Android-instellingenbestand van de telefoon naar de map "/ android / sources / kernel" te kopiëren:

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

  14. Voer deze opdrachten uit om het "makefile" van de Android-kernel te bewerken en de "gereedschapsketen" en de compiler op te geven:

    cd ~ / android / sources maken schone export ARCH = arm export CROSS_COMPILE = arm-eabi- export PATH = $ PATH: ~ / myandroid / prebuilt / linux-x86 / toolchain / arm-eabi-4.4.0 / bin

  15. Voer deze opdracht uit om te beginnen met het configureren van kernelopties:

    maak menuconfig

    Blader omlaag naar het einde van het venster dat verschijnt, selecteer de optie "Een alternatief configuratiebestand laden" en druk op "Enter". Typ het volgende pad naar het configuratiebestand in het vak dat wordt weergegeven:

    / home /your-user-name/ android / sources / kernel / config

    Druk opnieuw op "Enter".

  16. Selecteer de build-opties in het menu om de Android-kernel te bewerken. Het is het beste om de "msm7k", "ondemand" en "processor" processorregelaars te kiezen in de CPU Frequency scale-sessie. Controleer de optie "Kernell-foutopsporing" in het gedeelte "Kernel-hacking" als uw build aan het testen is. Schakel "Ondersteuning voor Host-side USB" en "USB Gadget Support" in als u USB-apparaten wilt gebruiken. U kunt ook ondersteuning toevoegen voor verschillende netwerkfuncties, zoals IP-tunneling en netwerkprivacyopties, in de sectie Netwerkondersteuning.

  17. Sluit het configuratievenster en kies "Ja" wanneer u wordt gevraagd om uw wijzigingen op te slaan. Met deze actie wordt een verborgen ".config" -bestand in de kerneldirectory gemaakt.

  18. Voer deze opdrachten uit op de Terminal om de Wi-Fi-module in te voegen en maak en compileer uw aangepaste Android-kernel:

    maak export KERNEL_DIR = ~ / android / sources / kernel cd ~ / myandroid / system / wlan / ti / sta_dk_4_0_4_32 / maak schoon maak

Wat je nodig hebt

  • Android-telefoon
  • USB-transmissiekabel