Linux操作系统的内核的编译命令与更新

系统 Linux
Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。那内核编译的命令有哪些,编译完是如何更新的呢,随下文你将慢慢了解。

  Linux操作系统的内核编译过程漫长:先做准备工作、然后配置,才开始编译。

  编译有关的命令有如下几个:

  #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 modules和make 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.map和vmlinuz,使其指向新内核的文件:

  #cd /boot;rm -f System.map vmlinuz

  #ln -s vmlinuz-2.4.0test8 vmlinuz

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

  然后修改/etc/lilo.conf:

  #vi /etc/lilo.conf

  增加如下一段:

  image=/boot/vmlinuz-2.4.0test8

  label=linux240

  read-only

  root=/dev/hda2

  其中root=/dev/hda2一行要根据需要自行加以修改。运行:

  #/sbin/lilo -v

  确认对/etc/lilo.conf的编辑无误,现在重新启动系统:

  #shutdown -r now

  在机器重启后出现LILO时按TAB键,输入linux240,我们的新内核发挥作用了,好好享受吧

通过上文描述,大家知道了内核编译的麻烦、怎样更新,希望对大家有帮助!

【编辑推荐】

  1. Linux内核入门,包教会
  2. 数个Linux内核稳定版更新 2.6.27建议升级
  3. 8.1 Linux内核源码组织
  4. Linux内核修炼宝典
  5. 2010年度报告:是谁在编写Linux内核?
  6. Linux内核编译之高手教程
  7. SELinux简介:Linux内核安全
  8. 处理Linux内核安全详解
责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-01-14 16:23:46

Linux内核

2009-12-17 18:19:12

Linux操作系统

2009-06-19 20:32:00

Linux

2011-01-04 18:15:21

2011-01-14 16:01:27

2009-12-25 14:32:30

Linux操作系统

2010-02-25 10:46:44

Linux操作系统

2009-09-01 09:14:42

2009-02-17 16:07:29

Linux操作系统内核启动参数

2009-12-14 17:36:18

2009-12-10 17:27:19

Linux操作系统

2010-03-03 10:14:44

Linux vmwar

2017-08-24 11:00:56

Linux用户空间内核空间

2009-04-03 15:19:15

2009-12-22 13:44:33

Linux操作系统

2011-01-10 16:34:13

linux安装

2010-05-06 17:59:50

Unix命令

2017-03-27 18:05:49

Linux内核编译与开发

2009-12-23 17:47:15

Linux操作系统

2012-07-13 15:29:49

点赞
收藏

51CTO技术栈公众号