菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
245
0

利用 QEMU 运行ARM64 架构的 OpenWRT

原创
05/13 14:22
阅读数 46321

之前写了一篇 QEMU User 模式运行 mips 程序的随笔。进体内再来补充下,如何使用 QEMU system 模式运行 Arm64 的系统。

QEMU 环境

略,直接 apt、dnf、pacman 搜索安装下就行。注意需要安装 qemu-arch-extra。
系统镜像 https://mirrors.ustc.edu.cn/openwrt/releases/19.07.5/targets/armvirt/ 可以从这里下载。如果想测试 32位系统请下载 32位的镜像,并参考 https://gist.github.com/cocktail828/eec77bac804110478ac55d2381bbb81e 来操作。
这里不再介绍 32 位的步骤,仅介绍下 64位的。

qemu-system-aarch64 运行 64 位系统

运行 Image-initramfs

Image-initramfs 实际上是把 rootfs 与 zImage 打包在一起的。在这种模式下,文件系统完全驻留在内存中,断电时任何修改都会丢失。

qemu-system-aarch64 -M virt -m 1024m -kernel openwrt-19.07.5-armvirt-64-Image-initramfs -no-reboot -nographic -nic user -nic user -cpu cortex-a53 -smp 4

启动如下图

单独指定 rootfs

注意这里添加了 -drive-append 两个参数

qemu-system-aarch64 -M virt -m 1024m -kernel openwrt-19.07.5-armvirt-64-Image -drive file=openwrt-19.07.5-armvirt-64-root.squashfs,format=raw,if=virtio -no-reboot -nographic -nic user -nic user -cpu cortex-a53 -smp 4 -append root=/dev/vda

启动如下图

发表评论

0/200
245 点赞
0 评论
收藏