您的位置:首页 > 运维架构 > Linux

linux0.11系列之(一): 实验环境搭建

2016-01-02 12:37 471 查看
就在这里,开始我的第一篇博客吧。

在开始我的linux 0.11操作系统体验之前,所谓工欲善其事,必先利其器。先来讲讲我所搭建的实验环境吧。

工具包:

首先我用的是VMware下 Ubuntu 14.04 的虚拟机。

在虚拟机下,采用hit-oslab-linux-20110823.tar.gz(我是觉得这个是集成得比较好的实验环境),其中采用bochs模拟器加载Linux 0.11的Image文件。

在 linux-0.11/ 目录下修改、编译之后,会在目录下产生Image文件,这个就是我们做好的linux 0.11镜像文件。

首次编译可能会出现 as86 和 ld86 编译器不支持,去网上自己搜一搜找找然后自己安装吧。(这东西难倒你的话,也不用看后面的内容了)

在oslab目录下执行:

$ ./run

如果出现Bochs的窗口,里面显示linux的引导过程,最后停止在“[/usr/root/]#”,表示运行成功。

接下来说说调试工具:

内核调试分为两种模式:汇编级调试和C语言级调试。

$ ./dbg-asm

可以用命令help来查看调试系统用的基本命令。更详细的信息请自行查阅Bochs使用手册。

C语言级调试首先执行如下命令:

$ ./dbg-c

然后再打开一个终端窗口,进入oslab目录后,执行:

$ ./rungdb

新终端窗口中运行的是GDB调试器。关于gdb调试器请查阅GDB使用手册。

以上这两个调试工具是我遇到问题的救命稻草,也是最高效的调试手段。后面会有我在使用中对这两个工具的心得总结,总之,这两个工具互相搭配使用,在bochs下调试linux0.11,就是(唯一的)神器。

Ubuntu和Linux 0.11之间的文件交换:

在oslab根目录下,hdc-0.11.img就是我们系统启动之后挂载的硬盘镜像了。如何在我们的宿主操作系统和linux0.11进行文件交互,也是全靠这个Image。

$ sudo ./mount-hdc

之后,hdc目录下就是和0.11内核一模一样的文件系统了,可以读写任何文件(可能有些文件要用sudo才能访问)。

注意:在关闭Bochs之前,若需要保存fs所有缓存数据,先在0.11的命令行运行“sync”后,再关闭Bochs。

最后,在这一切的起点前,先祝 happy hacking!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  操作系统 linux bochs