如何在Apple Silicon Mac(MacBook Pro M1等)的QEMU中为ARM64运行FreeBSD 13.0-BETA1
admin
2023-08-02 15:54:39
0

screenshot-1screenshot-1

本教程改编自https://gist.github.com/niw/e4313b9c14e968764a52375da41b4278#running-ubuntu-server-for-arm64

针对ARM64运行FreeBSD 13.0-BETA1

  1. 从App Store安装Xcode或在运行Apple Silicon的Mac上安装命令行工具。
    xcode-select --install
    
  2. 安装Homebrew和QEMU依赖项。

    https://brew.sh/

    brew install ninja pkgconfig glib pixman libusb libssh zstd usbredir
    
  3. 克隆带有QTMU应用的补丁的QEMU源代码。
    mkdir -p ~/src/
    cd ~/src/
    git clone https://github.com/patchew-project/qemu.git
    
  4. 具有Hypervisor.framework修补程序的Checkout标签
    cd qemu
    git checkout patchew/20210120224444.71840-1-agraf@csgraf.de
    

    有关详细信息,请参见https://patchew.org/QEMU/20210120224444.71840-1-agraf@csgraf.de/。

  5. 建立QEMU
    mkdir build/cd build/../configure --target-list=aarch64-softmmu --enable-cocoamake -j
  6. 下载用于QEMU的预构建EDK II OVMF EFI映像。

    此EFI图片是通过stable202011带有其他分辨率的标签构建的QemuRamfb.c

    https://gist.github.com/niw/4f1f9bb572f40d406866f23b3127919b/raw/f546faea68f4149c06cca88fa67ace07a3758268/QEMU_EFI-cb438b9-edk2-stable202011-with-extra-resolutions.tar.gz

    要从源代码构建它以添加更多分辨率,请参阅以下部分。

  7. 为非易失性变量存储准备pflash,例如屏幕分辨率。
    mkdir ~/qemu-vm/cd ~/qemu-vm/tar xvf ~/Downloads/QEMU_EFI-cb438b9-edk2-stable202011-with-extra-resolutions.tar.gzdd if=/dev/zero of=pflash0.img bs=1m count=64dd if=/dev/zero of=pflash1.img bs=1m count=64dd if=QEMU_EFI.fd of=pflash0.img conv=notruncdd if=QEMU_VARS.fd of=pflash1.img conv=notrunc
    • 此步骤是可选的,您可以在下一步中使用-bios QEMU_EFI.fd代替-drive ...if=pflash行,但是在这种情况下,EFI中的任何更改都不会持久。
  8. 下载用于ARM64原始VM映像xz压缩文件的FreeBSD 13.0-BETA1

    https://download.freebsd.org/ftp/releases/VM-IMAGES/13.0-BETA1/aarch64/Latest/FreeBSD-13.0-BETA1-arm64-aarch64.raw.xz

  9. 解压缩xz压缩文件,保留原始压缩文件的副本

    保留原始文件的副本很方便,因为如果以后要创建其他VM,则可以使用它。如果要通过以下方法制作第二个虚拟机,请小心不要覆盖第一个虚拟机的映像:

    mv ~/Downloads/FreeBSD-13.0-BETA1-arm64-aarch64.raw.xz .
    unxz -k ~/Downloads/FreeBSD-13.0-BETA1-arm64-aarch64.raw.xz
    
  10. 针对ARM64 VM运行FreeBSD 13.0-BETA1
    ~/src/qemu/build/qemu-system-aarch64 \\
      -M virt,highmem=off \\
      -accel hvf \\
      -cpu cortex-a72 \\
      -smp 4 \\
      -m 4096 \\
      -drive file=pflash0.img,format=raw,if=pflash,readonly=on \\
      -drive file=pflash1.img,format=raw,if=pflash \\
      -device virtio-gpu-pci \\
      -display default,show-cursor=on \\
      -device qemu-xhci \\
      -device usb-kbd \\
      -device usb-tablet \\
      -device intel-hda \\
      -device hda-duplex \\
      -drive file=FreeBSD-13.0-BETA1-arm64-aarch64.raw,if=virtio,cache=writethrough \\
      -nographic \\
      -serial mon:stdio
    

screenshot-2screenshot-2 screenshot-3-1screenshot-3-1

相关内容

热门资讯

Windows 11 和 10... Windows 11/10 文件夹属性中缺少共享选项卡 – 已修复 1.检查共享选项卡是否可用 右键...
Radmin VPN Wind... Radmin VPN 是一款免费且用户友好的软件,旨在牢固地连接计算机以创建一个有凝聚力的虚拟专用网...
如何修复 Steam 内容文件... Steam 内容文件锁定是当您的 Steam 文件无法自行更新时出现的错误。解决此问题的最有效方法之...
在 Windows 11 中打... 什么是链路状态电源管理? 您可以在系统控制面板的电源选项中看到链接状态电源管理。它是 PCI Exp...
iPhone 屏幕上有亮绿色斑... iPhone 是市场上最稳定的智能手机之一,这主要归功于专为它们设计的 iOS 操作系统。然而,他们...
事件 ID 7034:如何通过... 点击进入:ChatGPT工具插件导航大全 服务控制管理器 (SCM) 负责管理系统上运行的服务的活动...
QQ浏览器怎么制作简历 QQ浏览器是腾讯公司开发的一款极速浏览器,支持电脑,安卓,苹果等多种终端;更快的浏览体验,更安全的浏...
Hive OS LOLMine... 目前不清退的交易所推荐: 1、全球第二大交易所OKX欧意 国区邀请链接: https://www.m...
Apple Watch Ult... 所有运行 watchOS 7 或更高版本的 Apple Watch 型号都包含一项名为“优化电池充电...
统信UOS每次开机后不直接进入... 统信UOS每次开机后不直接进入系统而是进入到recovery模式 按方向上键选择UOS 20 SP1...