顶嵌嵌入式学习笔记:内核升级的基本步骤

topembedded   2009-10-21 14:52 楼主

来源:
顶嵌嵌入式培训
作者:顶嵌学员-万隆(山东理工大学讲师)


一、本次内核编译新内核所涉及软件版本


“gcc –version”可查寻GCC版本------4.3.2 20081105(Red Hat 4.3.2-7)

“make –v”可查询 Gnu make版本-----3.81

“ld –V(v)可查询GNU ld版本-----2.18.50.0.9-7。f c10 20080822

“fdformat --version”命令检查 util-linux版本----2.14.1

“insmod –V”检查module-init-tools 版本-----3.5

“tune2fs –version”命令可检查 tune2fs 版本-----1.41.3

“pppd --version”命令可检查pppd version 2.4.4

“isdnctrl 2>&1|grep version” 命令可检查isdnctrl version 3.9

二、配置ftp,上传内核代码

       ftp配置过程这里不再详细介绍。本次要编译的内核代码版本为2.6.25.8,执行mget指令将内核上传到目标文件,然后执行“tar xvjf linux-2.6.25.8_src.tar.bz2解压内核代码包。

三、配置内核

       接下来的内核配置过程比较烦琐,但是配置的适当与否与日后Linux的运行直接相关,有必要了解一下一些主要的且经常用到的选项的设置。配置内核可以根据需要与爱好使用下面命令中的一个:

#make config(基于文本的最为传统的配置界面,不推荐使用)
#make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)
#make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用)

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

#make defconfig(采用默认配置)

       对于初学者而言,我们可以先执行“make defconfig”,这样可节省很多工作。然后在执行“make menuconfig”进行下面的配置:

1、选择网卡配置:

Device Drivers --->

Network device support --->

Ethernet (10 or 100Mbit) --->

<*> AMD PCnet32 PCI support //VMware 下Linux 系统的网卡驱动

2、选择SCSI 驱动

Device Drivers --->

SCSI device support --->

SCSI low-level drivers --->

<*> BusLogic SCSI support //必须要选择BusLogic SCSI 适配器

       配置完成后可执行“ls -a”指令查看目标文件夹中会存在.config文件。在配置时,大部分选项可以使用其缺省值,只有小部分需要根据用户不同的需要选择。

四、编译内核

配置工作完成后,可以执行编译命令:

#make dep
#make clean
#make zImage
#make bzImage
#make modules
#make modules install

#make install

#depmod -a

       第一个命令make dep实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要;第二命令make clean完成删除前面步骤留下的文件,以避免出现一些错误;第三个命令make zImage和第四个命令make bzImage实现完全编译内核,二者生成的内核都是使用gzip压缩的,只要使用一个就够了,它们的区别在于使用make bzImage可以生成大一点的内核,比如在编译2.4.0版本的内核时如果使用make zImage命令,那么就会出现system too big的错误提示。建议大家使用make bzImage命令。make modules和make modules install分别生成相应的模块和把模块拷贝到需要的目录中。#make install默认会将内核镜像拷贝到/boot 目录下。第八个命令和编译过程并没有关系,它是生成模块间的依赖关系,这样你启动新内核之后,使用modprobe命令加载模块时就能正确地定位模块。

       我们可以依次执行#make clean、#make bzImage、#make modules、#make modules install、make install指令。

五、更新

       最后我们还需要执行“vim /etc/grub.conf”,修改grub.conf文件中的default的值,选择启动循序。

顶嵌学员:万隆(山东理工大学讲师)
2009年10月6日


[ 本帖最后由 topembedded 于 2009-10-21 14:54 编辑 ]
顶嵌与您一起关注嵌入式行业! http://www.top-e.org/

回复评论 (3)

学习中...
点赞  2009-10-22 15:12
都是学员总结的
顶嵌与您一起关注嵌入式行业! http://www.top-e.org/
点赞  2009-11-2 10:15
给力啊
点赞  2015-3-11 05:35
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复