Какой шаг мне не хватает для запуска ядра 2.6 ARM в QEMU?

Я пытаюсь скомпилировать и загрузить ядро ​​Linux 2.6 для ARM с помощью QEMU. Я в основном следовал тем же инструкциям, которые содержатся, по-видимому, в каждом учебном пособии по этой теме.

В частности:

  1. Загрузите и скомпилируйте ядро ​​

     $ make ARCH = arm CROSS_COMPILE = arm-linux-gnueabi- versatile_defconfig
    $ # Отключены загружаемые модули и включены initramfs
    $ make ARCH = arm CROSS_COMPILE = arm-linux-gnueabi- все
    
  2. Скомпилировать Busybox

     $ make ARCH = arm CROSS_COMPILE = arm-linux-gnueabi- arm
    $ make ARCH = arm CROSS_COMPILE = arm-linux-gnueabi- установить
    
  3. Создать cpio-архив из каталога Busybox _install

     $ cd $ BUSYBOX / _install
    $ найти. | cpio -o -Hnewc | gzip> ../initramfs.gz
    
  4. Загрузка с использованием qemu-system-arm

     $ qemu-system-arm -M versatilepb -m 200M -kernel $ KERNEL / arch / arm / boot / zImage -initrd $ BUSYBOX / initramfs.gz -append "root = / dev / ram0 "
    

Результат следующий:

enter image description here

Похоже, ядро ​​не распознает файловую систему, но я не знаю, как это исправить. Это в основном точные шаги, которым следует каждое отдельное руководство. В исходном коде ядра нет такой вещи, как "cpiofs".

0
28.03.2016, 10:14
0 ответов

Теги

Похожие вопросы