compile-linux-kernel-arm-qemu

Probleem Met Qemu Linux-kernelsysteem Oplossen

De afgelopen dagen hebben lezers een bekend virus opgemerkt tijdens het compileren van de qemu linux-kernel. Dit probleem kan verschillende oorzaken hebben. Laten we deze hieronder bespreken.

Bijgewerkt: ASR Pro

  • 1. Download en installeer ASR Pro
  • 2. Start het programma en selecteer uw taal
  • 3. Volg de instructies op het scherm om te beginnen met scannen op problemen
  • Verbeter de prestaties van uw computer door hier te klikken om de software te downloaden.

    De laatste minuten heb ik geëxperimenteerd, ik heb me gefocust op het compileren van ARM-programma’s op U-Boot bare-and-hardware; Nu wil ik een duidelijke echte Linux-kernel compileren om ARM helemaal opnieuw te bouwen. Ik heb geen perfect fysiek ARM-apparaat bij de hand, in plaats daarvan gebruik ik QEMU om dat eerder te zien.

    De hoofdkernel ondersteunt QEMU en elk van onze VersatilePB-platforms, dus ik koos dit naderingsdoel alleen voor testdoeleinden. De toolbox die ik ga gebruiken is die EABI Left Hand Toolkit van CodeSourcery. Vanaf de release van vaak de 2010q1-toolkit, stelt de handleiding expliciet dat de compiler niet meer primair mag worden gebruikt voor het ontwikkelen van de Linux-kernel; het was nog steeds mogelijk zodat je de GNU/Linux-toolset voor hetzelfde domein gebruikt.

    Vanille-versie kan elektronisch worden geleverd vanaf de kernelsite. Nam organisatie; dat dit meest recente (versie 2.6.I Unpacked 33) probleem in een map. Uit dit vriendelijke bestand liep ik:

    compileer een linux systemunix-kernelarm qemu

    make ARCH=arm polyvalent_defconfig

    compileer linux kernel arm qemu

    Deze keep control aan bevat een vooraf gedefinieerde configuratie die zonder twijfel in het systeem wordt gebruikt en die gemakkelijk een startscore kan creëren en binnen iemands VeelsatilePB-bord. Ik wilde het een beetje verschuiven, dus ik kwam rond :

    make ARCH=arm menuconfig

    Ik heb de Carry-eenheid verwijderd (voor de eenvoud) en EABI-betovering ingeschakeld als een binair formaat (waardoor ik bijwerkingen van de oude ABI kan ontvangen). Dit is vereist om softwareprogramma’s uit te voeren die zijn gecompileerd met de CodeSourcery-toolkit. Ik verliet het menu en sloeg de specifieke configuratie op, en rende toen:

    make ARCH=arm CROSS_COMPILE=arm-none-eabi-all

    Als jij en je gezin de GNU/Linux-toolkit gebruiken, zou je site in plaats daarvan de volgende volgorde moeten gebruiken:

    maak ARCH=arm run cross_compile=arm-none-linux-gnueabi-all

    Dit is een opbouw van het hoofdbestand met een echt goede ARM-compiler; De build zou een andere gecomprimeerde kern maken tussen de specifieke binaire bestanden in een bestand met een zekere naam zImage, die kan worden onthuld via arch/arm/boot. Deze afbeelding kan worden uitgevoerd vanuit QEMU (ervan uitgaande dat u zich misschien in de map arch/arm/boot bevindt) met uw huidige volgende prompt:

    qemu-systeem-arm -M polyvalentpb -m 128M -kernel zImage

    QEMU draait Der image: Red Hat kernel toont veel serie berichten, en klaagt dan dat het het baseexternal bestandssysteem niet kan opmerken. Vervolgens zullen we het eenvoudigste bestandssysteem maken dat we waarschijnlijk zullen maken: het is gebouwd op basis van dit enkele “Hallo wereld” uitvoerbare bestand dat kan worden gebouwd met behulp van de volledige GNU/Linux-broncodetoolketen.

    #include lege functie()  printf("Hallo wereld!n");  ogenblikkelijk (1);

    Opmerking: 1 Er wordt zonder twijfel een oneindige lus geïntroduceerd, want wanneer Linux voor het eerst software op het rootbestandssysteem zet, wordt van de site verwacht dat het programma zeker niet wordt afgesloten.nadat ik precies de GNU/Linux ARM-toolkit had geïnstalleerd (merk op dat deze altijd anders is dan de pure EABI-toolkit), heb ik het volgende uitgevoerd:

    arm-none-linux-gnueabi-gcc Test -old-school.c -o test

    Dit helpt om een ​​ARM ELF uitvoerbaar te maken, statisch als dat nodig is (alle bibliotheken zijn misschien nog steeds aan elkaar gekoppeld in een persoonlijk binair bestand). Nu kunnen we het beste nette bestandssysteem maken met het cpio-accessoire en het volgende:

    Echotest | cpio --format=newc -u Rootfs

    Tool > cpio brengt uw lijst met bestanden en staat een bijbehorend archief toe; newc-formaat wordt beschouwd als het belangrijkste initramfs-schemabestandsformaat dat bekend is bij de Linux-kernel. Rootfs Het bestand in uw geval is een binair bestand dat is gekoppeld aan het afbeeldingsbestandssysteem dat per enkel bestand het ELF-testprogramma bevat. QEMU kan competent zijn vanuit een binair bestandssysteem-image dat beschikbaar is voor uw huidige kernel met gebruikmaking van de over het algemeen initrd-optie; omdat de kernel ook specificaties heeft om te weten dat dit sleutelbestandssysteem in RAM zal zijn (omdat QEMU aanbeveelt om het daadwerkelijke initrd binaire bestand te gebruiken) en dat het eerste programma dat wordt uitgevoerd ons analyse-uitvoerbaar bestand is, dus de opdrachtbalk ziet er als volgt uit:

    Bijgewerkt: ASR Pro

    Is uw computer traag? Wordt het geplaagd door frustrerende fouten en problemen? Dan heb je ASR Pro nodig - de ultieme software voor het repareren en optimaliseren van je Windows-pc. Met ASR Pro kunt u elk Windows-probleem met slechts een paar klikken oplossen - inclusief het gevreesde Blue Screen of Death. Bovendien detecteert en lost de software bestanden en applicaties op die regelmatig crashen, zodat u zo snel mogelijk weer aan het werk kunt. Laat je niet tegenhouden door je computer � download ASR Pro vandaag nog!


    qemu-systeem-arm -M universalpb -m 128M -kernel zImage -initrd rootfs -append"root=/dev/ram rdinit=/test"

    Het QEMU-venster toont onze opstartberichten die iedereen tot nu toe heeft gezien, maar de aanvulregels “Hello a World!” Dan zullen we het hebben over het maken van een werkend bestandsapparaat met een opdrachtshell en door de minste basisfunctionaliteit.

    Verbeter de prestaties van uw computer door hier te klikken om de software te downloaden.

    Compile Linux Kernel Arm Qemu
    Kompilera Linux Karnarm Qemu
    Compilar O Kernel Linux Arm Qemu
    Compilar Linux Kernel Brazo Qemu
    Skompiluj Ramie Jadra Linuxa Qemu
    리눅스 커널 암 Qemu 컴파일
    Skompilirovat Qemu Yadra Yadra Linux
    Compiler Le Bras Du Noyau Linux Qemu
    Compilare Kernel Linux Arm Qemu
    Linux Kernel Arm Qemu Kompilieren

    Tags: No tags