QEMU搭建Kernel调试开发环境(2)

从内核启动打印,到命令行提示符出现,到此qemu的arm环境就搭建完成了,可以 用来做内核学习了。
但是目前方式挂载的根文件系统使用起来很麻烦,每次修改完代码重新编译之后都需要重新制作文件系统镜像。因此更推荐后边的做法。

使用nfs文件系统启动 安装nfs服务程序

sudo apt-get install nfs-kernel-server

创建nfs共享文件夹

将前边创建的rootfs文件夹的权限修改为777
sudo chmod 777 /root/rootfs
修改/etc/exports文件
sudo vim /etc/exports
添加/root/rootfs *(rw,insecure,sync,no_root_squash)

启动nfs服务

sudo /etc/init.d/nfs-kernel-server start
测试一下nfs环境是否搭建成功
sudo mount -t 127.0.0.1:/root/rootfs /mnt/
ls /mnt查看是否挂载成功
sudo umount /mnt

qemu挂载nfs根文件系统 qemu-system-arm -M vexpress-a9 -m 512M -nographic -append "console=ttyAMA0 root=/dev/nfs nfsroot=/root/rootfs rw ip=dhcp nousb" -kernel /root/zImage-3.16

其中nfsroot=后边是nfs根文件系统位置
ip=dhcp指定qemu guest os 的ip分配方式

至此可以很方便的使用qemu挂载nfs文件系统进行内核学习和开发了。
本文错略的介绍了qemu搭建内核学习的过程,没有过多的关注细节,有兴趣的可以研究一些qemu的其他参数,qemu的网络配置,以及更详细的文件系统构建方法。

Ubuntu 14.04中安装QEMU

Ubuntu下使用KVM+Qemu 搭建虚拟机 

Linux入门学习教程:虚拟机体验之QEMU篇 

Ubuntu 12.04之找不到Qemu命令

Arch Linux上安装QEMU+EFI BIOS

QEMU的翻译框架及调试工具

QEMU 代码分析:BIOS 的加载过程

QEMU 的详细介绍请点这里
QEMU 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14733.html