2009年8月1日星期六

kernel安装

历时两个月,我亲爱的内核终于出炉了,这个可是原版的太阳炉。。。

Linux内核kernel和所有的操作系统一样提供了对计算机硬件的统一视图,是硬件一个更高的抽象层。为用户和用户空间程序提供如下特性:
1.进程
2.信号和旗语
3.虚拟内存(swapping,paging,mapping)
4.文件系统
5.基本输入输出
6.进程通信(管道和互联网)
kernel在系统启动是被载入到内存,启动里面我写了。

kernel.org 开发的kernel被称为vanilla内核。而各个版本的Linux都会有自己的kernel一般就是在vanilla kernel上面打一些补丁。一般vanilla kernel都不能很好的在其他发行版Linux上运行。不过听说debian是个例外。
安装:
1.先确定系统是否安装了必需的软件 rpmdevtools yum-utils,
su -c "yum install yum-utils rpmdevtools"
2.准备内核的编译环境
rpmdev-setuptree
3.用yum软件管理程序的可以输入命令
yumdownloader --source kernel
就可以在镜像源里面下到kernel-.src.rpm文件。
4.确定编译内核说需要的软件是否全部安装。
su -c "yum-builddep kernel-.src.rpm"
5.安装rpm包
rpm -Uvh kernel-.src.rpm
6.可以重新将rpm编译打包,但也可以直接安装二进制文件。我在rpmbuild出错了看不懂原因,就只好直接安装二进制文件了。
7.进入~/rpmbuild/BUILD/kernel-/linux-/
8.先配置make oldconfig || make defconfig || make menuconfig
8.使用root权限一口气 make && make modules && make modules_install install
9.Over,重启

P.S. 我第一遍安装成功的kernel不能用是因为配置时开启了PAE选项,所谓PAE就是Physical Address Extension,原来32位电脑只能装4 Giga的内存这个特性是扩充内存用的。intel Pentium Pro及以后的电脑除了我这个品牌Pentium M都支持PAE,这句话比较寒。。。
另外,其实如果只是开发Linux驱动,只要装个kernel-headers 和 kernel-devel包就可以了。

没有评论:

发表评论