感谢支持
我们一直在努力

Suse内核编译升级配置相关知识

一、升级SUSE内核


1、查看当前系统内核版本


cat /proc/version


rpm -qf /boot/vmlinuz


2、备份原kernel的启动文件


cp /boot/vmlinuz /boot/vmlinuz.old


cp /boot/initrd /boot/initrd.old


3、安装新内核


rpm -Uvh new_kernel.rpm


二、降级Suse内核


rpm -Uvh –force old_kernel.rpm


三、Suse内核配置


当前内核结构存储在/proc/config.gz中,


1、要修改配置,需以root用户到/usr/src/linux*目录下执行:


zcat /proc/config.gz >.config


make oldconfig


make oldconfig命令以/usr/src/linux*/.config做为内核配置的临时模板,当前系统内核中所有新的选项都会被扫描。


如果没有使用.config,则默认使用当前内核源码配置


2、命令行下配置


make menuconfig


3、X-window下配置


make xconfig


四、内核模块


硬件发展速度太快,内核更新速度相对慢,使用新的硬件设备就需要使用驱动程序,让kernel认识这个新设备。

Linux中配置驱动有两种方式:


1、将驱动程序编译到内核中,这样编译出来在内核体积很大。


2、将驱动程序编译成一个模块,kernel在需要时再加载这个模块,这样编译出来的内核体积小,


在编译内核时,选择驱动程序是否编译到内核中。


在系统启动时,bios或者 boot loader.需要加载内核,所以,最好情况下是尽可能的减小内核大小,加快启动速度。


像ext2,SCSI驱动等一些小的驱动程序,适合编译到内核中;


而像声卡、msdos、isofs这些在系统启动时并不需要,可以做为模块来加载,不要编译到内核中,减小内核大小


内核模块位于/lib/modules/目录下


1、hwinfo命令可以打印出当前系统中的硬件信息


hwinfo –help


hwinfo –scsi 可以查看某一个模块的信息


2、模块相关的一些命令


insmod


从/lib/modules/及其子目录下查找模块,然后加载模块到kernel中。2.6之后尽量使用modprobe代替insmod命令


rmmod


卸载指定的模块。当某个模块不再需要时,可以从内核中卸载。


例如,isofs模块,只有在CD-ROM没有mount时才可以卸载


depmod


在/lib/modules/下创建一个modules.dep文件,详细说明了所有模块之间的附属关系。


当系统启动时,会自动创建这个文件


modprobe


加载、卸载一个指定的模块。


modprobe会检查/etc/modprobe.conf文件,加载模块


lsmod


查看当前系统中加载了那些模块,哪些模块使用了它们


modinfo


查看某个模块的信息


std:~ # modinfo ide_disk


filename: /lib/modules/2.6.16.21-0.8-default/kernel/drivers/ide/ide-disk.ko


description: ATA DISK Driver


alias: ide:*m-disk*


license: GPL


vermagic: 2.6.16.21-0.8-default 586 REGPARM gcc-4.1


supported: yes


depends: ide-core


srcversion: 83FCEE80754F82BEA4B03A0


3、/etc/modprobe.conf


系统启动时,会读取/etc/modprobe.con、/etc/modprobe.conf.local和/etc/modprobe.d目录,根据这些文件与目录相关内容加载模块


更详细信息查看man modprobe.conf


五、编译内核


将内核编译成一个”bzImage”


如果配置过程中,加载了过多的模块。造成内核过大,在编译过程中会报错


cd /usr/src/linux*


make clean


make bzImage


make clean


make vmlinux


上面命令也可以写成一行


make clean bzImage


make clean vmlinux


完成后,到/usr/src/linux/arch//boot下查找名称为vmlinux.gz的文件,这个是内核的压缩镜像


如果没有文件,说明编译过程不成功


make bzImage 2>&1 | tee kernel.out


make clean vmlinux 2>&1 | tee kernel.out

赞(0) 打赏
转载请注明出处:服务器评测 » Suse内核编译升级配置相关知识
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏