時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
#uname -r 顯示內(nèi)核的版本號(hào)
一. 內(nèi)核編譯
1. 什么是內(nèi)核編譯
將內(nèi)核源碼轉(zhuǎn)換為目標(biāo)程序的過程稱之為內(nèi)核編譯,在編譯過程可以定制內(nèi)核的功能
2. 內(nèi)核編譯的理由
(1) 重新定制內(nèi)核功能
(2) 給內(nèi)核打補(bǔ)丁
(3) 安裝硬件驅(qū)動(dòng)程序
3. 編譯2.4內(nèi)核
(1) 完全編譯
-準(zhǔn)備工作
a. 獲取2.4內(nèi)核源碼
-從www.kernel.org下載或從安裝光盤中獲取
b. 安裝gcc等編譯工具
#rpm -ivh gcc-3.2.5-5.i386.rpm ncurses4-5.0-11.i386.rpm ncurses-devel-5.3-4.i386.rpm
-解壓縮內(nèi)核源碼
a. 如果從www.kernel.org下載的源碼,可用tar解壓
#tar -xzvf/-xjvf *.tar.*?? -C /usr/src
b. 如果從安裝光盤中獲取的源,可用rpm解壓
#rpm -ivh kernel-source-版本號(hào)...
-修改內(nèi)核版本號(hào)
#vi /usr/src/內(nèi)核源碼目錄/Makefile
VERSION=數(shù)字
PATCHLEVEL=數(shù)字
SUBLEVEL=數(shù)字
EXTRAVERSION=字符串
...............
注:如果要覆蓋當(dāng)前內(nèi)核將版本號(hào)修改成與當(dāng)前內(nèi)核一致
-定制內(nèi)核功能
#cd /usr/src/內(nèi)核源碼目錄
#make mrproper????? //清除上次編譯留下垃圾文件
#make clean?? //清除殘留文件
#make menuconfig??? //如果想在當(dāng)前內(nèi)核的基礎(chǔ)進(jìn)行配置,可復(fù)制/boot目錄的"config-內(nèi)核版本號(hào)"到內(nèi)核源碼目錄下,取名為.config\
#cp /boot/config-2.4.20-8 /usr/src/linux-2.4.20-8/.config
#make dep???? //產(chǎn)生依賴關(guān)系
-生成內(nèi)核文件
#make bzImage
-編譯和安裝內(nèi)核模塊
#make modules
#make modules_install(安裝到/lib/modules/..)
-安裝內(nèi)核
#make install(安裝到/boot)
(2) 編譯內(nèi)核部分模塊
-準(zhǔn)備工作
a. 獲取內(nèi)核源碼
b. 安裝gcc相關(guān)編譯工具
-解壓縮內(nèi)核源碼
.....
-修改版本號(hào)與當(dāng)前內(nèi)核一致
#cd /usr/src/內(nèi)核源碼解壓目錄
#vi Makefile
.......
........
-定制內(nèi)核功能
#make mrproper
#make clean
#cp /boot/config-版本號(hào) ./.config
#make menuconfig
#make dep
-編譯和安裝內(nèi)核模塊
#make modules SUBDIRS=路徑
#cp 源路徑/*.o?? /lib/modules/內(nèi)核版本號(hào)/kernel/....
#depmod -a
#p#副標(biāo)題#e#
4. 編譯2.6內(nèi)核(RHEL)
(1) 完全編譯2.6內(nèi)核
-準(zhǔn)備工作
a. 獲取內(nèi)核源碼(建議不用光盤中的源碼)
b. 安裝gcc相關(guān)編譯工具
-解壓縮內(nèi)核源碼
#tar -xzvf/-xjvf *.tar.gz/*.tar.bz -C /usr/src
-修改內(nèi)核版本號(hào)
#cd /usr/src/內(nèi)核源碼解壓縮目錄
#vi Makefile
...........
-定制內(nèi)核功能
#make mrproper
#make menuconfig
-編譯內(nèi)核及模塊
#make
-安裝內(nèi)核與模塊
#make modules_install
#make install
(2) 編譯內(nèi)核部分模塊
-準(zhǔn)備工作
a. 獲取內(nèi)核源碼(建議不用光盤中的源碼)
b. 安裝gcc相關(guān)編譯工具
-解壓縮內(nèi)核源碼
#tar -xzvf/-xjvf *.tar.gz/*.tar.bz -C /usr/src
-修改內(nèi)核版本號(hào)與當(dāng)前內(nèi)核一致
.......
-定制內(nèi)核功能
#make mrproper
#make menuconfig
-編譯內(nèi)核模塊
#make modules SUBDIRS=路徑
-安裝內(nèi)核模塊
#cp 源路徑/*.o /lib/modules/....
#depmod -a
注:-lsmod?? //查看當(dāng)前內(nèi)核已加載的模塊
-modprobe //加載模塊,且自動(dòng)解決依賴關(guān)系
-insmod //加載模塊,手工解決依賴關(guān)系
-rmmod?? //卸載模塊
-modinfo //查看指定模塊的信息
二. 安裝設(shè)備驅(qū)動(dòng)程序
1. 設(shè)備分類
(1) 塊設(shè)備
(2) 字符設(shè)備
(3) 管道設(shè)備
2. Linux設(shè)備管理層次
(1) 面向用戶---設(shè)備文件
(2) 面向設(shè)備---驅(qū)動(dòng)程序
注:mknod用于創(chuàng)建設(shè)備文件,格式為:mknod 設(shè)備文件名 類型 主設(shè)備號(hào) 從設(shè)備號(hào)
3. 驅(qū)動(dòng)程序的安裝
(1) 自動(dòng)安裝
如果所安裝的硬件驅(qū)動(dòng)是系統(tǒng)自帶的,則在安裝系統(tǒng)時(shí)或在啟動(dòng)系統(tǒng)時(shí)會(huì)自動(dòng)安裝驅(qū)動(dòng)
注:linux系統(tǒng)每次啟動(dòng)時(shí)都會(huì)啟動(dòng)kudzu服務(wù),利用該服務(wù)來檢測(cè)新硬件
(2) 手工安裝
-獲取硬件的驅(qū)動(dòng)程序
-解壓縮源碼包、并查看說明
-編譯
-安裝
-加載模塊
實(shí)例:安裝D-LINK 530TX網(wǎng)卡驅(qū)動(dòng)
#tar -xzvf 530tx.tar.gz
#cd 530tx
#make
#mkae install
#modprobe 530tx
關(guān)鍵詞標(biāo)簽:linux,內(nèi)核編譯,驅(qū)動(dòng)安
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載