泰晓科技 -- 聚焦嵌入式 Linux - 追本溯源,见微知著!
网站地址:http://tinylab.org
微信公众号关注我们新浪微博


扫一扫

关注 @泰晓科技
赞助泰晓原创 ○ 在线实验Linux ○ 下载开源书籍
请稍侯

Linux 0.11 实验环境

可快速构建,支持Docker/Qemu/Bochs/Ubuntu/OS X/Windows
Wu Zhangjin 创建于 2015/10/01

项目描述

该项目致力于快速构建一个 Linux 0.11 实验环境,可配合《Linux内核完全注释》 一书使用。

相关文章

五分钟教程

准备

以 Ubuntu 和 Qemu 为例, 对于 Mac OS X 和 Bochs 的用法,请参考 README.md.

apt-get install vim cscope exuberant-ctags gcc gdb binutils qemu

下载

git clone https://github.com/tinyclub/linux-0.11-lab.git

编译

make

从硬盘启动

make start-hd

调试

打开一个终端并启动进入调试模式:

make debug-hd

打开另外一个终端启动 gdb 开始调试:

gdb images/kernel.sym
(gdb) target remote :1234
(gdb) b main
(gdb) c

获得帮助

make help
> Usage:
 make --generate a kernel floppy Image with a fs on hda1
 make start -- boot the kernel in qemu
 make start-fd -- boot the kernel with fs in floppy
 make start-hd -- boot the kernel with fs in hard disk
 make debug -- debug the kernel in qemu & gdb at port 1234
 make debug-fd -- debug the kernel with fs in floppy
 make debug-hd -- debug the kernel with fs in hard disk
 make disk  -- generate a kernel Image & copy it to floppy
 make cscope -- genereate the cscope index databases
 make tags -- generate the tag file
 make cg -- generate callgraph of the system architecture
 make clean -- clean the object files
 make distclean -- only keep the source code files

生成 main 函数调用关系

make cg
ls calltree/linux-0.11.jpg

See:

Linux 0.11 Calltree

演示图片

Linux 0.11 Lab

视频演示