ubuntu下 Linux 0.11 编译内核 - 实验环境搭建

如果想学习Linux 0.11,实验环境是必不可少的。最好是能编译,能运行,能调试。
本文用的是Mooc网上的哈工大李治军老师操作系统!李老师的讲课风格浅入深出。

1.下载Linux 0.11

  1. 用github下载
    https://github.com/Wangzhike/HIT-Linux-0.11 下载
  2. 命令行下载 如果没有git,那么先安装git

sudo apt-get install git
git clone https://github.com/Wangzhike/HIT-Linux-0.11.git
克隆完成后,得到文件夹HIT-Linux-0.11。

2. 熟悉实验环境

https://www.shiyanlou.com/courses/115/labs/374/document

3实验环境搭建

进入文件夹 后 运行脚本

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

4. 编译Linux 0.11、运行

cd ~/oslab/linux-0.11
make

此时会生成镜像文件Image

cd ~/oslab
./run

5. 调试

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

./dbg-asm

C语言级别 – 可以通过gdb进行C语言级别调试。
先运行

./dbg-c

再开一个终端,运行

./rungdb

有的可能会出现 找不到libncurses.so.5 找不到libexpat.so.1

/rungdb
./gdb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

./gdb: error while loading shared libraries: libexpat.so.1: cannot open shared object file: No such file or directory

解决办法是:
安装libncurses5:i386 安装libexpat1-dev:i386

sudo apt-get install libncurses5:i386
sudo apt-get install libexpat1-dev:i386

一些操作可以参考熟悉实验环境中的说明,特别是使用Bochs

参考
故障解决:error while loading shared libraries: libncurses.so.5

参考原文:Linux 0.11 实验环境搭建

你可能感兴趣的:(虚拟机,Linux内核)