linux认证:Linux编译内核

文章作者 100test 发表时间 2007:03:14 16:12:56
来源 100Test.Com百考试题网


 

准备工作

通常要运行的第一个命令是:

cd /usr/src/linux.make mrproper

该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖

配置

接下来的内核配置过程比较烦琐,但是配置的适当与否与日后linux的运行直接相关,有必要了解一下一些主要的且经常用到的选项的设置。

配置内核可以根据需要与爱好使用下面命令中的一个:

#make config(基于文本的最为传统的配置界面,不推荐使用)

#make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)

#make xconfig(基于图形窗口模式的配置界面,xwindow下推荐使用)

#make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)

这三个命令中,make xconfig的界面最为友好,如果你可以使用xwindow,那么就推荐你使用这个命令.

在繁杂的配置工作完成以后,下面你就可以自己到杯茶耐心等候了。与编译有关的命令有如下几个:

#make dep

#make clean

#make zimage

#make bzimage

#make modules

#make modules_install

#depmod -a

第一个命令make dep实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要;

第二命令make clean完成删除前面步骤留下的文件,以避免出现一些错误;

第三个命令make zimage和第四个命令make bzimage实现完全编译内核,二者生成的内核都是使用gzip压缩的,只要使用一个就够了,

它们的区别在于使用make bzimage可以生成大一点的内核,比如在编译2.4.0版本的内核时如果使用make zimage命令,那么就会出现system too big的错误提示。

建议大家使用make bzimage命令。

后面三个命令只有在你进行配置的过程中,在回答enable loadable module support (config_modules)时选了yes才是必要的,

make modulesmake modules_install分别生成相应的模块和把模块拷贝到需要的目录中。

严格说来,第七个命令和编译过程并没有关系,它是生成模块间的依赖关系,这样你启动新内核之后,使用modprobe命令加载模块时就能正确地定位模块。

更新

经过以上的步骤,我们终于得到了新版本的内核。为了能够使用新版本的内核,我们还需要做一些改动:

#cp /usr/src/linux/system.map /boot/system.map-2.4.0test8

#cp /usr/src/linux/arch/i386/bzimage /boot/vmlinuz-2.4.0test8

以上这两个文件是我们刚才编译时新生成的。下面修改/boot下的两个链接system.mapvmlinuz,使其指向新内核的文件:

#cd /boot.rm -f system.map vmlinuz

#ln -s vmlinuz-2.4.0test8 vmlinuz

#ln -s system.map-2.4.0test8 system.map

#shutdown -r now

正常启动.您的机器现在就使用你的新内核了.

下面是rh 推荐的编译方式. 注意edit makefile

老话新说,redhat 公司 推荐编译内核方法

本文部分取自于rh300(rhce rapid track course)课本.

本文假定你用的是redhat 7.2,grub 管理启动.准备编译7.2 自带的内核

cd /usr/src/linux-2.4

make mrproper

edit makefile 文件

extraversion= 改成有你特色的文字, 比如:

extraversion=-10me

make menuconfig or make xconfig

make dep

make bzimage

make modules

make modules_install

cp system.map /boot/system.map-2.4.7-10me

cp arch/i386/boot/bzimage /boot/vmlinuz-2.4.7-10me

new-kernel-pkg --install --mkinitrd --depmod 2.4.7-10me



相关文章


Liunx架站之限制联机端口4:开机激活的设定
Liunx架站之限制联机端口3:关闭或激活端口
Liunx架站之限制联机端口2:如何观察端口
Liunx架站之限制联机端口1:什么是端口
linux认证:Linux编译内核
Liunx架站之网络问题解决7:router的问题
Linux操作系统三则超酷技巧
Liunx架站之网络问题解决8:服务权限的问题
Liunx架站之网络问题解决5:确认DNS的IP设定
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛