Chinaunix首页 | 论坛 | 博客
  • 博客访问: 685751
  • 博文数量: 845
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:22
文章分类

全部博文(845)

文章存档

2011年(1)

2008年(844)

我的朋友

分类:

2008-10-15 16:24:11

    很多朋友一听到说编译内核,就觉得很高深莫测,非常头大。其实,通常其它操作系统的内核编译是比较繁琐的。然而,由于Debian强大的dpkg软件包管理系统,使得内核的升级、编译也变得容易很多。如果下面的步骤都注意并执行了,编译内核不是很复杂的事情,我在基于debian的ubuntu系统上第一次编译就成功了。编译过程如下,与各位分享:

    修改ubuntu 6.10上的/bin/sh

    在ubuntu6.10上,/bin/sh默认是链接到/bin/dash的,当你从源代码编译软件的时候,dash可能会导致一些错误,至少我遇到过 类似问题,因此,我把/bin/sh的连接改为了/bin/bash。(估计中国绝大部分使用者都是用的bash吧)
    如果你使用的就是6.10,那么应该这样做:

    rm -f /bin/sh

    ln -s /bin/bash /bin/sh

    安装相关的软件,包括
    a、 Dapper Drake 6.06 LTS 首选“软件”,自己想办法安装吧
    b、build-essential,里面有gcc,make等东西要用到。
    c. kernel-package,里面有make-kpkg要用。
    d. qt库,主要是为了用make xconfig图形界面配置,你要安装libqt3-headers,libqt3-mt-dev等
    e. libncurses5-dev,主要是用make menuconfig,我就用这个。
    f. gtk库,用于make gconfig。安装gtk2.0,相关lib。

    源码
    到当前最新版的源代码。的分类有p,f等区别,要下f类型的连接,不要下补丁。下好的源代码应该有40多M。然后解压缩源代码。

    tar xjvf -2.6.20.tar.bz2 -C /usr/src/-2.6.20

    cd /usr/src/linux-2.6.20

    补丁
    如果需要给内核源代码打补丁,首先下载相对应的补丁,在这里我们以patch.bz2代替。将其放到/usr/src目录下,然后用下来的命令来使其生效:

    bzip2 -dc /usr/src/patch.bz2 | patch -p1 –dry-run

    bzip2 -dc /usr/src/patch.bz2 | patch -p1

    注意!此时,你应该一直处于/usr/src/linux-2.6.20目录下。

    第一个命令仅仅是试验性质的,它并不会对你的源代码产生什么变动。如果没有产生什么错误信息,你才能用第二个命令来对源代码产生真正的修补动作,如果第一条指令就出错了,请别继续执行下去,看看错误出在哪里。

    同样,你也可以向你的内核提供预补丁,例如,一旦你发现有一个自己需要的特性在2.6.19 rc4中提供,但这个版本的内核并没有发行所有的完整源代码,只有patch-2.6.19-rc4.bz2是可选的。于是,你就可以提供这个patch 到2.6.18的内核中,但不是2.6.8.1,或者2.6.8.2。

    创建链接
    创建一个指向新内核代码的符号

    sudo ln -s /usr/src/linux-2.6.16ck12 linux

    然后进入这个目录:

    cd /usr/src/linux

[1]   

【责编:Zenghui】

--------------------next---------------------

阅读(398) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~