LINUX.ORG.RU
ФорумAdmin

Как запустить образ Archlinux-raspberrypi на qemu-system-arm?

 , ,


1

1

Здравствуйте

Есть один образ. Хочется запустить его в виртуалке. Образ представляет из себя tar-архив с файловой системой.

Первым делом я создал qcow2-диск (arch-rpi.qcow2), на нем ext4-раздел, в котрый распаковал данный tar.

Отдельно скопировал содержимое директории /boot из образа (директория overlays содержит около сотни dtb-файлов для разного оборудования:

#ls boot/
/overlays
bcm2708-rpi-b.dtb
bcm2708-rpi-b-plus.dtb
bcm2708-rpi-cm.dtb
bootcode.bin
cmdline.txt
config.txt
fixup_cd.dat
fixup.dat
fixup_db.dat
fixup_x.dat
kernel.img
start_cd.elf
start_db.elf
start.elf
start_x.elf

Далее, по аналогии с этой статьей пытаюсь запустить qemu:

#!/bin/bash
qemu-system-arm \
  -dtb boot/bcm2708-rpi-cm.dtb \
  -machine versatilepb \
  -kernel boot/kernel.img \
  -hda arch-rpi.qcow2 \
  -append "root=/dev/sda1 rootfstype=ext4 rw init=/bin/bash"

И - ничего. qemu показывает пустой черный квадрат и не выдает никаких ошибок.

Я толком не знаю, что я делаю. Всё методом тыка. Пожалуйста, наставьте на путь истиный

★★★★★

Последнее исправление: makoven (всего исправлений: 2)

Ответ на: комментарий от alt-x

Дописал в конфиг запуска qemu

-chardev tty,id=console,path=/dev/tty50

Запустил cat /dev/tty50 (screen /dev/tty50), запустил qemu - ничего не выводит в консоль

makoven ★★★★★
() автор топика
Ответ на: комментарий от makoven

Добавь к append «console=ttyS0,9600».

По-моему, cat /dev/ttyX - извращение. Я делаю

-serial telnet::4444,server,wait
, ну и в другом окне
telnet localhost 4444
Благодаря wait - ничего не пропустишь.

alt-x ★★★★★
()
Ответ на: комментарий от alt-x

В интернетах пишут Raspberry Pi B+ with a Broadcom BCM2835 (ARM1176JZF-S) Результатов не дало.

По идее ведь, даже если просто выполнить:

qemu-system-arm \
  -machine versatilepb \
  -kernel boot/kernel.img
оно должно начать запускать ядро и выдать ошибку. Наверное

makoven ★★★★★
() автор топика
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от makoven

Да. Только append ещё надо, чтобы оно знало, что в /dev/ttyS ругаться надо.

Раз этого не происходит - остаётся только отлаживать. Либо gdb цепляться, либо -d in_asm,int и смотреть, где оно зависло.

alt-x ★★★★★
()
Ответ на: комментарий от alt-x

gdb и asm - это выще моих способностей. Спасибо за помощь)

makoven ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.