Как запустить Ubuntu 16.04 ARM в QEMU?

Моя цель - запустить Ubuntu 16.04 (ARM) в Qemu (на хосте Ubuntu 16.04 x64).

Я пытался следовать этому учебнику , но безуспешно:

Home directory not accessible: Permission denied
pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver
Could not initialize SDL(No available video device) - exiting

Вместо изображения debian_squeeze_armel_standard.qcow2, которое я там использовал, я использовал предварительно установленную ubuntu-16.04 -server-armhf + raspi2.img .

Забыть о вышеупомянутой статье, как правильно запустить Ubuntu 16.04-arm поверх Qemu?

Если невозможно легко перебросить его через Кему, есть ли другая альтернатива?

9
задан 17 June 2018 в 22:25

2 ответа

Это не будет работать, потому что Изображение, которое Вы используете, предварительно компилируется для устройства Raspberry Pi 2 и будет работать только над Raspberry Pi 2. Попробуйте это учебное руководство

0
ответ дан 17 April 2019 в 01:54

В этом ответе: там, кто-либо предварительно создал изображение Ubuntu QEMU (32 бита) онлайн? я описал следующие рабочие установки для гостя Ubuntu 18.04 / хост:

  • облако отображают arm64: самая быстрая установка для начала работы
  • debootstrap arm64: довольно быстрый, но допускает больше настройки изображения

, Те установки обеспечивают предварительно созданные образы дисков и не проходят установщик. Они - лучший выбор, который я видел до сих пор.

Затем, мне также удалось выполнить arm64 изображение сервера на QEMU. Однако это проходит установщик, который является границей, непрактично замедляются, чтобы сделать, если Вы не находитесь на хосте ARM с KVM. Это специально болезненно, потому что десятки взаимодействий требуются, чтобы заканчивать установку.

Вот сценарий сервера, протестированный на хосте Ubuntu 18.10:

#!/usr/bin/env bash

set -eux

# Tested on Ubuntu 18.10.
# - https://superuser.com/questions/942657/how-to-test-arm-ubuntu-under-qemu-the-easiest-way
# - https://askubuntu.com/questions/797599/how-to-run-ubuntu-16-04-arm-in-qemu

# Parameters.
id=ubuntu-18.04.1-server-arm64
#id=debian-9.6.0-arm64-xfce-CD-1
img="${id}.img.qcow2"
img_snapshot="${id}.img.snapshot.qcow2"
iso="${id}.iso"
flash0="${id}-flash0.img"
flash1="${id}-flash1.img"

# Images.
if [ ! -f "$iso" ]; then
  wget "http://cdimage.ubuntu.com/releases/18.04/release/${iso}"
fi
if [ ! -f "$img" ]; then
  qemu-img create -f qcow2 "$img" 1T
fi
if [ ! -f "$img_snapshot" ]; then
  qemu-img \
    create \
    -b "$img" \
    -f qcow2 \
    "$img_snapshot" \
  ;
fi
if [ ! -f "$flash0" ]; then
  dd if=/dev/zero of="$flash0" bs=1M count=64
  dd if=/usr/share/qemu-efi/QEMU_EFI.fd of="$flash0" conv=notrunc
fi
if [ ! -f "$flash1" ]; then
  dd if=/dev/zero of="$flash1" bs=1M count=64
fi

# Run.
#
# cdrom must be scsi or else the installation fails midway with:
#
# > Detect and mount CD-ROM
# >
# > Your installation CD-ROM couldn't be mounted. This probably means
# > that the CD-ROM was not in the drive. If so you can insert it and try
# > again.
# >
# > Retry mounting the CD-ROM?
# > Your installation CD-ROM couldn't be mounted.
#
# This is because the drivers for the default virtio are not installed in the ISO,
# because in the past it was not reliable on qemu-system-aarch64.
#
# See also:
# https://bazaar.launchpad.net/~ubuntu-testcase/ubuntu-manual-tests/trunk/view/head:/testcases/image/1688_ARM64_Headless_KVM_Guest
qemu-system-aarch64 \
  -cpu cortex-a57 \
  -device rtl8139,netdev=net0 \
  -device virtio-scsi-device \
  -device scsi-cd,drive=cdrom \
  -device virtio-blk-device,drive=hd0 \
  -drive "file=${iso},id=cdrom,if=none,media=cdrom" \
  -drive "if=none,file=${img_snapshot},id=hd0" \
  -m 2G \
  -machine virt \
  -netdev user,id=net0 \
  -nographic \
  -pflash "$flash0" \
  -pflash "$flash1" \
  -smp 2 \
;

GitHub в восходящем направлении .

См. также это для эмуляции Raspberry Pi: https://рабочий стол stackoverflow.com/questions/28880833/how-to-emulate-the-raspberry-pi-2-on-qemu/45814913#45814913

am d64, показанный в: , Как выполнить Рабочий стол Ubuntu 16.04 на QEMU?

0
ответ дан 17 April 2019 в 01:54

Другие вопросы по тегам:

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