Linux 0.11 实验环境搭建
阅读原文时间:2021年04月20日阅读:1

如果想学习Linux 0.11,实验环境是必不可少的。最好是能编译,能运行,能调试。

如今大家都是用64位的Linux操作系统,而且是高版本的GCC(4.0以上),所以环境搭建是个难题。要么就是编译后满屏报错,要么就是运行时出问题,总之各种麻烦。

还好,有热心的朋友提供了可用的环境,在此深表谢意。

我的环境是:Win7(64位)+Vmware+Ubuntu 16.04(64位)
如果不用虚拟机,直接装个Linux,那自然是最好的。

1. 克隆仓库

如果没有git,那么先安装git

sudo apt-get install git

git clone https://github.com/Wangzhike/HIT-Linux-0.11.git

克隆完成后,得到文件夹HIT-Linux-0.11

不想克隆的,可用去https://github.com/Wangzhike/HIT-Linux-0.11下载。

2. 安装实验环境

进入文件夹

cd HIT-Linux-0.11/prepEnv/hit-oslab-qiuyu/

运行脚本

./setup.sh

本脚本会将实验环境安装在当前登录用户的家目录下,文件名为oslab,即我们的实验目录是~/oslab

注意,请不要用超级用户权限执行此命令,当有需要时该脚本会请求超级用户权限。

这个脚本会下载并安装许多软件包,比如

 gcc-3.4
 bin86
 libc6-dev-i386
 build-essential
 libsm6:i386
 libx11-6:i386
 libxpm4:i386

另外会创建目录,解压 linux-0.11 的源码包、根文件系统,解压 bochs等。
安装完成后,进入~/oslab,截图如下:

3. 编译Linux 0.11

cd ~/oslab/linux-0.11
make

此时会生成镜像文件Image

4. 运行

cd ~/oslab
./run 

这里的run也是一个脚本,其最后一行的命令是启动Bochs

$OSLAB_PATH/bochs/bochs-gdb -q -f $OSLAB_PATH/bochs/bochsrc.bxrc

5. 调试

汇编语言级别

./dbg-asm

通过Bochs进行汇编语言级别调试。

C语言级别

先运行

./dbg-c

再开一个终端,运行

./rungdb 

则可以通过gdb进行C语言级别调试。

注意

请不要把Linux-0.11的源码包解压到Windows下面,因为在源码目录linux-0.11\kernel\chr_drv\下有两个文件,分别是keyboard.Skeyboard.s,它们的后缀一个大写,一个小写。在Linux上,文件名是区分大小写的;但是在Windows上,文件名不区分大小写,所以解压的时候会提示重复。

【特别感谢】
https://github.com/Wangzhike/HIT-Linux-0.11

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章