VMware linux 在2.4.20-8 中编译2.6.15.5 内核

上一篇 / 下一篇  2009-04-26 17:13:22 / 个人分类:Linux驱动

软件准备:

gcc-3.2.2-5.i386.rpm  :用来编译

ncurses-5.6.tar.gz:用来配合make menuconfig 命令配置内核

bison-2.4.tar.gz :语法解析器

flex-2.5.35.tar.bz2 :词法解析器

m4-1.4.9.tar.gz: 

 

modutils-2.4.26.tar.bz2 :http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/

module-init-tools-3.2.2.tar.bz2:  2.6配套工具包

http://www.kernel.org/pub/linux/utils/kernel/modutils/v2.4/

 

linux-2.6.15.5.tar.bz2 : 内核源码包

 

第一步:

    将上面所有软件都拷贝到虚拟机中(非/mnt下)

第二步:

    将内核源码包linux-2.6.15.5.tar.bz2 放入/usr/src目录中,并用 tar -jxvf linux-2.6.15.5.tar.bz2 将其解压

    ,然后用命令将linxu符号连接映射到linux-2.6.15.5 :ln -s  linux-2.6.15.5  linux

第三步:rpm -ivh gcc-3.2.2-5.i386.rpm 安装GCC

第三步:安装ncurses-5.6.tar.gz

           tar zxvf  ncurses-5.6.tar.gz   

           进入解压后目录 ./configure 

           make 

           make install  安装

第四步:安装bison-2.4.tar.gz

            ./configure --prefix=/usr
             make

             make check  :本软件包自带测试套件,能执行一些测试,以确定它是否编译正确

             make install

第五步:安装flex-2.5.35.tar.bz2

./configure --prefix=/usr &&
make &&
make install

一些程序并不知道flex而是试图寻找lex程序(事实上,flex是实现lex功能的另一种也是更好的选择)。为了满足少数一些程序的需要,我们将创建一个lex脚本,这个脚本调用flex并通过它来模仿lex的输出文件命名惯例。

通过下面的命令创建一个新文件 /usr/bin/lex : 

cat > /usr/bin/lex << "EOF"
#!/bin/sh
# Begin /usr/bin/lex

exec /usr/bin/flex -l "$@"

# End /usr/bin/lex
EOF
chmod 755 /usr/bin/lex

 

第六步:升级m4

首先要卸载原来的m4,然后再安装新的m4

 

./configure --prefix=/usr

             make

             make check  :本软件包自带测试套件,能执行一些测试,以确定它是否编译正确

             make install

 

第七步:安装modutils-2.4.26.tar.bz2 (如果原来安装了modutils 需要将其卸载:rpm -e --nodeps modutils)

(由于Linux2.6内核的内核模块处理过程有所改变,因此Linux2.4内核下的modutils工具包已不在适合Linux2.6内核).

 ./configure &&
make &&
make install

(参照:http://docs.huihoo.com/lfs/lfs-4.0/chapter06/modutils.html)

第八步:安装module-init-tools-3.2.2.tar.bz2

tar -jxvf module-init-tools-3.2.2.tar.bz2

./configure --prefix=/sbin

make

make install

./generate-modprobe.conf /etc/modprobe.conf

 

第九步:配置内核

make menuconfig

 

第十步:编译内核

make bzImage (生成使用gzip压缩的内核,生成的文件位于/usr/src/linux/arch/i386/boot目录)

make modules modules_install(编译内核模块并安装到/lib/modules/2.6.15.5目录)


TAG:

引用 删除 ObsidianShooter   /   2012-05-22 14:14:36
第四步: make check 出错

make[3]: *** [check-local] Error 1
make[3]: Leaving directory `/root/bison-2.4/tests'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/root/bison-2.4/tests'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/root/bison-2.4'
make: *** [check] Error 2

求解决
 

评分:0

我来说两句

Open Toolbar