Почему qemu не устанавливает образ aarch64 alpine на хост x86 _64 ubuntu?

MASQUERADE — это просто SNAT (исходный NAT )с источником исходящего интерфейса (см. man iptables-extensions.

Попытка подключения (начальный SYN )подвергается NAT, а затем соединение отслеживается в ядре ("conntrack" ), и все пакеты в этом соединении проходят NAT в соответствующем направлении.

Так что да, исходящие ответы SYN/ACK на входящие SYN не будут преобразованы SNAT в NAT. Если вы хотите использовать NAT для входящих SYN, вам нужен DNAT, а не SNAT. Это также будет транслировать ответы SYN/ACK.

1
06.12.2020, 09:09
1 ответ

Установить

Я успешно использовал эти команды для загрузки образа alpine и его установки в образ qcow2:

# create qcow2 image
qemu-img create -f qcow2 alpine.qcow2 10G

# boot up with install medium
qemu-system-aarch64 \
-machine virt -cpu cortex-a57 \
-drive if=pflash,format=raw,readonly,file="/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw" \
-m 512M \
-drive format=raw,readonly,file=/path/to/alpine-standard-3.12.1-aarch64.iso \
-drive file=alpine.qcow2

Вам нужен пакет edk2на вашем хосте или получите файл QEMU_EFI-pflash.rawдругими способами.

Затем вы можете запустить setup-alpineи установить sys на/dev/vdb(alpine.qcow2). setup-alpine, кажется, здесь работает из коробки просто отлично.

После завершения установки выключите систему и извлеките установочный носитель.:

qemu-system-aarch64 \
-machine virt -cpu cortex-a57 \
-drive if=pflash,format=raw,readonly,file="/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw" \
-m 512M \
-drive file=alpine.qcow2

Теперь вы должны загрузить новую установку Alpine.

Графика

Если вам нужна графика, вы можете добавить:

# ramfb seems to work (altough it wont be fast)
-device ramfb
# or virtio gpu, should be faster, but will be detected later
-device virtio-gpu

Вам также потребуется добавить периферийные устройства, если вы хотите взаимодействовать с виртуальной машиной:

-device usb-ehci -device usb-kbd -device usb-mouse

Общая папка

Если вы хотите поделиться папкой, вы можете использовать 9p или включенный сервер samba. 9p должен работать так (, как в документации qemu):

-fsdev local,path=/path/to/your/folder,security_model=none,id=test_dev \
-device virtio-9p-pci,fsdev=test_dev,mount_tag=test_mount

И в гостях:

mount -t 9p -o trans=virtio test_mount /mnt
4
18.03.2021, 22:45

Теги

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