QEMU에서 Ubuntu 16.04 ARM을 실행하는 방법은 무엇입니까?


9

내 목표는 Qemu (Ubuntu 16.04 x64 호스트)에서 Ubuntu 16.04 (ARM)를 실행하는 것입니다.

나는 성공하지 않고이 오래된 튜토리얼 을 따르려고했습니다 .

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-preinstalled-server-armhf + raspi2.img 사용했습니다 .

위에서 언급 한 기사를 잊어 버렸는데, Qemu 위에서 Ubuntu 16.04-arm을 실행하는 올바른 방법은 무엇입니까?

Qemu를 통해 쉽게 실행할 수 없다면 다른 대안이 있습니까?

답변:


0

사용중인 이미지가 Raspberry Pi 2 장치 용으로 사전 컴파일되어 있고 Raspberry Pi 2에서만 작동하기 때문에 작동하지 않습니다. 이 자습서를 사용해보십시오.


감사합니다. 나중에 다시 시도하겠습니다. 나는 그것이 내 질문에 대답 할 것이라고 생각합니다.
lepe

1

이 답변에서 : 온라인에 사전 구축 된 QEMU Ubuntu 이미지 (32 비트)가 있습니까? Ubuntu 18.04 guest / host에 대한 다음 작업 설정을 설명했습니다.

  • cloud image arm64 : 시작하기위한 가장 빠른 설정
  • debootstrap arm64 : 상당히 빠르지 만 더 많은 이미지를 사용자 정의 할 수 있습니다

이러한 설정은 사전 빌드 된 디스크 이미지를 제공하며 설치 프로그램을 거치지 않습니다. 그것들은 내가 지금까지 본 최고의 선택입니다.

다음으로 QEMU에서 arm64 서버 이미지를 실행했습니다. 그러나 KVM을 사용하는 ARM 호스트에 있지 않은 경우 설치 프로그램이 진행됩니다. 설치를 완료하려면 수십 개의 상호 작용이 필요하기 때문에 이것은 특히 고통 스럽습니다.

다음은 Ubuntu 18.10 호스트에서 테스트 된 서버 스크립트입니다.

#!/usr/bin/env bash

set -eux

# Tested on Ubuntu 18.10.
# - /superuser/942657/how-to-test-arm-ubuntu-under-qemu-the-easiest-way
# - /ubuntu/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 : //.com

amd64 바탕 화면 : QEMU에서 Ubuntu 16.04 Desktop을 실행하는 방법은 무엇입니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.