为你详解:Suse模块的知识
创始人
2024-06-13 01:51:48
0

本人很喜欢Suse,在工作中也很喜欢总结关于Suse的经验教训,下面就这个问题来详细说说Suse模块。Suse模块的问题希望对你有所帮助。看完本文你肯定有不少收获,希望本文能教会你更多关于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

二、降级内核
rpm -Uvh --force old_kernel.rpm

三、内核配置
当前内核结构存储在/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

本文已经讲完了Suse模块,希望你已经熟悉了我所讲的Suse模块。

【编辑推荐】

  1. SUSE linux10.0下用vsftp建FTP
  2. 解决Suse SLES11 bond网卡的XEN网桥问题
  3. 怎样开启Suse ntp服务
  4. 学习技巧:Suse启动xdmcp
  5. 详解用SuSE Linux10安装Oracle数据库

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...