AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 797599
Accepted
lepe
lepe
Asked: 2016-07-12 18:30:54 +0800 CST2016-07-12 18:30:54 +0800 CST 2016-07-12 18:30:54 +0800 CST

如何在 QEMU 中运行 Ubuntu 16.04 ARM?

  • 772

我的目标是在 Qemu(在 Ubuntu 16.04 x64 主机上)运行 Ubuntu 16.04(ARM)。

我试图按照这个-old-教程没有成功:

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 上运行它,还有其他选择吗?

virtualization
  • 2 2 个回答
  • 6513 Views

2 个回答

  • Voted
  1. Ciro Santilli OurBigBook.com
    2018-06-18T01:51:34+08:002018-06-18T01:51:34+08:00

    在这个答案中:在线是否有任何预构建的 QEMU Ubuntu 映像(32 位)?我已经为 Ubuntu 18.04 来宾/主机描述了以下工作设置:

    • cloud image arm64:上手最快的设置
    • debootstrap arm64:相当快,但允许更多图像自定义

    这些设置提供预构建的磁盘映像,并且不通过安装程序。它们是迄今为止我见过的最好的选择。

    接下来,我还设法在 QEMU 上运行 arm64 服务器映像。但是,这是通过安装程序完成的,除非您不在带有 KVM 的 ARM 主机上,否则安装程序的速度非常慢。这特别痛苦,因为完成安装需要数十次交互。

    这是在 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

    amd64 桌面显示在:如何在 QEMU 上运行 Ubuntu 16.04 桌面?

    • 1
  2. Best Answer
    Rustam Isaev
    2018-03-17T02:31:40+08:002018-03-17T02:31:40+08:00

    这不起作用,因为您使用的映像是为 Raspberry Pi 2 设备预编译的,并且仅适用于 Raspberry Pi 2。试试这个教程

    • 0

相关问题

  • 运行虚拟机和 Ubuntu EC2 云有什么区别?

  • 什么原因会阻止“virsh -c qemu:///system console guest1”的控制台输出?

  • 如何在 Windows 7 中运行 Ubuntu?

  • 哪个更好:Win7 主机运行 VMware 和 Ubuntu 来宾,反之亦然?

  • 如何在 Ubuntu 中运行 Windows XP

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve