ubuntu qemu装树莓派image
创始人
2024-06-02 23:23:06

安装包及依赖

  • raspberrypi下载raspbian镜像包

地址http://downloads.raspberrypi.org/raspbian/images/

这里下载 raspbian-2020-02-14/2020-02-13-raspbian-buster.zip

  • qemu raspi 内核

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

需用到里面的kernel-qemu-4.19.50-buster和versatile-pb-buster.dtb文件

  • qemu arm软件包

sudo apt install qemu-system-arm

使用 sudo apt install qemu 会安装所有架构的包。

步骤

  • 设置

  • 设置qemu系统目录

mkdir -p ~/qemu_vms
  • 将下载的raspbian image解压后的.img文件放到 qemu_vms 目录下

  • 注释preload文件内容

  • fdisk 命令查看img内容

sudo fdisk -l 2020-02-13-raspbian-buster.img
  • fdisk输出

Disk 2020-02-13-raspbian-buster.img: 3.54 GiB, 3787456512 bytes, 7397376 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xea7d04d6Device                          Boot  Start     End Sectors  Size Id Type
2020-02-13-raspbian-buster.img1        8192  532479  524288  256M  c W95 FAT32 (LBA)
2020-02-13-raspbian-buster.img2      532480 7397375 6864896  3.3G 83 Linux
  • img2扇区起始于532480,则offset=532480*512=272629760(字节)

  • offset参数挂载img

sudo mkdir /mnt/raspbian
sudo mount -v -o offset=272629760 -t ext4 ~/qemu_vms/2020-02-13-raspbian-buster.img /mnt/raspbian
  • 注释ld.so.preload内容

sudo nano /mnt/raspbian/etc/ld.so.preload

使用"#"注释ld.so.preload文件中的所有内容,然后按下 CTRL+X,按Y确认,回车即可。

注:此过程若不注释,则不能加载更多的硬盘,即假设有hdb raspbian.img镜像,后面启动时加的 -hdb raspbian.img 选项将失效。

  • 替换fstab中的mmcblk0p

sudo nano /mnt/raspbian/etc/fstab
  1. 将包含 /dev/mmcblk0p1 的第一个条目替换为 /dev/sda1

2. 将包含 /dev/mmcblk0p2 的第二个条目替换为 /dev/sda2

3. 保存并退出

注:当前下载的文件中不包含mmcblk

  • 取消挂载

cd ~/qemu_vms
sudo umount /mnt/raspbian
  • 启动qemu raspbian系统

  • 启动命令

qemu-system-arm \-M versatilepb \-cpu arm1176 \-m 256 \-hda ./2020-02-13-raspbian-buster.img \-net user,hostfwd=tcp::5022-:22 \-net nic \-dtb ./versatile-pb-buster.dtb \-kernel ./kernel-qemu-4.19.50-buster \-append 'root=/dev/sda2 panic=1' \-no-reboot
  • 启动后会显示桌面,系统用户名 pi,密码:raspberry

  • qemu窗口光标捕捉退出:按下CTRL+ALT +G 即可

  • ubuntu host连接qemu raspbian系统

  • host命令

ssh pi@127.0.0.1 -p 5022
# 按提示输入密码即可
  • 上述命令若出现"kex_exchange_identification: read: Connection reset by peer"错误,则在qemu的系统中执行下面的命令重启ssh服务

sudo /etc/init.d/ssh restart

参考

  • QEMU搭建树莓派环境 (baidu.com)

  • Linux nano 命令用法详解-Linux命令大全(手册) (ipcmen.com)

  • Linux 内核调试 七:qemu网络配置_lqonlylove的博客-CSDN博客

  • OpenSSH源码编译安装 - 鸟瞰的鸟 - 博客园 (cnblogs.com)

相关内容

热门资讯

原创 恋... 2026年刚刚开始,娱乐圈的吃瓜新闻便接连不断。先是司晓迪爆料某男明星的私事,紧接着是刘一诺与檀健次...
为何近期污染范围较大?成都市生... 1月12日,红星新闻记者了解到,根据省级生态环境和气象部门空气质量前期联合会商结果,1月8日起,四川...
最新或2023(历届)四川美术... 最新或2023(历届)四川美术联考/统考色彩考试题目  考题:食堂今日菜品  一、必备内容:  以食...
最新或2023(历届)四川美术... 明日素描、速写考试  素描 最新或2023(历届)12月6日上午09:00-12:00(满分100分...
最新或2023(历届)福建高考... 福建最新或2023(历届)高考招生艺体类统考12月中旬开考 福建省最新或2023(历届)高招艺术类、...