Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3015965
  • 博文数量: 535
  • 博客积分: 15788
  • 博客等级: 上将
  • 技术积分: 6507
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-07 09:11
文章分类

全部博文(535)

文章存档

2016年(1)

2015年(1)

2014年(10)

2013年(26)

2012年(43)

2011年(86)

2010年(76)

2009年(136)

2008年(97)

2007年(59)

分类: LINUX

2007-08-06 08:54:49

linux2.6.18.4内核成功编译

1) 需要的工具:

(1) 模块工具:module-init-tools-3.2.2.tar.gz
//lsmod: 查看已经加载的模块

(2) 源代码:linux-2.6.18.4.tar.gz

//显示内核版本: uname -r

2) 编译内核的基本步骤

(1) 主要用的编译命令:make menuconfig, make ,make modules_install, make install

(2) 基本安装: 安装模块、安装内核
---------------------------------------------------------------------------------------------------------------------------------------------
安装2.6内核的步骤
1 安装模块:

(1)将module-init-tools-3.2.2.tar.gz解压
//tar -xzvf module-init-tools.tar.gz

(2)进入到module-init-tools-3.2.2 文件夹中
//cd module-init-tools-3.0-pre1

(3)在module-init-tools-3.0-pre1 下编译
// ./configure --prefix=/modules然后执行make接着make install,到 这里模块编译完成
//注释:/modules是自己建立的文件夹,为了以后管理方便
当编译模块完成后在/modules文件下会有bin man sbin这3个文件夹

(4)开机自动加载模块编辑/etc/profile
//vi /etc/profile
(5)在/etc/profile文件中在export上面添加一行 PATH=/modules/bin:/modules/sbin:$PATH

(6)进入到模块的文件夹/modules进入到其中的sbin中执行一下命令
./generate-modprobe.conf /etc/modprobe.conf
//注释:generate-modprobe.conf在文件sbin中有这个执行命令
/etc/modprobe.conf是自己输入的,是规定的
(7)重新启动计算机,或着source /etc/profile让其本次操作有效

(8)现在开始编译内核将linux-2.6.18.4.tar.gz接压到/usr/src
//tar -xzvf linux-2.6.18.4.tar.gz -C /usr/src
(9)进入到linux-2.6.18.4文件夹中开始编译内核
(10)更改默认启动内核 /etc/grub.conf default=
2编译内核
  获得硬件信息 more /proc/cpuinfo
   Lspci
   Dmesg
  查看使用的内核模块 more /proc/modules
   lsmod
   mod info + 模块名

首先运行make menuconfig选择要编译的内容
//注释: M: 以模块形式加载

*: 直接编译进内核

空: 不做操作,不编译

//注释:使用SSH登陆时乱码问题:export LANG=en_US

//注释:如不是第一次进行内核编译需在linux-2.6.18.4文件夹下make mrproper




另:
如何获取当前内核的配置(.config 文件)
在 2.4 的时候,我经常碰到一个问题就是不小心把 .config 文件弄丢了,除非事先有备份,否则只能 make menuconfig 一个个重新选。
但在 2.6 就不同了,在 Gerneal Setup 部分有一个功能叫做 "Kernel .config support" :
一旦你选中它,就会出现 "Enabel access to .config through /proc/config.gz“ 

建议把这个选上。有了这个,上面的问题就迎刃而解了,方法有二 :
a)通过 scripts/extract_ikconfig 脚本从一个 bzImage 文件中提出出来。不过目前试了很多次,总是报下面的错误

CODE:
        [root@mail scripts]# ./extract-ikconfig  /boot/vmlinuz-2.6.20.1  
        cc: ./scripts/binoffset.c: No such file or directory
        cc: no input files
        [root@mail scripts]#
       
b)通过 /proc/config.gz 文件获取,这是最方便的方法之一。如下 :
gunzip /proc/config.gz -c > ./.config 





阅读(8441) | 评论(0) | 转发(0) |
0

上一篇:MPM--apache的工作模式

下一篇:Qmil简明配置

给主人留下些什么吧!~~