compile-linux-kernel-arm-qemu

Исправить системную проблему с ядром Qemu Linux

За последние несколько дней некоторые читатели заметили известного термита при компиляции ядра qemu. Эта проблема может возникнуть по многим причинам. Давайте обсудим это ниже.

Обновлено: ASR Pro

  • 1. Скачайте и установите ASR Pro
  • 2. Запустите программу и выберите язык
  • 3. Следуйте инструкциям на экране, чтобы начать поиск проблем.
  • : Повысьте производительность вашего компьютера, нажав здесь, чтобы загрузить программное обеспечение. г.

    <название>

    Последний опыт, который я экспериментировал, заключался в том, что я сосредоточился на компиляции программ ARM на чистом аппаратном обеспечении U-Boot; Теперь я хочу скомпилировать одно реальное ядро ​​Linux для сборки ARM с нуля. У меня нет под рукой настоящего идеального физического ARM-устройства, поэтому вместо этого я использую QEMU просто потому, что раньше.

    Основное ядро ​​поддерживает QEMU и эту платформу VersatilePB, поэтому я выбрал вашу цель только для целей тестирования. Я буду использовать набор инструментов EABI Left Hand Toolkit от CodeSourcery. На момент выпуска большей части инструментария 2010q1 в руководстве явно говорится, что компилятор не должен использоваться в основном для разработки ядра Linux; по-прежнему можно было вернуться к использованию набора инструментов GNU/Linux часто в том же домене.

    Ванильную версию можно скачать с сайта ядра. Взял орг; самый важный самый последний (версия 2.6.I Unpacked 33) выпуска в папку. Из этого конкретного файла я запустил:

    скомпилировать qemu для ядра Linux systemunix

    make ARCH=arm polyvalent_defconfig
    compile linux kernel arm qemu

    Этот менеджер содержит предопределенную конфигурацию, которая очень часто используется в системе и во многих случаях может создавать целевые показатели запуска и внутри этой платы VersatilePB. Я хотел немного изменить это, поэтому я создал :

    сделать ARCH=arm menuconfig

    Я удалил единицу Carry (для простоты) и включил улучшение EABI в виде двоичного формата (что позволяет получить побочные эффекты старого ABI). Это необходимо для запуска технологии, скомпилированной с помощью набора инструментов CodeSourcery. Я вышел из меню и сохранил новую конфигурацию, затем запустил:

    сделать ARCH=arm CROSS_COMPILE=arm-none-eabi-all

    Если кто-то использует инструментарий GNU/Linux, покупатели должны вместо этого приобрести следующую покупку:

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

    Это начальная сборка основного файла с использованием правильного хорошего компилятора ARM; Сборка дает еще одно сжатое ядро ​​между этими двоичными файлами в файле с указанным именем zImage, который можно выбрать через arch/arm/boot. Этот образ, возможно, можно запустить из QEMU (при условии, что вы должны находиться в каталоге arch/arm/boot) с большей частью следующего запроса:

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

    QEMU под управлением Der image: ядро ​​системы Linux показывает много мини-сообщений семинара, а затем жалуется, что не может исследовать базовую внешнюю файловую систему. Затем нужно создать простейшую файловую систему, которую мы должны создать: она была построена из основного исполняемого файла «Hello, world», который потенциально может быть построен с использованием всей цепочки инструментов исходного кода GNU/Linux.

    #include пустая функция()  printf("Привет, мир!n");  бриллиантовое колье (1);

    Примечание: 1 Вероятно, будет введен бесконечный цикл, потому что всякий раз, когда Linux сначала переносит программное обеспечение в корневую файловую систему, можно ожидать, что программа, скорее всего, не завершится.после установки именно набора инструментов GNU/Linux ARM (обратите внимание, что его можно охарактеризовать как отличный от чистого набора инструментов EABI), я запустил:



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

    Это предоставляет исполняемый файл ARM ELF, статически связанный по мере необходимости (все библиотеки по-прежнему связаны вместе в уникальном двоичном файле). Теперь мы можем создать еще одну аккуратную файловую систему с помощью средств cpio и следующего:

    Эхо-тест | cpio --format=newc -u Rootfs

    Инструмент > cpio обычно берет ваш список файлов и может похвастаться соответствующим архивом; Формат newc может быть самым важным форматом файла процесса initramfs, известным ядру Linux. Rootfs Файл в этом полезном случае представляет собой двоичный файл из файловой системы образа, содержащий полный единый файл, то есть тестовую программу ELF. QEMU может быть заказан из образа двоичной файловой системы, доступного для вашего текущего ядра, с использованием каждой опции initrd; потому что ядро ​​также стремится знать, что эта основная файловая система проблем будет находиться в ОЗУ (поскольку в этой ситуации QEMU рекомендует использовать обычно двоичный файл initrd) и что преобладающей программой для запуска является исполняемый файл наших научных тестов, поэтому слухи на панели команд выглядят следующим образом:

    Обновлено: ASR Pro

    Ваш компьютер работает медленно? Это страдает от разочаровывающих ошибок и проблем? Тогда вам нужно ASR Pro — идеальное программное обеспечение для восстановления и оптимизации вашего ПК с Windows. С ASR Pro вы можете решить любую проблему с Windows всего за несколько кликов, включая ужасный синий экран смерти. Кроме того, программное обеспечение будет обнаруживать и устранять файлы и приложения, которые часто аварийно завершают работу, поэтому вы сможете вернуться к работе как можно быстрее. Не позволяйте компьютеру сдерживать вас — скачайте ASR Pro сегодня!


    qemu-system-arm -M universalpb -m 128M -kernel zImage -initrd rootfs -append"root=/dev/ram rdinit=/тест"

    В окне QEMU отображаются некоторые сообщения о запуске, которые все видели до этого, но в строке завершения отображается сообщение «Hello a World!». Потом обсудим нормальную жизнь. о создании рабочих файловых систем с помощью командной оболочки и переходе на минимум базовой функциональности.

    : Повысьте производительность вашего компьютера, нажав здесь, чтобы загрузить программное обеспечение. г.

    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 컴파일
    Compileer Linux Kernelarm Qemu
    Compiler Le Bras Du Noyau Linux Qemu
    Compilare Kernel Linux Arm Qemu
    Linux Kernel Arm Qemu Kompilieren
    г.

    Tags: No tags