LinMao's Blog
学习科研记录与分享!

ubuntu上用qemu搭建树莓派arm虚拟环境

安装qemu模拟器

安装一些依赖

打开终端执行命令

qemu官网下载安装包

进入下载界面,选择source code,然后下载版本2.12.1的文件包,文件大小大约34M。

解压安装包

安装包所在目录解压安装包

编译安装qemu

上面的压缩包解压以后,会生成qemu-2.12.1文件夹,下面进入该文件夹编译安装qemu

至此qemu编译安装完成。

注:如果上面的安装步骤一直有错不能往下进行,那就上面的都不执行,直接执行下面这条命令:

这个命令是安装ubuntu源里面的qemu,但是版本有点老。

搭建树莓派arm环境

注意不要一直用su(root)下执行,su用户下新建的文件用户组都是root,后面很多的地方会因为权限不够无法访问。

下载raspbian镜像和内核

raspbian官方的镜像下载版本,我们下载Jessie版本的镜像,qemu文档中说了对Jessie版本的支持的最好(other versions might work, but Jessie is recommended)。

官方下载地址:raspbian-2017-04-10,我们下载里面的2017-04-10-raspbian-jessie.zip文件,文件大小大约是1.5G。

然后我们去下载为qemu定制的树莓派内核,下载链接

对于我们的实验,上面两个文件就是我们服务器上的那个20172017-04-10-raspbian-jessie.zip文件(raspbian镜像)和kernel-qemu-4.4.34-jessie文件(为qemu定制的内核文件),把他们下载就可以,不用去官网下载了。

解压镜像文件

我们在下载到的镜像文件目录下解压镜像文件

挂载镜像

在解压后的镜像(.img文件)目录下:

从中可以看出该镜像文件共有两个分区,特别注意第二个分区的起点扇区,每个扇区是512个字节,由此算出第二分区起点位置是512 * 92160。

接下载我们把镜像文件挂载到一个目录下面,这样就可以通过这个目录访问这个镜像文件里面的内容了:

解压后的镜像文件目录下执行命令:

修改fstab

修改ld.so.preload

往树莓派中拷贝bomb可执行文件

将可执行文件拷贝到tmp/home/pi/目录下

上面的步骤完毕后卸载镜像

启动raspbian系统

创建一个启动脚本run.sh

给脚本加上可执行权限

然后./run.sh就可以启动树莓派系统了,不出意外的话能看到树莓派桌面了。

通过ssh访问树莓派

启动时参数:tcp:5022::22 就是指定网络端口映射的,意思是使用本机5022端口映射到虚拟机的22端口。

树莓派开机后,打开树莓派的终端,输入命令重启ssh:

然后在终端输入ssh [email protected] -p 5022就可以访问树莓派了,然后就可以开始gdb调试了。

 

配置树莓派

扩容树莓派

默认情况下磁盘只剩下几十M的空间,需要进行扩容才能安装软件。这可能对于安装或者存储大容量的文件是不够,需要扩容。

先复制要扩容的树莓派镜像文件:

此时,pi_enlarge.img 文件虽然增大3G,但其实启动后,文件系统的容量并没有改变,需要启动后在系统中修改 同时加载这两个镜像文件,并使新增大的镜像作为hdb加载,启动参数如下:

启动成功后,执行下面命令:

打开软件界面,删除其中的sdb2 ,并使用所有空闲空间创建新的primary分区,最后选择Write项写入,选择Quit退出。

然后执行:

之后,就只挂载这个增容后的镜像文件即可。

修改启动方式

树莓派默认是启动桌面环境,但是也会占用电脑资源和启动速度,所以如果用不着桌面可以修改默认不启动桌面,只启动终端,修改方式:

 

Reference:

从零使用qemu模拟器搭建arm运行环境

赞(0) 打赏
转载请注明出处:LinMao's Blog(林茂的博客) » ubuntu上用qemu搭建树莓派arm虚拟环境

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    在安装qemu的过程中,一定在make install 前加入 sudo赋予权限。

    John_snow2年前 (2019-04-08)回复

LinMao's Blog(林茂的博客)

了解更多联系我们

觉得文章有用就打赏一下作者吧~

支付宝扫一扫打赏

微信扫一扫打赏