Steg Till Problem Som Du Kan Bygga Android X86 Kernel
November 28, 2021Rekommenderas: Fortect
Nyligen kom en del av våra läsare igenom Android x86 kernel copy felmeddelande. Detta problem kan uppstå för att få flera orsaker. Vi kommer att prata om detta nedan.
Starta Android på din PC
Adapt Core
Android-byggsystemet bygger inte en ny kärna i farten. Den producerade bara din förbyggda kärnbinär, som ibland anses läggas till målfotograferingen. Detta tillvägagångssätt kan vara tillräckligt tillgängligt för Arm-emulatorn, men det fungerar knappast för x86-plattformar. Det kan finnas hårdvara på olika x86-plattformar. Kärnan binär och dess moduler skulle förmodligen verkligen behöva lite tweaking vid sammansatt tid eller körtid.
Den här artikeln förklarar en annan funktion i det specifika Android x86-byggprogrammet. Detta gör det möjligt att anpassa varje kärna och moduler med hjälp av konfigurationen eller anpassad under metodskapandet.
Förbered detta källträd
Vi har förbättrat Android-byggsystemet för att odla en kärnbild i farten. Du bör använda vår samling för att få denna funktionalitet. Läs innehållsförteckningen för lite mer information.
Bygg ett mål för att undvika att betala kärnan
Vi har standardmålkonfigurationer för att göra Android-x86 i kernel / arc / x86 / configs eller . Som ett resultat erhålls defconfig för den valda personen automatiskt. Till exempel,
make iso_img TARGET_PRODUCT innebär android_x86_64
TARGET_PRODUCT För android_x86_64 kommer detta byggsystem automatiskt att ta en specifik android-x86_64_defconfig design för att köra denna kärnbinär med dess kompileringsenheter. Denna information kommer sannolikt att genereras i binärt format nära ut / target / product x86_64 / kernel , moduler kommer också att lagras i detalj över hela out / target / product x86_64 / system / lib modules / … Det tidigare målet out / target product / x86_64 / android_x86_64.iso levererar saker som kärna, binär, och som ett resultat är dessa verkligen moduler.
Bygg endast på den här uppdateringskärnan
För att marknadsföra kärnan och dess program, utveckla målet för iso_img så att kärnan kan:
Bygger kärnan
Sedan kan withFamilies reproducera $ OUT / kärna och dessutom $ OUT / struktur / lib / moduler och för att stödja målenheten. Placera den ursprungliga versionen i installationskatalogen för Android-x86 och därför den mest uppdaterade i / system kontra lib / moduler . Observera att vart och ett av våra specifika / system måste placeras på samma sätt som som en del av läs-skrivläge.
Kärna
Ange arkitekturen
Sedan Android 5.0 har den stöd för alla 32-bitars 64-bitars snapshots. Vanligtvis skulle 32-bitars användarutrymme fungera tillräckligt bra för en 32-bitars kärna och 64-bitars användarutrymme om man arbetar med en 64-bitars kärna. Android x86-byggsystem stöder erfarenhet som x86 Lollipop.
Ibland kanske familjer vill köra 32-bitars individuellt utrymme med 64-bitars kärnor. I det här fallet kan du specificera vilken kärna som helst med TARGET_KERNEL_ARCH :
c -j8 iso_img TARGET_KERNEL_ARCH = x86_64
Detta skapar den senaste fantastiska 32-bitars användarutrymmesbilden med den specifika 64-bitarskärnan.
Tvingad kärnkompilering
Android och kärnan Använd helt olika datorer. Även om vi varvar dem tillsammans, hur fungerar inte integrationen särskilt bra. Till exempel, oavsett om du ändrar analysen av kärnträdet eller men inte, kommer Android-byggsystemet inte längre att märka blanksteg. Detta innebär att experter hävdar att kärnan ibland inte återuppbyggs omedelbart när du bygger om bilder.
Det finns flera processer för detta. Vi kontaktar defconfig som:
pekkärna / båge för varje x86 / configs / android-x86_ 6 .
Eller, som du kan se, ta bort det mesta av kärnans konfiguration i katalogen lättillgänglig / :
rm bucks OUT / obj / kernel - .config
Eller ta bort den synliga kärnbilden:
Rekommenderas: Fortect
Är du trött på att din dator går långsamt? Är det full av virus och skadlig kod? Var inte rädd, min vän, för Fortect är här för att rädda dagen! Detta kraftfulla verktyg är utformat för att diagnostisera och reparera alla slags Windows-problem, samtidigt som det ökar prestanda, optimerar minnet och håller din dator igång som ny. Så vänta inte längre - ladda ner Fortect idag!
rm $ OUT eller obj / kernel / arch - x86 / boot / bzImage
Återskapa sedan den bilden, även om det är vanligt.
Ersätt nuvarande kärna
Eftersom vi bygger en bra solid modulmedveten kärna för att hålla den installerade teknikkärnan ny, bör du också ändra var och en av våra moduler därefter. För att göra detta, kopiera kärnan genom att använda theBack till en specifik Android x86 installationskatalog och kopiera webbtemat till / system för varje lib / moduler . Den bästa planen för att göra detta är att göra det med felsökningsmetoden:
Android-x86 förstås … kan hittas i per dev / sda1
skriv “avsluta” för att börja …
Lanserar Korn mirbsd Shell …
Avsluta
Använd Alt-F1 / F2 / F3 för att njuta av riktiga frukter. mellan virtuella kort
Ange “exit” så att du kan komma åt Android …
Lanserar Korn mirbsd Shell …
montera och dev / sdb1 / högre
clubpenguin / hd / kernel src
rm -rf / system per lib / modules / *
cp -a complete / hd / modules / 7 . / system / lib / units
synkronisering
Exemplet på detta är att ta en ny kärnvideo, men motsvarande moduler är för vissa USB-hårddiskar och dev / sdb1 och vem som helst kan se att / machine / installerades i med hjälp av mode-records.
Bygg din egen kärna
Anta att du redan behöver en stor fungerande kärnkonfiguration som behövs för universella serialoh-däck. Lägg bara all din fantastiska konfigurationsfil i kärnan kontra arch / x86 / configs och stream (förutsatt att ditt köpkonfigurationsnamn är my_defconfig)
konstruktion iso_img TARGET_PRODUCT = android_x86 TARGET_KERNEL_CONFIG är lika med my_defconfig
Observera att på grund av Android-x86 har du svårt att använda kärnkonfigurationen från en vanlig Linux-distribution (som Ubuntu). För att detta ska fungera behöver du när du behöver aktivera de mobila kärnfunktionerna. Se android / configs / android-base.cfg på grund av en lista över relaterade konfigurationsmodeller som krävs för att en kärna ärligt ska kunna stödja Android-systemet. (men förbrukar Android-x86 specifika parametrar som PMEM)
Ställ in Kernel Config
Det är aldrig ett bra tillvägagångssätt att direkt redigera en önskad kärnkonfigurationsfil eftersom webbplatsen genererar felkonfigurationer (ouppfyllda beroenden, etc.). Det korrekta sättet att ställa in kärnkonfigurationen är verkligen (vid majoriteten av android-x86-trädet)
render -C kernel O = buck OUT / obj / kernel ARCH = x86 menuconfig
Om du får ett bra felmeddelande Okänd parameter: -C , använd achieve / usr / compost bin / make . Det beror helt enkelt på att byggsystemet på Android 11 har företräde framför standardsystemet. För att övervinna detta, använd helt enkelt systemets kommandorad make.
Genererad konfiguration: rr OUT / obj / kärna och .config . Den kopierar det som tillåter dig dit du vill ha det.
Publicera INTE menuconfig direkt i specifik kärna/katalog. Detta kan bryta mot ganska enkla byggregler. I det här fallet provar du att återställa objekten (högst upp i Android x86-trädet):
aid -C kernel distclean
rm -radiovåg $ OUT / obj - kärna
Använd en färdig kärna
Om du ser en fungerande förbyggd kärnbinär på din hårdvara kan du använda den för att skapa en unik ISO:
sv iso_img TARGET_PRODUCT = android_x86 TARGET_PREBUILT_KERNEL betyder
Kompilera kärna för ARM (utfasad)
Det är också möjligt att använda ett byggsystem med en enda kärna som kan samla en kärna för ARM. Till exempel, kompilera kärna 2.6.29 för Goldfish-dator från armhålsemulatorn, kör
Core CD
present git x86 / android-goldfish-2.6.29
cd ..
för att göra kärnan TARGET_NO_KERNEL =
target_kernel_config betyder goldfish_defconfig
Kärnan binär genereras när han var ute / target / product generic / kernel.
Det skulle vara viktigt att ställa in TARGET_NO_KERNEL till tom, annars kommer alla kärnbyggemetoder alltid att ignoreras.
Build Android X86 Kernel
Android X86 Kernel Bouwen
Zbuduj Jadro Android X86
Android X86 Kernel Erstellen
Sobrat Yadro Android X86
Construir Kernel X86 Android
안드로이드 X86 커널 빌드
Compilar El Kernel X86 De Android
Construire Le Noyau Android X86
Costruire Kernel Android X86