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
阅读(8481) | 评论(0) | 转发(0) |