作者:政庆雅竹8 | 来源:互联网 | 2017-07-02 05:18
[i=s] 本帖最后由 chinalxuserysy 于 2011-4-4 22:33 编辑
在网上看到许多的关于内核编译的但是我还是看不懂,没办法就整了一本书来看。《linux内核技术手册》
看了照做后还真成功了梳理来分享一下。
我们一步一步来。
第一:下载内核代码不要告诉我你不知道,是在不知道那我告诉你那就是在这(http://www.kernel.org/pub/linux/kernel/)选择一个版本,建议不要下最早的,但是下一个比较早的我下了2.6.30。哦!我还下了补丁。
第二:审视自己的系统 主要是看看自己的系统里有没有必要的工具。
运行下列的命令:$gcc -v 版本要大于3.2(这一条可以忽略不计因为没那个发行版的gcc版本会低于4的)
$ld -v 版本大于2.12
$make -v 版本大于3.79.1
$fdformat -v 主要是用来控制磁盘的分区的创建和挂载,并操作系统的硬件时钟版本不低于2.10
$demod -v 这条命令是在确定系统中的module-init-tools包的版本这也是建立内核模块的必备条件。
$quota -v 如果你的系统要提供配额功能那就必须要查看一下版本不低于3.09。
其它的就没有必要了。
第三:处理内核源码 包括内核源码,补丁的放置
运行系列的命令:$mkdir ~/linux
$mv 源码所在的目录 ~/linux
$cd ~/linux
$tar zxvf linux-2.6.30.tar.gz || tar jxvf linux-2.6.30.tar.bz2
$mv 补丁文件所在目录 ~/linux
$bzip2 -dv patch文件
第四:应用补丁
运行下列命令:$cd linux-2.6.30
$head -n 5 Makefile
$patch -p1 <../pathch文件
$head -n 5 Makefile 这一条的输出应该和第二条的输出有所区别
第五:创建内核
创建内核一般就是那么几个make config(需要一个一个的自己来决定没水平的话还是不要弄),make menuconfig(推荐用),make gconfig,make xconfig,make deconfig(默认的配置模式)
$make menuconfig我这人比较懒就直接select保存吧(注:这是懒人同时也是蠢人才这样的极力反对这样搞)同时也可以在这时候加上架构模式如:$make ARCH=X86_64 menuconfig
$make -j4 数字的大小是决定于你的cpu是几核的规定是你n*2比如你的是四核那就是 -j8(这样可以加快编译的速度)很多篇文章都写道要创建软链接目的就是不破坏源码,但是我们就只要一个O=目录
就会把输出移到指定的目录处。例:make O=~/linux/OUT_linux
下面就等吧!
第六:安装内核
一般的发行版本都提供installkernel的脚本来安装内核文件
#make modules_install
#make install
查看grub的配置文件看有没有多出来一个启动项,如果成功的话那就重启试试自己的新内核吧。
文档中可能和你的系统存在很大的差别也许不会成功,但是可以试试,存在错误的地方麻烦大家指出。