使用QEMU快速搭建一个ARM64环境


本文旨在快速创建一个arm64环境用以测试arm64程序,只需模拟软件QEMU和一个ISO镜像即可,ISO安装到QEMU创建的虚拟机磁盘上即可移除。


0. 安装QEMU

主机:虚拟机中的 Ubuntu 2204,安装命令:

sudo apt update
sudo apt install qemu-system
qemu-system-aarch64 --version

如果要用 window 版本也有,进入 QEMU 官方 Windows build 站点: https://qemu.weilnetz.de/w64/,下载最新版(推荐使用带安装程序的 .exe),文件名如:qemu-w64-setup-20230825.exe

1 下载 Alpine 官方 aarch64 镜像​

Alpine 官方提供了多种 aarch64 镜像,包括标准镜像、虚拟镜像和网络引导镜像等:​

  1. 标准镜像(Standard Image):这是 Alpine 的基本版本,只包含必要的组件,需要网络连接来完成安装和配置。​

  2. 虚拟镜像(Virtual Image):针对虚拟机环境优化的版本,包含更适合虚拟化环境的内核和配置​。​

可以从 Alpine 官方下载站点获取最新的 aarch64 镜像:​ https://dl-cdn.alpinelinux.org/alpine/v3.22/releases/aarch64/​ ,网络不好可以从国内镜像站下载: https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/releases/aarch64/ ,当前最新版本的标准镜像为 :alpine-standard-3.22.1-aarch64.iso​,建议下载标准镜像,因为它更通用且体积较小​。​

2 创建虚拟硬盘​

在启动 Alpine 之前,需要创建一个虚拟硬盘来安装系统。使用 QEMU 提供的qemu-img工具创建一个 4GB 的 qcow2 格式虚拟硬盘:​

qemu-img create -f qcow2 alpine-aarch64.qcow2 4G

这将创建一个名为alpine-aarch64.qcow2的虚拟硬盘,初始大小为 4GB,但会根据实际使用情况动态增长​。​

3 启动 QEMU 并安装 Alpine​

使用以下命令启动 QEMU 并从 Alpine 安装 ISO 镜像进行引导:​​

qemu-system-aarch64 \
  -machine virt \
  -cpu cortex-a57 \
  -m 2048 \
  -bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd \
  -drive file=alpine-aarch64.qcow2,if=virtio \
  -cdrom alpine-standard-3.22.1-aarch64.iso \
  -netdev user,id=net0,hostfwd=tcp::5022-:22 \
  -device virtio-net-pci,netdev=net0 \
  -nographic

命令解释:​

- -machine virt:使用通用的 ARM 虚拟平台​
- -cpu cortex-a57:模拟 ARM Cortex-A57 处理器​
- -m 2048:分配 2GB 内存​
- -bios:指定 UEFI 固件文件,用于 UEFI 引导​
- -drive:指定虚拟硬盘​
- -cdrom:指定安装 ISO 镜像​
- -netdev user:创建用户模式网络,支持网络访问和端口转发​
- -device virtio-net-pci:添加 virtio 网络设备​
- -nographic:使用无图形界面模式,通过串口进行交互​​

结果如下:

                             GNU GRUB  version 2.12

 /----------------------------------------------------------------------------\
 |*Linux lts                                                                  | 
 |                                                                            |
 |                                                                            | 
 \----------------------------------------------------------------------------/

      Use the ^ and v keys to select which entry is highlighted.          
      Press enter to boot the selected OS, `e' to edit the commands       
      before booting or `c' for a command-line.                           
   The highlighted entry will be executed automatically in 0s.                 

  Booting `Linux lts'

   OpenRC 0.62.5 is starting up Linux 6.12.38-0-lts (aarch64)

 * /proc is already mounted
 * Mounting /run ... [ ok ]
 * /run/openrc: creating directory
 * /run/lock: creating directory
 * /run/lock: correcting owner
 * Caching service dependencies ... [ ok ]
 * Remounting devtmpfs on /dev ... [ ok ]
 * Mounting /dev/mqueue ... [ ok ]
 * Mounting modloop  ... * Verifying modloop
 [ ok ]
 * Mounting security filesystem ... [ ok ]
 * Mounting debug filesystem ... [ ok ]
 * Mounting persistent storage (pstore
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值