zoukankan      html  css  js  c++  java
  • 利用 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
    

    启动如下图

  • 相关阅读:
    《研磨设计模式》阅读摘要
    心电图
    nodejs
    自动化测试
    Hook技术
    热修复原理
    理解ClassLoader
    Dalvik和ART
    Java虚拟机
    理解WindowManagerService
  • 原文地址:https://www.cnblogs.com/sinpo828/p/14123148.html
Copyright © 2011-2022 走看看