Linux 0.11 Lab 是“古董” Linux 0.11 操作系统的极速实验环境,可配合《Linux 0.11 内核完全注释》使用。
它源自作者于 2008 年左右学习赵博士《Linux 0.11 内核完全注释》一书时的读书笔记和代码实践。
2008 年的代码实践有回馈给赵老师的论坛,之后有很多同学复用相关的代码。
2015 年在 Docker 兴起之后,作者重构了历史代码,发布到 Github 上,并取名为 Linux 0.11 Lab。
经过数年的开发和迭代,目前已经收获了 355 Stars,172 份 Forks,最近一段时间,修复了部分 Bugs,基本功能已经足够完善,所以计划发布一个正式的版本 v0.1,这里先发布 v0.1 rc1。
Linux 0.11 Lab v0.1 rc1 已经具备如下功能:
- 基于 Docker,支持在 Windows, Linux 和 Mac OSX 下做实验。
- 同时支持 Qemu 和 Bochs 模拟器,预编译了支持 Linux 0.11 Floppy 的 Qemu 0.10。
- 预制了三种类型的根文件系统:Ram, Floppy, Harddisk。
- 预装了编译器,添加了 make 目标:boot, boot-fd, boot-hd,支持一键编译和启动
- 添加了在线调试 make 目标:debug, debug-fd, debug-hd,同时支持 Qemu 和 Bochs
- 内建了 Syscall, Linux 0.00, Linux 0.11 内部编译 Linux 0.11 等例子
- boot/{bootsect.s, setup.s}:用 AT&T 汇编重写
- tools/build.c:用 shell 重写
- tools/callgraph: 可生成函数调用关系
极速体验(在非 Ubuntu 平台,请提前自行安装好 docker):
$ git clone https://gitee.com/tinylab/cloud-lab.git
$ cd cloud-lab
$ tools/docker/run linux-0.11-lab
进去以后,打开控制台,敲入如下命令即可启动一个板子:
$ make boot