https://www.cnblogs.com/qmjc/p/13287921.html

环境:

windows 7/10

 

一、下载QEMU,安装

  https://www.qemu.org/download/#windows

  我的电脑是64位,下载的 qemu-w64-setup-20200612.exe

  安装时有选项,安装arm的即可,其他的cpu架构可以不装。

 

二、准备内核和镜像

  由于arm版本的不同,我们使用网上已经编译好的内核版本和树配置文件

  https://github.com/dhruvvyas90/qemu-rpi-kernel

  直接全部用git pull下来或者仅下载: kernel-qemu-4.19.50-buster 、 versatile-pb-buster.dtb

  去官网下载img:

        http://downloads.raspberrypi.org/raspbian_lite/images/

   http://downloads.raspberrypi.org/raspbian_full/images/

 

  kernel-qemu-4.19.50-buster —— Linux内核

  versatile-pb-buster.dtb —— 设备树

  2019-09-26-raspbian-buster-lite.img —— 树莓派精简版镜像,没有GUI,实际上只用到里面的配置、驱动、根文件系统,里面的 Linux内核、设备树未使用

  2020-05-27-raspios-buster-full-armhf.img —— 树莓派完整版镜像,有GUI画面,实际上只用到里面的配置、驱动、根文件系统,里面的 Linux内核、设备树未使用

 

 

三、准备环境

   直接运行下列命令,或者写一个bat脚本:

cd C:\Program Files\qemu
qemu-system-arm.exe -M versatilepb -cpu arm1176 -m 256 -drive format=raw,file=C:\share\qemu-rpi-kernel\2019-09-26-raspbian-buster-lite.img -net nic -net user,hostfwd=tcp::5022-:22 -dtb C:\share\qemu-rpi-kernel\versatile-pb-buster.dtb -kernel C:\share\qemu-rpi-kernel\kernel-qemu-4.19.50-buster -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw"

 

解释: cd C:\Program Files\qemu ——这是转到安装目录,你安装在哪儿就改成哪儿

    qemu-system-arm.exe——

     -m 256 —— 内存大小

    file=C:\share\qemu-rpi-kernel\2019-09-26-raspbian-buster-lite.img —— img的绝对地址,我这里全部用的绝对地址,各位读者根据自己的文件路径自行修改

     -net user,hostfwd=tcp::5022-:22 —— 将qemu虚拟机的22端口映射到windows主机的127.0.0.1:5022端口,就是换了个马甲

    其他选项不懂

 

这些配置参数不是最佳的,建议阅读:

https://wiki.qemu.org/Documentation/Platforms/ARM 

 

或者使用带GUI的完全版:

cd C:\Program Files\qemu
qemu-system-arm.exe -M versatilepb -cpu arm1176 -m 256 -drive format=raw,file=C:\share\qemu-rpi-kernel\2020-05-27-raspios-buster-full-armhf.img -net nic -net user,hostfwd=tcp::5022-:22 -dtb C:\share\qemu-rpi-kernel\versatile-pb-buster.dtb -kernel C:\share\qemu-rpi-kernel\kernel-qemu-4.19.50-buster -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw"

 

开机时间较长,启动后现象:

20200712] qemu 仿真 树莓派 buster kernel-qemu-4.19.50-buster

 

默认用户名:pi 密码:raspberry 

20200712] qemu 仿真 树莓派 buster kernel-qemu-4.19.50-buster

 

2020-05-27-raspios-buster-full-armhf.img开机后是这样的:

20200712] qemu 仿真 树莓派 buster kernel-qemu-4.19.50-buster

 

 

另外,只用:2019-09-26-raspbian-buster-lite.img 也是可以的,我试过这个windows 脚本:

1

2

3

4

5

6

7

8

9

10

11

12

cd C:\Program Files\qemu

 

qemu-system-aarch64.exe ^

-M raspi3 ^

-cpu cortex-a53 ^

-dtb C:\ctures\qemu-rpi-kernel\bcm2710-rpi-3-b.dtb ^

-kernel C:\ctures\qemu-rpi-kernel\kernel8.img ^

-drive id=hd-root,format=raw,file=C:\ctures\qemu-rpi-kernel\2019-09-26-raspbian-buster-lite.img ^

-m 1024 ^

-show-cursor ^

-append "rw earlyprintk=ttyAMA0,115200 loglevel=8 console=ttyAMA0,115200 root=PARTUUID=6c586e13-02 rootfstype=ext4 rootwait" ^

-serial mon:stdio

cd C:\Program Files\qemu

qemu-system-aarch64.exe ^
-M raspi3 ^
-cpu cortex-a53 ^
-dtb C:\ctures\qemu-rpi-kernel\bcm2710-rpi-3-b.dtb ^
-kernel C:\ctures\qemu-rpi-kernel\kernel8.img ^
-drive id=hd-root,format=raw,file=C:\ctures\qemu-rpi-kernel\2019-09-26-raspbian-buster-lite.img ^
-m 1024 ^
-show-cursor ^
-append "rw earlyprintk=ttyAMA0,115200 loglevel=8 console=ttyAMA0,115200 root=PARTUUID=6c586e13-02 rootfstype=ext4 rootwait" ^
-serial mon:stdio

 

其中的 bcm2710-rpi-3-b.dtb 、 kernel8.img 都是从 2019-09-26-raspbian-buster-lite.img 解压出来的,原汤化原食。

也是可以启动,而且使用的cpu和内存都更好。其他功能没有继续研究,有时间的读者请研究下更好的命令组合。 

 

 ——————————————————————————————————————————————————————————————————————————————————

下边是使用方法:

开启ssh:

输入命令:sudo raspi-config

20200712] qemu 仿真 树莓派 buster kernel-qemu-4.19.50-buster

20200712] qemu 仿真 树莓派 buster kernel-qemu-4.19.50-buster

20200712] qemu 仿真 树莓派 buster kernel-qemu-4.19.50-buster

 

 20200712] qemu 仿真 树莓派 buster kernel-qemu-4.19.50-buster

 

 

 

用putty做ssh连接:

20200712] qemu 仿真 树莓派 buster kernel-qemu-4.19.50-buster

 

 

20200712] qemu 仿真 树莓派 buster kernel-qemu-4.19.50-buster

 

yes记录**,然后登录

20200712] qemu 仿真 树莓派 buster kernel-qemu-4.19.50-buster

 

 

 用vscode远程调试:革命性的新方法,非常好用

https://zhuanlan.zhihu.com/p/64849549

 

 

部分内容参考过:https://www.cnblogs.com/qpanda/p/11534455.html

相关文章: