QEMU搭建树莓派环境

访客 271 0
本文来源:QEMU搭建树莓派环境

0x01 

最近树莓派被同学借去做毕设了,没有其他ARM平台供我研究,无奈之下只好尝试使用QEMU模拟raspbian,搭建过程比较繁琐,网上的教程有很多坑都没有指出,所以有了此文,给同样有兴趣做IoT安全、ARM平台安全的小伙伴们的入门铺平道路。

0x02

QEMU是啥?

QEMU是一个托管的虚拟机镜像,它通过动态的二进制转换,模拟CPU,并且提供一组设备模型,使它能够运行多种未修改的客户机OS,可以通过与KVM(kernel-basedvirtual machine开源加速器)一起使用进而接近本地速度运行虚拟机(接近真实计算机的速度)。

0x03

平台说明:

Ubuntu18.04(4G内存,40G硬盘)

为项目创建一个新的文件夹

QEMU搭建树莓派环境-第1张图片-网盾网络安全培训

将下载来的树莓派镜像放到这个文件夹下,将从github上下载来的qemukernel(官方内核在qemu中无法运行,所以在github上找了个能用的:https://github.com/dhruvvyas90/qemu-rpi-kernel)也放在这儿,解压镜像

QEMU搭建树莓派环境-第2张图片-网盾网络安全培训

使用fdisk观察硬盘实体使用情况

QEMU搭建树莓派环境-第3张图片-网盾网络安全培训

可以看到img2的bootstart为92160,将其乘以512(在上图中可以看到单位units:sectorsof 1 *512 =512bytes,说明还需乘以512),得到47185920,这就是后面命令中的offset

接下来先创建一个挂载用的文件夹

QEMU搭建树莓派环境-第4张图片-网盾网络安全培训

然后使用下面的挂载命令

QEMU搭建树莓派环境-第5张图片-网盾网络安全培训

接下来编辑ld.so.preload文件,将其中的内容注释,然后使用umount写在已经加载的文件系统

QEMU搭建树莓派环境-第6张图片-网盾网络安全培训

接下来通过qemu模拟树莓派,使用下面的命令

qemu-system-arm-kernel ~/qemu_vms/your-kernel-qemu> -cpu arm1176 -m 256 -Mversatilepb -serial stdio -append "root=/dev/sda2rootfstype=ext4 rw" -hda ~/qemu_vms/your-jessie-image.img>-redir tcp:5022::22 -no-reboot

QEMU搭建树莓派环境-第7张图片-网盾网络安全培训

启动过程如下图

QEMU搭建树莓派环境-第8张图片-网盾网络安全培训

启动完毕后如图所示

QEMU搭建树莓派环境-第9张图片-网盾网络安全培训

为了后续的方便,我们一般会使用远程连接,所以先安装ssh服务端

QEMU搭建树莓派环境-第10张图片-网盾网络安全培训

在ubuntu上启动ssh服务,在kali上测试下

QEMU搭建树莓派环境-第11张图片-网盾网络安全培训

然后在树莓派上也启动ssh服务,就可以远程了,下图是我kali远程到ubuntu上后再远程到树莓派

QEMU搭建树莓派环境-第12张图片-网盾网络安全培训

或者也可以直接在kali上远程到书树莓派

QEMU搭建树莓派环境-第13张图片-网盾网络安全培训

因为我们后续基本都是靠ssh远程连接,所以使用下面的命令使得树莓派能够开机自启ssh服务

QEMU搭建树莓派环境-第14张图片-网盾网络安全培训

树莓派默认以图形化界面展示,如果想要以命令行模式启动的话,按照如下步骤操作即可

输入sudoraspi-config进入设置页面,如下选择bootoption

QEMU搭建树莓派环境-第15张图片-网盾网络安全培训

然后选择desktop/cli

QEMU搭建树莓派环境-第16张图片-网盾网络安全培训

然后选择consoleautologin

QEMU搭建树莓派环境-第17张图片-网盾网络安全培训

最后重启即可

QEMU搭建树莓派环境-第18张图片-网盾网络安全培训

重启后的界面就是这样子的了

QEMU搭建树莓派环境-第19张图片-网盾网络安全培训

此时使用df–hl可以看到3.9G的空间现在已经用了3.6G了

QEMU搭建树莓派环境-第20张图片-网盾网络安全培训

为了以便不时之需,我们需要扩大容量,安装如下步骤进行

先把树莓派关掉

先拷贝一份原来的镜像文件

QEMU搭建树莓派环境-第21张图片-网盾网络安全培训

再给新的镜像文件扩容

QEMU搭建树莓派环境-第22张图片-网盾网络安全培训

接下来将扩容后的新镜像作为第二块硬盘启动

QEMU搭建树莓派环境-第23张图片-网盾网络安全培训

输入命令后进入如下的界面

QEMU搭建树莓派环境-第24张图片-网盾网络安全培训

如下图选中将sdb2删除

QEMU搭建树莓派环境-第25张图片-网盾网络安全培训

然后从freespace创建一个新分区,如下图选中即可

QEMU搭建树莓派环境-第26张图片-网盾网络安全培训

选中write写入

QEMU搭建树莓派环境-第27张图片-网盾网络安全培训

输入yes确认

QEMU搭建树莓派环境-第28张图片-网盾网络安全培训

会提示写入成功

QEMU搭建树莓派环境-第29张图片-网盾网络安全培训

然后退出即可

QEMU搭建树莓派环境-第30张图片-网盾网络安全培训

接下来使用fsck检查文件系统中是否存在错误

QEMU搭建树莓派环境-第31张图片-网盾网络安全培训

可以看到没有报错

然后关闭树莓派

接下来我们在使用qemu启动树莓派的命令中只需要使用新镜像就可以了

命令如图中所示

QEMU搭建树莓派环境-第32张图片-网盾网络安全培训

这样就完成了全部的工作。

0x04参考

1.https://zh.wikipedia.org/wiki/QEMU

2.https://azeria-labs.com/emulate-raspberry-pi-with-qemu/

声明:笔者初衷用于分享与普及网络知识,若读者因此作出任何危害网络安全行为后果自负,与合天智汇及原作者无关,本文为合天原创,如需转载,请注明出处!

标签: 合天智汇

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~