虚拟机下编译安装linux-3.12.3内核

原内核版本:linux-2.6.18-53.el5

gcc版本:4.1.2

www.kernel.org下载源码linux-3.12.3.tar.xz到共享文件夹,由于虚拟机没有xz解压工具,下载xz-5.0.3.tar.bz2

——# tar -xf xz-5.0.3.tar.bz2

——# cd xz-5.03

——# ./configure                                         //检查编译环境,选择相应编译安装配置,生成Makefile

——# make

——# make install

——# xz -d linux-3.12.3.tar.xz                   

——# tar -xf linux-3.12.3.tar

ps:

创建tar.xz文件方法:先tar -cvf xxx.tar xxx/  ,创建xxx.tar文件,然后用xz -z xxx.tar将原压缩文件重压缩为xxx.tar.xz

解压tar.xz文件方法:先tar -d xxx.tar.xz ,生成xxx.tar文件,然后tar解压生成的.tar文件


——# cd linux-3.12.3

——# make distclean

——# make menuconfig

第一次运行时报错:'make menuconfig' requires ncurses libraries. 下载安装ncurses-5.4.tar.gz

第二次运行时报错:your display is too small to run Menuconfig! It must be at least 19 lines by 80 colums.原因是terminal界面太小,

在System -> Preferences -> Screen Resolution将分辨率调大就可以了

第三次运行时成功,由于原红帽系统是32位,所以将[*]64-bit kernel excluded,其他配置没改,直接保存,退出

——# make bzImage

——# make modules

第一次运行时出错:fs/gfs2/rgrp.c:In function 'try_rgrp_unlink':

                                    fs/gfs2/rgrp.c:1648:编译器内部错误,段错误.

将1648行注释掉,结构体定以后,分别赋值:struct gfs2_rbm rbm;

                                                                                  rbm.rgd = rgd;

                                                                                  rbm.bi = rgd ->rd_bits;

                                                                                  rbm.offset = 0;                     //保存退出,编译成功

——# make modules_install              //目的:将编译好的内核模块从内核源代码目录copy到/lib/modules下

——# mkinitrd initrd-3.12.3 3.12.3     //制作初始化磁盘,initrd是一个被压缩过的小型根目录,这个目录中包含了启动阶段中必须的驱动模块,可执行文件和启动脚本。

——# cp arch/x86/boot/bzImage /boot/vmlinuz-3.12.3

——# cp initrd-3.12.3 /boot/

——#  vi /etc/grub.conf

复制最后四行,并粘贴到文件末尾,修改title kernel initrd 保存退出。

——# reboot                                          //在加载系统界面按任意键,可以看到新添加的系统,但是运行的时候出错
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值