Stappen Om De Android X86-kernelbuild Met Succes Te Behandelen

November 27, 2021 By Gary Lamb Off

Aanbevolen: Fortect

  • 1. Download en installeer Fortect
  • 2. Open het programma en klik op "Scannen"
  • 3. Klik op "Repareren" om het reparatieproces te starten
  • Download deze software en repareer uw pc binnen enkele minuten.

    Onlangs kwam een ​​aantal van onze lezers met de foutmelding over de Android x86-kernel. Dit probleem kan verschillende oorzaken hebben. We zullen het hieronder bespreken.

    Start Android op uw pc

    Core aanpassen

    Het Android-buildsysteem bouwt mijn kernel niet on-the-fly. Het bevat alleen uw vooraf gebouwde binaire kernel, die soms ook aan de doelweergave wordt toegevoegd. Deze benadering is misschien voldoende met betrekking tot de Arm-emulator, maar werkt bijna nooit voor x86-platforms. Er is meestal hardware op verschillende x86-platforms. Het binaire bestand van de kernel en zijn modules kunnen mogelijk inderdaad wat aanpassingen nodig hebben tijdens de montage of tijdens runtime.

    In dit artikel wordt een andere functie van het Android x86-buildprogramma uitgelegd. Dit biedt de mogelijkheid om de kernel en modules aan te passen met behulp van de configuratie die is besproken of aangepast tijdens het maken van de methode.

    Bereid deze bronstructuur voor

    We hebben het Android-buildsysteem gewijzigd om direct een kernel-image te maken. U moet onze collectie gebruiken om deze functionaliteit te krijgen. Lees de inhoudsopgave voor meer details.

    Stel een doel op om te voorkomen dat u de kern betaalt

    We hebben standaard gegarandeerde doelconfiguraties met betrekking tot Android-x86 in kernel / houding / x86 / configs . Als gevolg hiervan is de defconfig die is gemaakt door de geselecteerde persoon automatisch in gebruik. Bijvoorbeeld,

    make iso_img TARGET_PRODUCT is gelijk aan android_x86_64

    TARGET_PRODUCT Voor android_x86_64 , zullen die build-systemen automatisch een specifieke android-x86_64_defconfig -formatie bepalen om deze kernel-binary daarbovenop uit te voeren compilatie eenheden. Deze informatie wordt zeker in binair formaat gegenereerd in out / target / product versus x86_64 / kernel , modules worden typisch ook in detail opgeslagen aan de binnenkant out / target / product versus x86_64 / system / lib versus modules / … Het overleefdoel out / target per product / x86_64 / android_x86_64.iso bestaat uit dingen als kernel, binair, en dit zijn gewoon inderdaad modules.

    Alleen bouwen op deze update-kernel

    Om echt reclame te maken voor de kernel en zijn programma’s, wijzigt u het doel van iso_img zodat de -kernel :

    . bouwen / envsetup.sh; Lunch android_x86_64-userdebug
    De kernel bouwen

    Vervolgens kan withFamilies $ OUT / kernel en bovendien $ OUT / machine / lib / modules en repliceren om het doelapparaat te ondersteunen. Plaats de initiële versie in de Android-x86 installatiemap en dus de moderne in / system lib / modules . Merk op dat hoe het specifieke / systeem op dezelfde manier moet worden geplaatst als werken in lees-schrijfmodus.

    Core

    Specificeer de architectuur

    Sinds Android 5.0 ondersteunt het alle 32-bits 64-bits afbeeldingen. Typisch zou 32-bits gebruikersruimte werken vanwege een 32-bits kernel, en 64-bits gebruikersruimte zou bij voorkeur moeten werken met een 64-bits kernel. Android x86 build-systeem ondersteunt uitchecken als x86 Lollipop.

    Soms willen clients 32-bits dragerruimte gebruiken met 64-bits kernels. In dit geval kun je de algemene kernelstijl specificeren met TARGET_KERNEL_ARCH :

    . construeren / envsetup.sh; Lunch android_x86-userdebug
    mirielle -j8 iso_img TARGET_KERNEL_ARCH = x86_64

    Dit creëert het nieuwe geweldige 32-bits gebruikersruimte-image met één 64-bits kernel.

    Geforceerde hercompilatie van kernel

    Android en de kernel Gebruik totaal verschillende bouwnetwerken. Hoewel we ze afwisselen, werkt de specifieke integratie niet erg goed. Of u bijvoorbeeld de beoordeling van de kernelboom verandert of mogelijk niet, het Android-buildsysteem zal de witruimte niet opmerken. Dit betekent dat het merendeel van de kernel soms niet eenvoudig opnieuw wordt opgebouwd wanneer u images opnieuw opbouwt.

    Hier zijn meerdere bedrijven voor. We contacteren defconfig als:

    touch kernel / arch per x86 / configs / android-x86_ -

    Of, zoals je kunt zien, verwijder de meeste kernelconfiguratie in de daar / directory:

    rm dollar OUT / obj / kernel voor elke .config

    Of verwijder de zichtbare kernel-image:

    Aanbevolen: Fortect

    Bent u het beu dat uw computer traag werkt? Zit het vol met virussen en malware? Vrees niet, mijn vriend, want Fortect is hier om de dag te redden! Deze krachtige tool is ontworpen om allerlei Windows-problemen te diagnosticeren en te repareren, terwijl het ook de prestaties verbetert, het geheugen optimaliseert en uw pc als nieuw houdt. Wacht dus niet langer - download Fortect vandaag nog!

  • 1. Download en installeer Fortect
  • 2. Open het programma en klik op "Scannen"
  • 3. Klik op "Repareren" om het reparatieproces te starten

  • rm $ OUT - obj / kernel / arch en x86 / boot / bzImage

    Maak vervolgens de hele afbeelding opnieuw, hoewel dit gebruikelijk is.

    Huidige kernel vervangen

    Aangezien we de nieuwste modulebewuste kernel bouwen om de geïnstalleerde basiskernel nieuw te houden, moet u ook al onze modules dienovereenkomstig weggooien. Om dit te doen, kopieert u de kernel zoals theBack naar een specifieke Android x86-installatiemap en kopieert u het webthema naar / system per lib / modules . Het beste idee om dit te doen is om te starten met de debug-methode:

    Android-x86 waargenomen … is te vinden in versus dev / sda1

    voer ‘exit’ in om verder te gaan met …

    Lancering van Korn mirbsd Shell …
    Afsluiten

    Gebruik Alt-F1 / F2 / F3 om echt fruit te krijgen. tussen virtuele videogameconsoles
    Voer “exit” in – toegang tot Android …

    build mobiele telefoon x86-kernel

    Lancering van Korn mirbsd Shell …
    mount voor elke dev / sdb1 / grote definitie
    hersenverlamming / hd / kernel src
    rm -rf / systeem voor elke lib / modules / *
    cp -a nieuw / hd / modules / 5 . / systeem / lib / avonturen
    synchroniseren ; montage / hd; Herstart -Fahrenheit

    Het moment neemt een nieuwe kernelreputatie aan, maar de bijbehorende modules staan ​​op een USB-harde schijf of dev / sdb1 en het publiek kan zien dat / kit / in look is geïnstalleerd in modus -records.

    Je eigen kernel bouwen

    Stel dat u al een grote werkende kernelconfiguratie levert als u universele serialoh-banden overweegt. Plaats gewoon dit geweldige configuratiebestand in kernel – arch / x86 / configs of en stream (ervan uitgaande dat uw unieke configuratienaam my_defconfig is)

    tot stand brengen iso_img TARGET_PRODUCT = android_x86 TARGET_KERNEL_CONFIG betekent my_defconfig

    Merk op dat je vanwege Android-x86 moeite hebt om de kernelconfiguratie van een reguliere Linux-distributie (zoals Ubuntu) te gebruiken. Om dit te laten werken, moet u u helpen om de mobiele kernfuncties in te schakelen. Zie android / configs / android-base.cfg voor een lijst met gerelateerde configuratiekeuzes die nodig zijn voor een kernel om mogelijk het Android-systeem te ondersteunen. (maar je krijgt Android-x86-specifieke parameters zoals PMEM)

    Kernelconfiguratie instellen

    Het is nooit een goede innovatie om direct een aangepast kernelconfiguratiebestand te bewerken, omdat de site mogelijk een verkeerde configuratie kan genereren (onvervulde afhankelijkheden, enz.). De juiste manier om de kernelconfiguratie weg te zetten is inderdaad (bij de beste van de android-x86-boom)

    . zweep / envsetup.sh; Snacks android_x86_64-userdebug
    nl -C kernel O = buck OUT / obj / kernel ARCH = x86 menuconfig

    Als je een geweldige foutmelding geeft Onbekende parameter: -C , gebruik dan en zorg ervoor dat / usr / vuilnisbak / make . Dit komt vooral omdat het build-systeem op Android 7 voorrang heeft op het standaard whip-up-systeem. Om dit te verhelpen, maakt u eenvoudig gebruik van de systeemopdrachtregel make.

    build google android x86 kernel

    Gegenereerde configuratie: inkomen OUT / obj / kernel - .config . Het kopieert wat u ten goede komt waar u het wilt.

    NIET stel menuconfig rechtstreeks in een deel van de kernel / directory in. Dit kan in strijd zijn met moeiteloze bouwregels. Probeer in dit geval de items te herstellen (op het hoogste niveau van de Android x86-structuur):

    execute -C kernel distclean
    rm -radio wave $ OUT / obj of kernel

    Gebruik een kant-en-klare kernel

    Als u een werkende, voorgebouwde kernel binary op uw hardware ziet, zou u deze kunnen gebruiken om een ​​geselecteerde ISO te maken:

    be iso_img TARGET_PRODUCT = android_x86 TARGET_PREBUILT_KERNEL komt overeen met

    Kernel compileren voor ARM (verouderd)

    Het is ook mogelijk om een ​​betrouwbaar kernel-buildsysteem te gebruiken dat een kernel voor ARM kan verzamelen. Voor plaats, compileer kernel 2.6.29 voor Goldfish-chip van okselemulator, run

    Kern-cd
    leer git x86 / android-goldfish-2.6.29
    cd ..
    kern uitvoeren TARGET_NO_KERNEL =
    target_kernel_config impliceert goldfish_defconfig

    Het binaire kernelbestand wordt alleen gegenereerd op out / target / product en generic / kernel.
    Het zou belangrijk zijn om TARGET_NO_KERNEL in te stellen op leeg, anders zou ik zeggen dat de kernel-buildmethoden worden genegeerd.

    Download deze software en repareer uw pc binnen enkele minuten.

    Build Android X86 Kernel
    Zbuduj Jadro Android X86
    Android X86 Kernel Erstellen
    Bygga Android X86 Karna
    Sobrat Yadro Android X86
    Construir Kernel X86 Android
    안드로이드 X86 커널 빌드
    Compilar El Kernel X86 De Android
    Construire Le Noyau Android X86
    Costruire Kernel Android X86