1、安装内核
如果内核已经安装(/usr/src/目录有linux子目录),跳过。如果没有安装,在光驱中放入linux安装光盘,找到kernel-source-2.xx.xx.rpm文件(xx代表数字,表示内核的版本号),比如RedHat linux的RPMS目录是/RedHat/RPMS/目录,然后使用命令rpm -ivh kernel-source-2.xx.xx.rpm安装内核。如果没有安装盘,可以去各linux厂家站点或者www.kernel.org下载。
2、清除从前编译内核时残留的.o 文件和不必要的关联
cd /usr/src/linux
make mrproper
3、配置内核,修改相关参数,请参考其他资料
在图形界面下,make xconfig;字符界面下,make menuconfig。在内核配置菜单中正确设置个内核选项,保存退出
4、正确设置关联文件
make dep
5、编译内核
对于大内核(比如需要SCSI支持),make bzImage
对于小内核,make zImage
6、编译模块
make modules
7、安装模块
make modules_install
8、使用新内核
把/usr/src/linux/arch/i386/boot/目录内新生成的内核文件bzImage/zImage拷贝到/boot目录,然后修改/etc/lilo.conf文件,加一个启动选项,使用新内核bzImage/zImage启动。格式如下:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux-new### 告诉lilo缺省使用新内核启动linux ###
append="mem=256M"
image=/boot/vmlinuz-2.2.14-5.0
label=linux
read-only
root=/dev/hda5
image=/boot/bzImage(zImage)
label=linux-new
read-only
root=/dev/hda5
保留旧有的启动选项可以保证新内核不能引导的情况,还可以进入linux进行其他 *** 作。保存退出后,不要忘记了最重要的一步,运行/sbin/lilo,使修改生效。
9、重新生成ram磁盘
如果您的系统中的/etc/lilo.conf没有使用了ram磁盘选项initrd,略过。如果您的系统中的/etc/lilo.conf使用了ram磁盘选项initrd,使用mkinitrd initrd-内核版本号,内核版本号命令重新生成ram磁盘文件,例如我的Redhat 6.2:
mkinitrd initrd-2.2.14-5.0 2.2.14-5.0
之后把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件:
initrd=/boot/initrd-2.2.14-5.0
ram磁盘能使系统性能尽可能的优化,具体参考/usr/src/linux/Documents/initrd.txt文件
10、重新启动,OK!
1 查看CPU 1.1 查看CPU个数 # cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 2 **uniq命令:删除重复行wc –l命令:统计行数** 1.2 查看CPU核数 # cat /proc/cpuinfo | grep "cpu cores" | uniq cpu cores : 4 1.3 查看CPU型号 # cat ...Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.yr:目前发布的内核主版本。
x:偶数表示稳定版本;奇数表示开发中版本。
y:错误修补的次数。
内核版本号每位都代表什么 ?
以版本号为例: 2.6.9-5.ELsmp ,
r: 2 , 主版本号
x: 6 , 次版本号,表示稳定版本
y: 9 , 修订版本号 , 表示修改的次数
头两个数字合在一齐可以描述内核系列。如稳定版的2.6.0,它是2.6版内核系列。
5: 表示这个当前版本的第5次微调patch , 而ELsmp指出了当前内核是为ELsmp特别调校的
EL : Enterprise Linux ; smp : 表示支持多处理器 , 表示该内核版本支持多处理器
知识延伸
一般的有三种
1 smp
2 bigmem
3 一般的内核
Red Hat Linux开机的时候,GRUB的启动菜单会有两个选项,分别是
Red Hat Enterprise Linux ES (版本号.ELsmp)
Red Hat Enterprise Linux ES-up (版本号.EL)
这两个分别是代表什么含义呢?
其实这个就是系统开机时由GRUB引导启动 - 单处理器 与 对称多处理器启动核心文件的区别。
Red Hat Enterprise Linux ES (版本号.ELsmp) multiple processor (symmetric multiprocessing )
Red Hat Enterprise Linux ES-up (版本号.EL) uniprocessor
下面就把SUSE与Red Hat启动菜单内可选择的选项,列举出来
SUSE
版本号-default: SUSE Linux kernel for uniprocessor machines 默认选项,支持单处理器机器
版本号-smp: SUSE Linux kernel that supports symmetric multiprocessing and up to 4 GB of RAM
支持4GB内存的对称多处理器机器
版本号-bigsmp: SUSE Linux kernel supports symmetric multiprocessing and up to 64 GB
支持64GB内存的对称多处理器机器
Red Hat Linux
版本号.EL: Red Hat Linux kernel for uniprocessor machines 支持单处理器机器
版本号.ELhugemem: Red Hat Linux kernel that supports up to 64 GB of RAM
支持64GB内存的对称多处理器机器
版本号.ELsmp: Red Hat Linux kernel that supports symmetric multiprocessing 对称多处理器机器,支持4G内存
有些情况下你需要支持1和2特性,那么你可以:重新编译一下内核,在处理器及内存选择项上选择与你配置相对应的选项即可。
如何下载对应内核版本的源代码 ?
一般情况下,可以直接到官网:http://www.kernel.org下载,
缺点是:对于任何内核做过特殊优化调校的发行版是不合适的,尤其是fedora ubuntu 这一类的,毕竟他们在内核中打了大量的补丁,做了很多优化,如果直接使用官方源码 ,你就无法享受到这些东西 ,内核不是越新越好的 越合适越好
因此最好到发行商的官网去下载,因为官方已经提供了编译好的源码rpm包。
如何使用对应的内核源码包 ?
以fedora官方提供的内核源码: kernel-2.6.23.9-85.fc8.src.rpm 为例
首先,安装源码
[root@lq ~]# rpm -ivh kernel-2.6.23.9-85.fc8.src.rpm
然后,转换源码
转换之前,请确保/usr/src/目录下有redhat目录(一般/usr/src/是空目录)。
[root@lq ~]# rpmbuild -bp --target=$(uname -m) /usr/src/redhat/SPECS/kernel.spec
这样会将源码放置在/usr/src/redhat/BUILD/kernel-2.6.23/。
这里有两个有用的文件夹:.
linux-2.6.23.ARCH——这个是kernel.org 提供的包经过Fedora 补丁和升级得到的。也就是 2.6.23.9-85.fc8 这个 打过补丁的内核
ARCH 与uname-m 的输出结果一致,通常为i686。如果你想得到不同的输出,你可以使用
“--target=”这个选项来进行指定。
vanilla——这个是标准的、由kernel.org 提供的没有经过补丁和升级的源码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)