ubuntu14.04的qemu环境搭建

前言

最近在拜读宋宝华老师的《Linux设备驱动开发详解-基于最新的linux4.0内核》,但是他只提供了windows下的虚拟机,因此mac用户就有点难受了。昨天自己鼓捣了一下,完成了mac上整个环境的搭建,今天在windows上重新搭建一下环境,并记录于此
mac上可以用parallel安装虚拟机,过程和windows这边差不多
在ubuntu上安装qemu的好处是,可以很方便的调试linux内核,不需要额外购买开发板,韦东山老师最近也在搞qemu这个东西,也可以看看他这边提供的资料

http://wiki.100ask.org/Qemu

ubuntu镜像获取

http://mirrors.aliyun.com/ubuntu-releases/

在阿里云镜像中,下载14.04的最新版本14.04.6(14.04版本发布以后,也会有一些补丁,所以有了第二个小数点)
14.04
面对如此多的镜像文件该如何选择呢,首先看最上面的MD5SUM和SHA*SUM,这都是用来进行校验的,检查下载后的镜像文件有没有出错,这个步骤我就省略掉了。

下面是镜像文件,分为desktop和server两类,分别是桌面版和服务器版,我们现在要使用桌面版,选择desktop

然后选择系统是32位还是64位,i386对应32位,amd64对应64位(因为i386是因特尔最先搞出来的,amd64是amd整出来的)
直接选择ubuntu-14.04.6-desktop-i386.iso进行下载,大小只有1.1G,如果你网速好的话,几分钟应该能搞定

官方资料的获取

宋老师的微信公众号是《Linux阅马场》,里面有篇文章提供了下载地址

FAQ《Linux设备驱动开发详解:基于最新的Linux 4.0内核》
https://pan.baidu.com/s/1472ejtnyguaKiULOWPahhw
提取码:moua

linux

我们只需要Baohua_Linux.part1.rar和Baohua_Linux.part2.rar,前提是你已经安装好了虚拟机软件VMware或者VirtualBox
如果你不会整虚拟机的话,可以先去网上学习一下,宋老师的百度网盘当然也提供了VMware和VirtualBox的下载,这两个软件都是可以的

安装步骤

其实可以参考一下该书的1.5章节,讲的还算详细

安装原生的ubuntu

把我们之前下载的14.04版本进行安装,此过程用图片形式记录
在这里插入图片描述
兼容版本不用选太高,否则你挪个地方可能用不了
在这里插入图片描述
如果不想全自动安装(简易模式),可以选这个,建议选最后一个
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
处理器数量其实随意,看你电脑配置,这个会影响内核编译的速度
在这里插入图片描述
内存选择0.5-2G,根据电脑配置量力而为在这里插入图片描述
桥接网络的意思是跟你主机在一个网段,可以作为网络邻居相互访问
NAT就是共享IP,两个机器IP一样
建议使用桥接模式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于普通的linux系统,磁盘大小50G应该够了,如果跑安卓的话,至少100G
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意CD/DVD设置好了,开机即可进入系统安装界面
在这里插入图片描述
在这里插入图片描述
一定选择英语安装
一定选择英语安装
一定选择英语安装
因为选汉语的话,它会去下载语言包,有可能是从国外的服务器下载,所以这个过程非常慢
安装完成后,我会教大家如何快速切换成中文
在这里插入图片描述
不要勾选下载安装更新和第三方软件,同样的道理,因为慢
在这里插入图片描述
放心的选擦除,因为不会擦除你硬盘的其它东西,只会擦除之前分配给它的那50G的空间
在这里插入图片描述
弹了一个警告,不要管他
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

它说如果你安装完了,就移除掉安装盘,然后按ENTER键
因此很简单,在左边对应虚拟器的设置中,切换一下CD设置,然后进去回车重启
在这里插入图片描述
开机后又提醒我更新,别搞了好不好
在这里插入图片描述
现在来调整系统成中文版,进入设置中的软件更新,先选一个国内的源
在这里插入图片描述
在这里插入图片描述
让系统给你测试一下,会自动选择网速最快的源
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择服务器的时候,要你输入密码,就是之前安装系统的那个密码
完了之后,可以看到我的服务器已经设置为阿里云的
在这里插入图片描述
最后一步确认的时候,一定要点close,否则前功尽弃
在这里插入图片描述
现在开始更新现有的软件,打开终端
在这里插入图片描述
以下步骤需要用到两个指令,依次进行

sudo apt-get update
sudo apt-get upgrade

第一步update检查本地软件和服务器的差别,按要求输入密码
在这里插入图片描述
完了后,upgrade更新本地的所有软件,要求输入Y则输入Y
在这里插入图片描述
在这里插入图片描述
更新已经完成,下一步,安装工具链和qemu
依次执行以下指令

sudo apt-get install gcc-arm-linux-gnueabi
sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install gcc-arm-none-eabi
sudo apt-get install qemu

系统会提醒你是否安装,以及需要的空间大小,输入Y即可
在这里插入图片描述
接下来进行语言的更新
在这里插入图片描述
有一个提醒,先不要管它,remind me later
在这里插入图片描述
选择安装和移除语言
在这里插入图片描述
选择简体中文,应用更改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将汉语拖拽到最上面,应用到整个系统
在这里插入图片描述
重启一下,发现此时界面已经全部变成中文,这里选保留旧的名称,文件夹用中文名非常的不方便
在这里插入图片描述

其实还可以安装一下虚拟机工具,在VMware的菜单虚拟机->安装vmware-tool工具,具体过程就不说了,安装这玩意儿的好处,是可以从和主机相互拖拽文件,很方便

拷贝所需资料

重新创建一个虚拟机,所有流程同上,但是这次不要指定CD/DVD的镜像路径,删除它默认创建的硬盘
在这里插入图片描述
添加一个SATA硬盘
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
提前将宋老实提供的ubuntu虚拟机解压好,注意路径最好别中文
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
开机后,分辨率是有很大问题的,这个先不管,上下左右拖动一下,输入密码进入系统
在这里插入图片描述
打开终端
在这里插入图片描述
将家目录下的develop目录进行压缩,指令为

sudo tar zcvf develop.tar.gz develop
在这里插入图片描述

想办法把这个压缩文件复制到之前安装的ubuntu上
方法有很多,可以两边都装上vmware tool,通过windows系统进行中转
也可以在这边装上samba服务,另一边通过网络直接获取到
也可以尝试用U盘等移动工具
具体情况就不演示了

拷贝到系统桌面后,解压到家目录

sudo tar xvf ~/Desktop/develop.tar.gz -C .

在这里插入图片描述

为了不因为权限问题报错,更改一下权限

sudo chmod 777 develop -R

内核编译

尝试编译一下内核看看
在这里插入图片描述
没有问题
在这里插入图片描述
在这个脚本中,执行了make LDDD3_vexpress_defconfig后,会将这个配置文件,复制一份到当前目录,名字为.config
因此后面的内核编译,就不需要这句话了,需要屏蔽掉
在这里插入图片描述
修改的时候,有可能vi的上下左右用不了,可以执行以下指令解决

sudo apt-get remove vim-common
sudo apt-get install vim-gtk

然后进入图形化配置界面,报错了

make menuconfig

glx@glxOS:~/develop/linux$ make menuconfig
  HOSTCC  scripts/kconfig/mconf.o
In file included from scripts/kconfig/mconf.c:23:0:
scripts/kconfig/lxdialog/dialog.h:38:20: fatal error: curses.h: 没有那个文件或目录
 #include CURSES_LOC
                    ^
compilation terminated.
make[1]: *** [scripts/kconfig/mconf.o] 错误 1
make: *** [menuconfig] 错误 2

需要安装一个软件后就OK了

sudo apt-get install libncurses5-dev

在这里插入图片描述

启动qemu

挂载qemu的根文件系统到本地

查看一下module.sh,这个脚本把之前编译的内核等内容,放到一个名为vexpress.img的根文件系统中

cat module.sh

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules
sudo mount -o loop,offset=$((2048*512)) extra/vexpress.img extra/img
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules_install INSTALL_MOD_PATH=extra/img
sudo umount extra/img

执行sudo mount -o loop,offset=$((2048*512)) extra/vexpress.img extra/img即可完成挂载,挂载后,可以把本地文件放进去,然后就可以在qemu中进行操作

在启动qemu之前,记得先执行build.sh,再执行module.sh脚本

到linux/extra目录下

不带GUI

./run-nolcd.sh

执行完后,进入qemu模拟的开发板系统
在这里插入图片描述

带GUI

./run-nolcd.sh

会额外开启一个窗口,和不带gui的差不了太多
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/whitefish520/article/details/103850361
今日推荐