热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

当前位置 :| 主页>Linux教程>内核研究>

linux2.6内核编译

来源: 作者: 时间:2007-04-17 Tag: 点击:
 linux2.6内核成功编译
1) 需要的工具:
(1) 模块工具:modutils-2.4.21-23.src.rpm
//负责加载模块,在2.4之前是不需要单独编译
//模块存放位置:/lib/modules/内核版本目录/kernel/drivers
//lsmod: 查看已经加载的模块
(2) 源代码:linux-2.6.9.tar.gz
//选择需要编译的部分: 最新内核2.6.9 支持NTFS分区(只读)
//查看现有系统支持的文件系统: cat /proc/filesystems
//显示内核版本: uname -r
反引号: 当作命令执行 cd /lib/modules/`uname -r`
(3) 可以加上补丁:patch-2.6.9.gz
(2) 编译内核的基本步骤
(1) 主要用的编译命令: make make modules_install make install
(2) 基本安装: 安装模块、安装内核
------------------------------------------------------------------------------------------------------------------------------------------------
安装2.6内核的步骤
1 安装模块:(1)执行rpm命令将modutils-2.4.21-23.src.rpm
安装到/usr/src/redhat/SOURCES
//rpm -ivh modutils-2.4.21-23.src.rpm
//模块工具是RPM包安装后默认安装在/usr/src/redhat/SOURCES
(2)在SOURCIES中含有2个文件module-init-tools.tar.gz
modutils-2.4.21.tar.gz
将module-init-tools.tar.gz接压
//tar -xzvf module-init-tools.tar.gz
// modutils-2.4.21.tar.gz文件不是主要要用的,不用接压
(3)module-init-tools.tar.gz文件接压后会有一个
module-init-tools-3.0-pre1
(4)进入到module-init-tools-3.0-pre1 文件夹中
//cd module-init-tools-3.0-pre1
(5)在module-init-tools-3.0-pre1 下编译
//./configure --prefix=/modules然后执行make接着
make install到这模块编译完成
//注释:/modules是自己建立的文件夹,为了以后管理方便
当编译模块完成后在/modules文件下会有bin man sbin这3个文件夹
(6)开机自动加载模块编辑/etc/profile
//vi /etc/profile
(7)在/etc/profile文件中在添加 export上面一行 PATH=/modules/bin:/modules/sbin:$PATH
(8)进入到模块的文件夹/modules
进入到其中的sbin中执行一下命令
./generate_modprobe.conf /etc/modprobe.conf
//注释:generate_modprobe.conf在文件sbin中有这个执行命令
/etc/modprobe.conf是自己输入的,是规定的
//以上操作是为了规定init
(9)重新启动计算机,或着source /etc/profile让其本次操作有效
(10)现在开始编译内核将linux-2.6.9.tar.gz接压到/usr/src
//tar -xzvf linux-2.6.9.tar.gz -C /usr/src
(11)接压后在/usr/src会有 linux-2.6.9文件夹
(12)将 linux-2.6.9做一个连接文件
//创建链接文件: ln -s linux-2.6.9/ linux
//创建链接文件是为了方便管理
(13)进入到创建链接文件linux中开始编译内核
首先运行make menuconfig选择要编译的内容,默认也可以
//注释M: 以模块形式加载
*: 直接编译进内核
空: 不做操作,不编译
然后执行make
再后执行modules_install
最后执行make install
到此内核编译完成


相关文章:
精通initramfs构建step by step
Linux利用kexec迅速切换内核
进程上下文VS中断上下文
内核通知链 学习笔记
linux spi子系统驱动分析
menuconfig 配置选项
《Linux操作系统内核实习》之练习一
udev详解
什么叫微内核,宏内核?
Linux 信号signal处理机制
开发简单的 Linux2.6 内核模块
删除内核的perl脚本
Linux2.6内核usb gadget驱动移植
GCC hacks in the Linux kernel
iomem
kernel学习的想法
让自己的驱动支持udev
linux内核编译步骤
内核的等待队列
Linux内核wait_queue深入分析
升级和删除内核
SD卡驱动分析2
Linux Kernel VDSO本地权限提升漏洞
内核中的TCP的追踪分析-15-TCP(IPV4)的客户端与
linux 2.6内核可加载模块的编译
内核模块HelloWorld
在环回接口上发送一个数据报
ARP初始化
1分钟编译FreeBSD内核
linux设备模型之uart驱动架构分析