linux内核编译步骤

来源:互联网 发布:管家婆t9软件怎么样 编辑:程序博客网 时间:2024/04/29 23:24

1.准备工作

    (1).整理出系统需要支持的硬件,文件系统类型及网络协议等内容(在配置内核编译选项时需要)。

    (2).查看系统的版本号(uname -r),如果你的系统版本与将要编译的内核版本一致,建议将/lib/modules下的内容备份,否则make modules_install(安装模块)步骤产生的文件会覆盖这个路径下的内容。

    (3).A:下载并解压内核.下载地址http://www.kernel.org/pub/linux/kernel/.一般将内核源码放在/usr/src/目录下。

          B:通过光盘安装内核。rpm -ivh kernel-source-2.xx.xx.rpm


2.清除从前编译内核时残留的.o文件和不必要的关联。

   cd /usr/src/linux

   make mrproper

  确保源代码目录下没有不正确的.o文件和文件依懒关系,执行该命令后,内核选项会回到默认的状态下。


3.配置内核,修改相关参数。

   在图界面下:make xconfig;字符界面下:make menuconfig

   可参考:http://wenku.baidu.com/view/ca08c0f3f90f76c661371ad8.html 配置内核选项后,保存退出。


4.正确设置关联文件 

   make dep

 根据步骤3的编译选项,建立文件的依赖关系。


5.make clean

 清除一些不必要的文件。


6.编译内核

  对于大内核(比如需要支持SCSI),make bzImage

  对于小内核,make zImage


7.编译模块

  make modules

编译可加载模块(即内核选项中选择为M的选项),编译时间跟M数量有关。


8.安装模块

make modules_install

即将编译好的模块拷贝到/lib/modules下。


9.使用新内核

方法一:

  (1).更换内核:a.mv /usr/src/linuxX.X.X/system.map /boot/system.map

                            mb /usr/src/linuxX.X.X/arc/i386/boot/bzImage /boot/vmlinuz

  (2).修改/etc/lilo.conf文件,加一个启动选项,使用新内核启动.

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

linear

default=linux-new ##告诉lilo默认使用新内核启动###

append="mem=256M"

image=/boot/vmlinuz-2.2.14-5.0

label=linux

read-only

root=/dev/hda5

image=/boot/bzImage(zImage)

label=linux-new

read-only

root=/dev/hda5

保留旧的启动选项可以保证新内核不能启动的情况下,旧内核可用。

保存退出后,执行/sbin/lilo,使修改生效。





原创粉丝点击