Ubuntu19.10使用Qemu安装树莓派

文章目录

  • Ubuntu19.10使用Qemu安装树莓派
    • 安装
      • 安装qemu
      • 安装树莓派
      • 图形化界面
    • 下载
    • 参考文献

Ubuntu19.10使用Qemu安装树莓派

之前一直是在Windows下鼓捣虚拟机,这次试试qemu

安装

安装qemu

sudo apt install qemu

Ubuntu19.10使用Qemu安装树莓派_第1张图片

安装树莓派

在github上找到相应版本的内核和设备树文件。
Ubuntu19.10使用Qemu安装树莓派_第2张图片
先创建一个项目目录,把镜像文件、设备树文件,和内核文件都放进去

然后fdisk -l 2020-02-13-raspbian-buster.img查看硬盘实体使用情况
Ubuntu19.10使用Qemu安装树莓派_第3张图片
img2的起点地址乘以单元扇区大小,得到镜像应该挂载的偏移量。
Ubuntu19.10使用Qemu安装树莓派_第4张图片
sudo mount -v -o offset=272629760 -t ext4 ~/qemu_raspi/2020-02-13-raspbian-buster.img /mnt/raspbian其中的/mnt/raspbian文件夹要提前建好

接下来编辑/mnt/raspbian/ld.so.preload文件,将其中的内容注释(行首加“#”注释),然后使用umount卸载已经加载的文件系统

sudo umount /mnt/raspbian

然后执行模拟树莓派的命令,参考github上的说明:
Ubuntu19.10使用Qemu安装树莓派_第5张图片
修改相关参数,最终命令如下:

qemu-system-arm -kernel ~/qemu_raspi/kernel-qemu-4.19.50-buster -cpu arm1176 -m 256 -M versatilepb -serial stdio -append "root=/dev/sda2 rootfstype=ext4 rw" -hda ~/qemu_raspi/2020-02-13-raspbian-buster.img -redir tcp:5022::22 -no-reboot

其中参数可以通过使用qemu-system-arm -help | grep "\-参数"的命令形式,查看命令的相关介绍:
Ubuntu19.10使用Qemu安装树莓派_第6张图片

  • -M:设定模拟的开发板类型. versatilepb 是 ARM Versatile Platform Board
    - -cpu:select CPU (’-cpu help’ for list)——指定cpu类型,模拟ARM1176 CPU. Raspberry Pi 板上搭载了 Broadcom BCM2835, 这个处理器用的是ARM1176JZ-F.
    - -m:[size=]megs[,slots=n,maxmem=size]——RAM的大小是256MB. 设定成比256MB大的值板子好像不能启动.
    - -drive:[file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]——指定要制作文件、输入类型、……
    - -net:[user|tap|bridge|socket][,option][,option][,…](use the -netdev option if possible instead)——大概是网络连接的一些参数
    - -dtb:file use ‘file’ as device tree image——是镜像文件解压出来有的一些文件,叫设备树引导文件,与内核文件共同编译成支持qemu启动的内核
    - -kernel:bzImage use ‘bzImage’ as kernel image——内核
    - -serial stdio——重定向Guest 的串口到Host的标准输入输出.
    - -append:cmdline use ‘cmdline’ as kernel command line——使用“ cmdline”作为内核命令行

然后便开始启动树莓派:
Ubuntu19.10使用Qemu安装树莓派_第7张图片
这一步我还以为是创建用户,想了一大会密码,
Ubuntu19.10使用Qemu安装树莓派_第8张图片
结果用户密码是固定的:用户名: pi, 密码: raspberry
Ubuntu19.10使用Qemu安装树莓派_第9张图片
终于登录成功了。

图形化界面

上面可以看到是没有图形化界面的,但是运行最开始时有写vnc的相关信息,所以再装一下vnc viewer
Ubuntu19.10使用Qemu安装树莓派_第10张图片
官网下载即可。
Ubuntu19.10使用Qemu安装树莓派_第11张图片
安装
Ubuntu19.10使用Qemu安装树莓派_第12张图片
软件自动显示了5900端口的树莓派
Ubuntu19.10使用Qemu安装树莓派_第13张图片
但是还是没有图形界面显示
Ubuntu19.10使用Qemu安装树莓派_第14张图片
参考其中的日志
Ubuntu19.10使用Qemu安装树莓派_第15张图片
经过排查,是内核文件不匹配造成的,这一点在提供内核的github界面也有说明,万能设备树文件支持的是stretch系列的树莓派
Ubuntu19.10使用Qemu安装树莓派_第16张图片
所以更换镜像为:2018-06-27-raspbian-stretch.img,内核更改为:kernel-qemu-4.14.79-stretch,重新按照之前的步骤重复即可。最终打开图形界面:
Ubuntu19.10使用Qemu安装树莓派_第17张图片

下载

树莓派——清华开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/raspbian-images/raspbian/images/

树莓派——树莓派实验室(好像是官网):https://shumeipai.nxez.com/download#os

vncviewer:https://www.realvnc.com/en/connect/download/viewer/

参考文献

QEMU搭建树莓派环境
使用qemu虚拟机运行树莓派(linux kernel 4.9)
Windows中使用QEMU创建树莓派虚拟机
用QEMU模拟树莓派Raspberry Pi的方法
qemu-rpi-kernel
RASPBERRY PI ON QEMU
ubuntu下使用vnc viewer

你可能感兴趣的:(教程,Ubuntu,日常)