编译2.6.31 内核编译 以及 遇到的问题和错误

本文介绍了如何编译Linux内核2.6.31,包括从官网下载、解压、移至指定目录、执行`make menuconfig`进行配置,以及`make dep`, `make clean`, `make bzImage`, `make modules`, `make modules_install`, `make install`等编译步骤。在编译过程中遇到的错误,如`undefined reference`、`inlining failed`等问题,通过查找相关源代码并进行修改得以解决。编译完成后,更新GRUB配置,并解决了启动时的SELINUX和pty问题。" 135708413,9914285,Python编程:字典遍历与聚会回复模拟,"['Python', '算法', '开发语言']
摘要由CSDN通过智能技术生成

内核的编译流程

1.到官方网站下载内核

2、解压

#tar -jxvf linux-2.6.31.tar.bz2
然后移动解压后的文件到 /usr/src
#mv linux-2.6.31 /usr/src
#cd /usr/src/linux-2.6.31
如果怕之前已经有人编译过核心,会产生一些.o的目的档案,所以先执行:
#make mrproper
会显示RM去除档案的讯息
3、如果对同一版本内核编译,要修改一下:
#cd /lib/modules
#mv 2.4.18 2.4.18.old
4、设定编译模式:
make config :这种模式需要逐行输入所需要设定的项目,无法往前修改设定,所以目前很少使用这种方式来设定 Kernel 的项目了;
make xconfig :这种模式则是使用 X-Window 为主要环境的设定模式!除非你有 X-Window 在执行,否则没有办法使用这种模式;
make menuconfig :这种模式有点像是文字界面的选单模式,较为简便,而且可以在纯文字界面下面执行编辑动作!是目前最常使用的模式。

#make menuconfig :这里我默认 就是最下面的保存然后退出 由于本人菜蛋 不知道怎么设置 希望高手指点。

# make dep       

# make clean        <==将旧的资料去除掉!
# make bzImage       <==开始编译核心!这个核心是经过压缩的 (30分钟左右)
# make modules       <==开始编译模块!这个动作视您刚刚编译的模块数量!(1小时左右)
# make modules_install   <==将资料给他安装在 /lib/modules/`uname -r` 里面
# make install       <==将刚刚 bzImage 建立完成的核心给他安装上来! 别忘了这步第一次我忘了又重新编了一遍浪费了2个多小时
5、修改grub:
#vi /boot/grub/menu.lst
如果编译成功会自动添加 title Fedora (2.6.31)是我新内核 修改default 如果你要用第一个内核就改 default=0 第二个是 1 依次类推。。。
default=0
timeout=0
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.31)
root (hd0,0)
kernel /vmlinuz-2.6.31 ro root=UUID=b75809ed-8353-4679-bfe4-e5686f3d6b18 rhgb quiet
initrd /initrd-2.6.31.img

 

在内核编译过程中出现了一些错误,下面是引用的别人的错误处理方法

 

 

1. 下载内核后开始编译,开始按照网络上的步骤来编译,编译问题出现3个错误。

  引用:http://blog.chinaunix.net/u/12207/showart_2061214.html

 

错误提示1

drivers/built-in.o(.init.text+0x3bad): In function `con_init':

include/trace/events/kmem.h:47: undefined reference to `.L1452'

解决:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值