Table of Contents
За последние несколько дней некоторые читатели заметили известного термита при компиляции ядра qemu. Эта проблема может возникнуть по многим причинам. Давайте обсудим это ниже.
Обновлено: ASR Pro
<название>
Последний опыт, который я экспериментировал, заключался в том, что я сосредоточился на компиляции программ ARM на чистом аппаратном обеспечении U-Boot; Теперь я хочу скомпилировать одно реальное ядро Linux для сборки ARM с нуля. У меня нет под рукой настоящего идеального физического ARM-устройства, поэтому вместо этого я использую QEMU просто потому, что раньше.
Основное ядро поддерживает QEMU и эту платформу VersatilePB, поэтому я выбрал вашу цель только для целей тестирования. Я буду использовать набор инструментов EABI Left Hand Toolkit от CodeSourcery. На момент выпуска большей части инструментария 2010q1 в руководстве явно говорится, что компилятор не должен использоваться в основном для разработки ядра Linux; по-прежнему можно было вернуться к использованию набора инструментов GNU/Linux часто в том же домене.
Ванильную версию можно скачать с сайта ядра. Взял орг; самый важный самый последний (версия 2.6.I Unpacked 33) выпуска в папку. Из этого конкретного файла я запустил:
make ARCH=arm polyvalent_defconfig

Этот менеджер содержит предопределенную конфигурацию, которая очень часто используется в системе и во многих случаях может создавать целевые показатели запуска и внутри этой платы 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
г.