linux 0.11源码 能编译,发布我的Linux0.11实验室(带有gcc4下可编译的源码).PDF

发布我的Linux0.11实验室(带有gcc4下可编译的源码)

发布我的Linux 0.11 实验室(带有gcc4 下可编译的源码)

/

下载

简介

我发布的这个东东主要包含一个可以在 gcc 4.1 下可编译的 linux-0.11 的修改版的源码。

当前的 Linux 发型版大部分已经采用 gcc 4.0 以上的版本和 linux 2.6 的内核,而赵博士

()提供的可以在 RH9 下面编译的源码只能工作于 gcc 版本 3.x。

我在我的 Debian Sid 系统上对这个东东做了基本的测试,gcc 4.1 是我系统的默认编译器。

任何一个比较新的 Linux 发型版,包括 Fedora,Unbuntu 等,应该都没有问题。如果你的系

统上安装的是其他版本的 gcc,可以参考下面“使用其他 gcc 编译”小节。

如果你的 Linux 提供的默认编译器的仍然是 gcc 3.x,或者你打算另外安装一个 gcc 3.x

仅仅为了满足能编译源码的要求,你可能就用不到这个东东了。但是,除了内核源码之

外,我还提供了一整套 linux-0.11 的实验环境,用于在 linux 环境下学习并且实验 linux

0.11 的源代码。因为我认为要想真正的学习 Linux 内核的精髓,还是得老老实实在 Linux 环境

中进行学习。而且在 Windows 下面,几乎就不可能编译 Linux 内核的源码。

如果你真的很想在 Windows 平台学习Linux 也没有关系。我还做了另外一个类似的东东可

以在 Windows 平台直接学习 Linux 0.11 的源码。只需要下载下面的链接并且解压到系统

的某个地方就可以用:

/upload/linux-0.11-lab_060616_004102.exe

无论是 Linux 用户也好,Windows 用户也好,如果你也是新学 Linux,不太清楚怎么样

修改并且编译内核源码,然后重启进入你修改后的内核这些基本操作,可以看看我

做的一个 Flash 教程:

/upload/linux-0.11.swf

这个东东很大部门都是直接用了 提供的资源做成的。我只是根据自己

的需求,综合了一些资源,做了个简单的定制。非常感谢赵博士共享这些资料,并且

希望我的东东能对大家有点用处。谢谢支持。

你可以访问这个链接报bug和给这个东东提一些建议。我其实也是刚学Linux内核的菜鸟。

运行前提

你的系统中需要预先安装 mtools 和bochs。如果你用基于 Debian 的发型版,可以运行:

apt-get install bochs bochs-x mtools

如果你的系统是基于 RPM 的,可以试试:

yum install bochs mtools

或者直接运行 bochs 和mdir 这两个命令,如果都有就说明你的系统中已经安装了这两款软件。

为了编译内核源码,当然你的系统中还必须装有 gcc 和make 等基本软件,如果是 Debian,可以运行:

apt-get install build-essentials bin86

安装

解压这个文件都可以了:

tar xjf linux-0.11-lab_060616_005627.tar.bz2

然后在本目录下应该会出现一个名为 linux-0.11 的新目录。

工作流程

使用这个东东的工作过程很简单,首先编译内核,然后安装内核,最后在 bochs中

运行内核。

假设你已经进入 linux-0.11 这个目录,首先运行:

cd source/linux

make clean

make

cd ../../

将在 source/linux 目录下生成新的内核文件 Image。然后运行:

./mcopy_kernel source/linux/Image bootimage-new

可以将 Image 文件拷贝到一个装了 grub 的启动软盘上。这个命令将在磁盘的/boot

目录下建立 bootimage-new 这个文件,值得指出的是,如果用这个命令,所有的

都会被拷贝到软盘的/boot 目录下。

然后你可以运行

./edit_menu.lst

来编辑 grub的配置文件,这样启动是就可以在 grub 菜单中显示新内核的启动项。

配置文件语法很简单。

比如说你可以在 menu.lst 最后加上以下四行:

title Linux 0.11 compiled by gcc 4.1

root (fd0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
带中文注释可成功编译运行的Linux0.11+Bochs2.62实验环境说明 此注释以网上获得的“linux带中文注释的0.11版本”为基础,对照赵炯博士《Linux内核完全注释(0.11) 》V3.0版(http://oldlinux.org/download/clk011c-3.0.pdf)编辑而成。作为对赵博士感谢,以及对Linux初学者的回馈,特发布在CSDN上。 此注释可以在http://oldlinux.org/Linux.old/bochs/提供的Linux-0.11-devel-XXXXXX实验环境下正确编译成功,使用:"make disk"命令重启Bochs虚拟机后,新编译源码直接生效,便于学习者直接阅读源码,直接进行实验。 注意事项: 1、为了使注释版与实验环境上的Linux0.11内核保持一致,达到对应文件可以互换的目的,与Linux0.11原始版本相比,加入了15个系统调用函数(参见include/Linux/sys.h第78-92行。赵博士原书没有这部分注释,我不敢班门弄斧),其它相关的文件加入了相应的定义。新加入的代码只有函数体定义,没有具体实现,对其它原始代码没有改变、没有影响。 2、键盘定义改成了美式键盘(原始代码中是芬兰键盘,会导致个别键出问题,调试的时候我曾被迷糊了好久,以为自己把程序搞乱了)。 3、把网上VC版的注释统一改成了 “/* */” 格式的注释。经测试,在Linux0.11实验环境中(gcc1.40),只有标准C注释语法可以正常编译。 4、由于《Linux内核完全注释(0.11) 》原书版本更新的原因,注释中提到的图、表可能与V3.0版书中不一致。 5、由于代码中加入注释,代码行号发生变化,注释中提到的代码行号会出现不一致,建议对照3.0版查询对应内容。 6、实验方法:请先安装附带的Bochs2.62版安装包,双击Test.bxrc即可启动实验系统,执行命令:sh t,即可完成对linuxcn的编译。 7、linux目录中是此实验系统中/usr/src/linux提取出来的不含中文注释的linux0.11源码(此版本比原始的0.11版多15个系统调用函数),linuxcn是加入了中文注释的源码。 8、diskb.img是实验系统与Windows环境下进行文件交换的1.44M软盘映像,执行脚本命令"sh t"时会自动从此映像中读取linux.tar、linuxcn.tar包,解包并编译编译结果在:/usr/root/zw/linuxcn目录下。为了方便文件交换,建议使用7zip为压缩/解压缩工具(7zip可以直接生成tar包),用WinImage实现Windows环境与软件映像交换文件。 9、实验系统下 .profile中加入了几个命令,请读者注意。 10、若实验环境的启动盘被破坏,请用压缩包中的bootimage-0.11-hd覆盖对应文件即可。 11、若实验环境的要命文件系统被破坏,请用压缩包中的hdc-0.11-new.img覆盖对应文件即可。 2014-5-4 cyfx2288
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值