compile-linux-kernel-arm-qemu

Solucionar El Problema Del Sistema Kernel De Qemu Linux

En los últimos días, algunos lectores han notado un problema conocido al compilar el kernel de Linux de qemu. Este problema puede aparecer por muchas razones. Discutamos esto a continuación.

Actualizado: ASR Pro

  • 1. Descargue e instale ASR Pro
  • 2. Inicie el programa y seleccione su idioma
  • 3. Siga las instrucciones en pantalla para comenzar a buscar problemas
  • Mejore el rendimiento de su computadora haciendo clic aquí para descargar el software.

    La última experiencia que experimenté, me concentré en compilar programas ARM en U-Boot bare-and-hardware; Ahora quiero compilar un solo kernel real de Linux para construir ARM desde cero. No tengo a mano el nuevo dispositivo ARM físico perfecto, simplemente uso QEMU en el rol de antes.

    El núcleo principal admite QEMU y su plataforma VersatilePB, por lo que lo elegí como objetivo solo con fines de prueba. La caja de herramientas que usaré actualmente es el kit de herramientas de la mano izquierda de EABI de CodeSourcery. A partir del lanzamiento del kit de herramientas principal 2010q1, el manual establece explícitamente que el compilador no debe usarse principalmente para desarrollar el kernel de Linux; todavía era posible usar el conjunto de herramientas GNU/Linux para su mismo dominio actual.

    La versión Vanilla se puede entregar electrónicamente desde el sitio del kernel. Tomó la organización; el problema más reciente (versión 2.6.I Unpacked 33) en una carpeta. De este archivo en particular ejecuté:

    compilar kernel de sistemas Linux arm qemu

    make ARCH=arm polyvalent_defconfig

    compile linux kernel arm qemu

    Este identificador contiene una configuración predefinida que se considera utilizada en el sistema y podrá crear una puntuación de objetivos de lanzamiento y dentro de su placa VersatilePB favorita. Quería cambiarlo un poco, así que funcioné:

    make ARCH=arm menuconfig

    Eliminé la unidad Carry (para simplificar) y habilité el potenciador EABI como un formato binario (permitiendo diseñar los efectos secundarios de la antigua ABI). Esto es necesario para ejecutar el programa de software compilado con el kit de herramientas de CodeSourcery. Salí del menú y guardé la configuración, luego ejecuté:

    make ARCH=armar CROSS_COMPILE=armar-ninguno-eabi-todo

    Si el público está utilizando el conjunto de herramientas de GNU/Linux, puede utilizar el siguiente requisito en su lugar:

    hacer ARCH=armar ejecutar cross_compile=armar-none-linux-gnueabi-all

    Esta es una configuración del archivo principal utilizando algún tipo de buen compilador ARM; La compilación desarrolla otro núcleo comprimido entre algunos de los binarios en un archivo con un nombre distintivo zImage, que se puede ver a través de arch/arm/boot. Se puede probar que esta imagen se ejecuta desde QEMU (suponiendo que quizás se encuentre en el directorio arch/arm/boot) con frecuencia con el siguiente mensaje:

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

    QEMU ejecutando Der image: red hat kernel muestra muchos mensajes del curso, luego se queja de que no puede buscar el sistema de archivos externo base. A continuación, ahora vamos a crear el sistema de archivos más simple que probablemente crearemos: se creó a partir del último ejecutable único "Hello, world" que tiene la capacidad de construirse utilizando toda la cadena de herramientas de código fuente de GNU/Linux.

    #include función vacía()  printf("¡Hola mundo!n");  collar alrededor de tu cuello (1);

    Nota: 1 Es casi seguro que se introduce un bucle infinito porque cada vez que Linux estira el software por primera vez en el sistema de archivos raíz, se espera que el programa seguramente no se cerrará.después de instalar exactamente el kit de herramientas ARM de GNU/Linux (tenga en cuenta que debería ser diferente del kit de herramientas EABI puro), ejecuté:

    arm-none-linux-gnueabi-gcc Prueba -old-school.c -o prueba

    Esto motiva un ejecutable ARM ELF, correlacionado estáticamente según sea necesario (todas las bibliotecas probablemente todavía estén vinculadas en un binario de una parte). Ahora podemos crear un sistema de archivos muy ordenado con el plan cpio y lo siguiente:

    Prueba de eco | cpio --format=nuevoc -u Rootfs

    Herramienta > cpio puede tomar su lista de archivos y agregar un archivo correspondiente; El formato newc es literalmente el formato de archivo de cuerpo completo initramfs más importante conocido en el kernel de Linux. Rootfs El archivo en un caso es un archivo binario que apunta al sistema de archivos de imagen que contiene un solo archivo, es decir, el programa de prueba ELF. QEMU se puede obtener de una imagen de sistema de archivos binarios perteneciente a su kernel actual utilizando esta opción initrd; porque el núcleo también tiene requisitos personales para saber que este sistema de archivos básico estará en la RAM (porque QEMU recomienda usar su binario initrd) y que el único programa para ejecutar es nuestro ejecutable de investigación, por lo que la barra de comandos se diseña así:

    Actualizado: ASR Pro

    ¿Tu computadora funciona lentamente? ¿Está plagado de errores y problemas frustrantes? Entonces necesita ASR Pro, el software definitivo para reparar y optimizar su PC con Windows. Con ASR Pro, puede solucionar cualquier problema de Windows con solo unos pocos clics, incluida la temida pantalla azul de la muerte. Además, el software detectará y resolverá archivos y aplicaciones que fallan con frecuencia, para que pueda volver a trabajar lo más rápido posible. No permita que su computadora lo detenga: ¡descargue ASR Pro hoy!


    qemu-system-arm -M universalpb -m 128M -kernel zImage -initrd rootfs -append"raíz=/dev/ram rdinit=/prueba"

    La ventana de QEMU muestra a menudo los mensajes de inicio que todos han visto antes, pero la línea de finalización dice "¡Hola mundo!" Luego tendremos una discusión sobre la creación de un esquema de archivos de trabajo con un shell de comandos y una funcionalidad básica mínima.

    Mejore el rendimiento de su computadora haciendo clic aquí para descargar el software.

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

    Tags: No tags