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

 

环境:

windows 7/10

 

一、下载QEMU,安装

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

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

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

 

2024更新-------------------------------------------------------------------------------------------------------------------

下载地址:

raspberry-pi-os-images-raspios_full_armhf-images-raspios_full_armhf-2020-05-28安装包下载_开源镜像站-阿里云 (aliyun.com)

QEMU for Windows – Installers (64 bit) (weilnetz.de)

 

window shell bat脚本写法: qemu-img.exe resize 只有第一次使用需要做

 

C:
cd C:\Program Files\qemu\

@REM qemu-img.exe resize D:\2020-05-27-raspios-buster-full-armhf\2020-05-27-raspios-buster-full-armhf.img 8G

qemu-system-aarch64.exe ^
-M raspi3b ^
-dtb D:\2020-05-27-raspios-buster-full-armhf\bcm2710-rpi-3-b.dtb^
-kernel D:\2020-05-27-raspios-buster-full-armhf\kernel8.img ^
-sd D:\2020-05-27-raspios-buster-full-armhf\2020-05-27-raspios-buster-full-armhf.img ^
-append "console=serial0,115200 console=tty1 root=PARTUUID=6c620f41-02 rootfstype=ext4 elevator=deadline rootwait" ^
-display gtk,show-cursor=on ^
-serial stdio ^
-device usb-mouse ^
-device usb-kbd

pause

 

bcm2710-rpi-3-b.dtb、kernel8.img、都是从2020-05-27-raspios-buster-full-armhf.img中解压出来的,直接用。

root=PARTUUID=6c620f41-02里的“6c620f41-02”请从2020-05-27-raspios-buster-full-armhf.img内的cmdline.txt文件中寻找

以下内容只供拓展参考-------------------------------------------------------------------------------------------------------------------

 

二、准备内核和镜像

  由于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"

 

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

 

默认用户名:pi 密码:raspberry 

 

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

 

 

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

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

 

 

 

 

 

用putty做ssh连接:

 

 

 

yes记录密钥,然后登录

 

 

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

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

 

 

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

 

 

 

posted @ 2020-07-12 12:07  园友1683564  阅读(1255)  评论(0编辑  收藏  举报