利用 QEMU 運行ARM64 架構的 OpenWRT


之前寫了一篇 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

啟動如下圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM