理解Linux内核注释

Posted Aloys Wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解Linux内核注释相关的知识,希望对你有一定的参考价值。

内核是Linux的心脏,它是在引导时装入的程序,用来提供用户层程序和硬件之间的接口,执行发生在多任务系统中的实际任务转换,处理读写磁盘的需求,处理网络接口,以及管理内存。一般情况下,自动安装的内核无需任何改动就可以在机器上运行,但若要为新的设备添加支持程序或削减内核支持的设备列表,以降低内存需求,则需要配置内核。

通常,内核源代码树以一个名为linux-X.X.XX.tar.gz的文件出现,X.X.XX为内核的版本号。内核的版本号分为三部分(以2.0.35为例):
1、主版本号:此内核是2。它表明对内核的重大改进,很少改变。
2、次版本号:此内核是0。它表明内核的稳定性。偶数号(如0、2、4等)的内核是稳定的产品版本。而奇数号(如1、3、5等)的内核是处于开发过程中的内核,一般包含着最近开发的试验性代码,它不太稳定,有时可能包含着致命的错误。
3、修订号:此内核是35。它表明这一发布版本的增补级。

下面我们来看看如何升级内核(以2.0.35版为例)

1、获取源代码树

linux-2.0.35.tar.gz

2、解开内核

cd /usr/src/ (进入到目录 /usr/src/
rm -rf /usr/src/linux (将旧的内核源代码删除,也可以将其移走)
cp linux-2.0.35.tar.gz /usr/src/ (将新的内核文件拷贝到刚才的目录)
tar xzf linux-2.0.35.tar.gz (将内核文件解压缩,产生新目录/usr/src/linux

3、创建符号链接

cd /usr/include (进入到目录 /usr/include
rm -rf linux asm scsi (删除所有的老的头文件)
ln -s /usr/src/linux/include/linux linux ln -s /usr/src/linux/include/asm-i386 asm ln -s /usr/src/linux/include/scsi scsi (创建符号链接将你的系统指向包含有新内核代码的新的头文件)
cd /usr/src/linux (进入目录 /usr/src/linux
make mrproper (清除任何将引起问题的附加额外的源代码)

4、配置内核

cd /usr/src/linux (进入目录 /usr/src/linux
make menuconfig (用菜单形式配置内核。根据自己的要求,配置内核,不确定的用缺省配置。另有make config----文本界面,make xconfig----图形界面命令可选。此外注意保存配置)

5、创建内核(在目录 /usr/src/linux下)

make dep (此命令用来分析内核的配置并创建相应的相关树,决定那些内容该编译,那些内容不该编译)
make clean (此命令用来清楚所有以前编译的痕迹)
make zImage (编译内核,如果内核较大,用make bzImage)
make modules (编译模块)
make modules_install (安装模块)
cp /usr/src/linux/arch/i386/boot/zImage /boot/zImage (将zImage拷贝到/boot)

6、把新内核放入lilo

vi /etc/lilo.conf (用vi编辑/etc/lilo.conf)
写清/image=/boot/zImage 保存退出。
lilo (执行lilo命令)

7、起用新内核

注意,以上工作需以root身份完成。

以上是关于理解Linux内核注释的主要内容,如果未能解决你的问题,请参考以下文章

Linux epoll源码注释

Linux内核完全注释阅读笔记1:O时间复杂度查找timeout定时器

LINUX PID 1和SYSTEMD PID 0 是内核的一部分,主要用于内进换页,内核初始化的最后一步就是启动 init 进程。这个进程是系统的第一个进程,PID 为 1,又叫超级进程(代码片段

linux怎么注释磁盘

Linux内核完全注释之编程语言和环境

svn 强制用户添加注释 和 允许用户修改注释