Настройка Alt Linux для Raspberry Pi с помощью QEMU

Материал из ALT Linux Wiki

ВНИМАНИЕ! Все шаги выполняем под рутом, так что "Смотри в оба!" (С) Билли Бонс, "Остров сокровищ".

Введение

Бывают моменты, когда под рукой не оказывается, казалось бы, самого нужного - обжимных клещей для витой пары, отвёрстки, или... монитора с hdmi. А тут подвернулся случай пощупать Raspberry Pi. Оглядев свои "богатства" и осознав, что во втором часу ночи устройства с hdmi портом не найти, а адаптер hdmi-vga приказал долго жить, направляемся в поисках вариантов в Интернет. Аналоговый сигнал малинка из-под свежего Сизифа нормально выдавать не захотела, а без предварительной настройки малинка в рабочий режим не выходит... Побродив по просторам Сети, вспоминаем про раздел на Вики Альт Линукс, посвященный ARM-портам. Находим там инструкцию по запуску образов в QEMU, и тут загорается лампочка: "А что, если...". Впрочем, обо всём по порядку

Процесс настройки

0. Устанавливаем на карту памяти дистрибутив с помощью утилиты alt-rootfs-installer;
1. Узнаём букву нашей карты памяти:

fdisk -l

2. Снимаем с устройства (а не с раздела) образ:

dd if=/dev/sdX (или mmcblk0) of=/путь/к/файлу/ИмяОбраза.img

3. Запускаем образ в QEMU в следующей конфигурации:

qemu-system-aarch64 -machine virt -cpu cortex-a57 -m 2048 -smp 4
	-bios <aarch64/u-boot.bin> \
	-drive if=none,id=sda,format=file,file=ИмяОбраза.img \
	-device virtio-blk-device,drive=sda \
	-device virtio-keyboard -device virtio-tablet \
	-device virtio-net-device,netdev=net0 -netdev user,id=net0 \
	-device virtio-gpu,xres=1366,yres=768 -nographic -vnc :0

4. Подключаемся по VNC к QEMU и спокойно настраиваем образ.

remote-viewer vnc://localhost:5900


5. Перезагружаем QEMU и проверяем, всё ли настроилось.
6. Записываем настроенный образ тем же dd:

dd if=/путь/к/файлу/ИмяОбраза.img of=/dev/sdX (или mmcblk0)

7. Вставляем карту памяти в Raspberry Pi 3 и пробуем подключиться по ssh.

Работоспособность метода

Метод проверен на работоспособность для Raspberry Pi 3 B+.

См. также

Regular/arm#Запуск_на_QEMU
Write/rootfs#Raspberry_Pi_3