编译Linux内核
来源:互联网 发布:nginx php exec java 编辑:程序博客网 时间:2024/06/06 02:19
在源代码的目录下,有一个配置文件,.config文件,可以使用默认的,也可以使用
命令清除,然后重新配置内文配置文件,把/boot/下的配置文件拿来修改使用,或者在源代码下/arch/平台下
选择相应的配置文件,然后再这个基础上来配置自己的内核
1、make distclean 清除一些临时文件,也可以使用make clean和make mrproper
distclean是彻底的清除,就是清除的更彻底,其次是mrproper
2、make menuconfig 当然还有make config命令menuconfig是基于图形界面的配置
使用起来更方便
在配置里面选择CPU、文件系统、硬件模块等 内核的配置选项可以另外参考
配置项前面的选项,通过空格键选择为M和*或者 空 的不同
选择为M A.C会变成A.O ,源代码会有编译的阶段,但是不在向下连接,形成了模块文件
选择为* A.C会变成A.O 在生成A.O后还会继续连接等,最后形成zImag,e
选择为 空 A.C不会发生变化,源代码没有编译的阶段
在/boot目录下的config-2.6.18...文件时当前运行的系统的配置文件,我们可以参考
改文件来编译内核
当然内核源代码中也有配置参考文件,在arch/下相应的体系结构下面,我们可以看到config文件
我们可以拷贝他们到源代码目录下,然后参考配置
3、编译内核模块 make modules
编译完模块后,安装内核make modules_install,其实它的作用是把内核模块从内核源代码目录
copy到/lib/modules/下
4、制作init ramdisk
命令 makeinitrd initrd-2.6.18 2.6.18(后面的版本号根据具体自己内核的版本情况来写,是哪个版本的内核,就写那个)
完了后会在当前目录下生成initrd-2.6.18文件,这个就是ramdisk文件
5、安装内核版本
(1)把内核拷贝到/boot/目录下,
(2)把ramdisk文件拷贝到/boot目录下
(3)修改/etc/grub.conf文件,复制grub.conf文件最后几行,然后拷贝到最后几行
然后根据实际情况修改 title后面的信息,kenerl /***ro root=/....只能修改**中的位置
重启,我们发现grub下多了一个选择,第二个选择就是我们刚编译过的内核
只是不明白自己编译的新内核,为什么模块要copy到旧的文件系统/lib/module下?
- Linux内核:编译内核
- 【LINUX内核】LINUX内核编译
- Android编译 & Linux内核编译
- linux内核编译kernel编译
- Linux编译内核详解
- Linux编译内核详解
- linux内核编译
- 菜鸟编译Linux内核
- linux内核编译详解
- LINUX内核编译(ZT)
- Linux 内核编译 全功略
- 第一次编译linux内核
- linux内核编译步骤
- Linux内核编译步骤
- Linux 内核编译详解
- Linux内核编译详解
- Linux内核编译
- linux内核编译
- 使用输出参数返回值:在存储过程中使用参数
- public,private,protected
- #pragma 预处理指令详解
- 将dll注册到GAC的简单图解教程
- 【转载】刷百度空间访问量、极速提升访问数、有图、有软件、下载
- 编译Linux内核
- 整合SSH2出错
- Hyperion 11.1.2最新版
- AIX初级使用--vi 命令
- Base64编解码代码(CXImage 类处理)
- 领域驱动设计
- 士兵突击和如何在程序里面找最弱智的错误
- 数据结构复习要点
- 【网络搜集】JS在文本框光标处插入文字内容的实例