使用qemu在x86上模拟arm64环境

背景

最近要验证代码能否兼容arm平台,因此需要在本地模拟一个arm环境,目前虚拟化中,看起来只有qemu能满足在x86服务器上虚拟arm环境

  1. qemu编译
# 基础依赖安装
yum install zlib-devel glib2-devel pixman-devel -y
# clone qemu源码
git clone https://git.qemu.org/git/qemu.git
cd qemu
git submodule init
git submodule update --recursive
# 不需要指定target-list,默认会编译所有
./configure
make -j 40
make install
  1. 启动arm系统,需要uefi支持
# 下载uefi驱动
wget http://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd
# 格式化出一个系统盘
qemu-img create ubuntu16.0.4arm64.img 100g
# 安装系统
qemu-system-aarch64 -m 8096 -cpu cortex-a57 -smp 2 -M virt -bios QEMU_EFI.fd -nographic -drive if=none,file=ubuntu-16.04.6-server-armarm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=ubuntu16.0.4arm64.img,id=hd0 -device virtio-blk-device,drive=hd0
# 关闭后重新启动
qemu-system-aarch64 -m 8096 -cpu cortex-a57 -smp 8 -M virt -bios QEMU_EFI.fd -nographic -drive if=none,file=ubuntu16.0.4arm64.img,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,hostfwd=tcp::5555-:22,id=netdev0, -device e1000,netdev=netdev0
  1. 远程ssh
ssh user@127.0.0.1 -p5555
  • 注意事项:虚拟的arm系统,cpu不能超过16核,不然会报错,这点还不清楚原因
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值