ubuntu qemu装树莓派image

1 篇文章 0 订阅
1 篇文章 0 订阅
该文详细介绍了如何在QEMU上安装和配置RaspberryPi的Raspbian系统,包括下载必要的镜像和内核文件,设置qemu-system-arm启动参数,修改img文件的挂载和fstab配置,以及通过ssh连接到qemu运行的Raspbian系统。
摘要由CSDN通过智能技术生成

安装包及依赖

  • 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-busterversatile-pb-buster.dtb文件

  • qemu arm软件包

sudo apt install qemu-system-arm

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

步骤

  • 设置

  • 设置qemu系统目录

mkdir -p ~/qemu_vms
  • 将下载的raspbian image解压后的.img文件(2020-02-13-raspbian-buster.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: 0xea7d04d6

Device                          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确认,回车即可。

注:此过程若不注释,会启动不成功。

  • 替换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

参考

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值