linux0.11 elf文件,Linux 0.11 实验环境

项目描述

该项目致力于快速构建一个 Linux 0.11 实验环境,可配合《Linux内核完全注释》 一书使用。基本特性:包含所有可用的映像文件: ramfs/floppy/hard disk image。

轻松支持 qemu 和 bochs,可通过配置 tools/vm.cfg 切换。

可以生成任何函数的调用关系,方便代码分析:make cg f=func d=file|dir

通过 Docker Toolbox 或 Docker CE 支持所有系统:Linux、Windows 和 Mac OSX。

支持最新的编译器和调试器,可直接用 Qemu/Bochs + gdb 调试

在解压之前整个大小只有 30M

支持 Docker 一键构建

可通过 Web 直接访问

相关文章

五分钟教程

注:不再推荐如下方式使用 Linux 0.11 Lab,请参考 基于 Docker 快速构建 Linux 0.11 实验环境,基于 Docker,可以轻松在 Windows,Linux 和 Mac OSX 下使用 Linux 0.11 Lab。

准备

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

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

更多可选工具:

apt-get install bochs vgabios bochsbios bochs-doc bochs-x libltdl7 bochs-sdl bochs-term

apt-get install graphviz cflow

下载

git clone https://gitee.com/tinylab/linux-0.11-lab.git

Or

git clone https://gitee.com/tinylab/linux-0.11-lab.git

编译

make

从硬盘启动

make start-hd

调试

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

make debug-hd

获得帮助

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.jpg

演示图片

linux-0.11-lab.jpg

视频演示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值