為你詳解:Suse模塊的知識
本人很喜歡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模塊。
【編輯推薦】