您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术Linux内核升级的基本步骤分析 正文
Linux内核升级的基本步骤分析

Linux内核升级的基本步骤分析

点击数:7687 次   录入时间:03-04 12:00:35   整理:http://www.55dianzi.com   嵌入式系统-技术

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

    “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的值,选择启动循序。




本文关键字:Linux  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术