內核編譯步驟及模塊管理 設定內核引數的方法: echo VALUE > /proc/sys/TO/SOMEFILE sysctl -w kernel.hostname= 能立即生效,但無法永安有效, 永久有效需要修改組態檔/etc/syctl.conf 修改完組態檔不會理解生效,需要執行以下命令才能立即生效, sysctl -p 讓內核從讀組態檔 sysctl -a 顯示所有內核引數及其值 內核模塊管理 lsmod 查看內核加載的模塊 modprobe MOD_NAME 裝載某個內核模塊,只需要在modprobe后面接內核檔案名即可 modprobe -r MOD_NAME 卸載某個內核模塊,同樣只需要在modprobe后面接內核檔案名即可 modinfo MOD_NAME 查看某個內核模塊的詳細資訊 insmod /PATH/TO/MODULE_FILE 裝載某個內核模塊,與modprobe不同的用法,insmod后面接的是內核模塊的檔案路徑 rmmod MOD_NAME 卸載某個內核模塊,與modprobe -r 的用法相同,都是后面接內核模塊名 depmod /PATH/TO/MOD_DIR 內核中的功能除了核心功能之外,在編譯時,大多功能都又三種選擇: 1、不使用此功能 2、編譯成內核模塊 3、編譯進內核,也就是成為內核的組成部分 對于紅帽系列來講,一個系列的版本內核版本號是一至的, 例如 RHEL 5系列的內核版本號是2.6.18 5.1 、5.2 、5.5.,,,5.9的內核版本號都是2.6.18 RHCE 6(centos 6) 的內核版本號是2.6.32 6.1、6.2、6.3、6.5,,,6.10的內核版本號都是2.6.32 如何手工編譯內核 準備:需要安裝安裝Development tools開發工具 第一步下載內核檔案 第二步解壓內核檔案,需要解壓到/usr/src 第三步創建解壓出內核檔案的軟連接,需要命名為linux 第四步需要使用到內核編譯工具 make gconfig :GNOME桌面環境使用的,需要安裝圖形開發工具 GNOME Software Development 圖形配置工具 make kconfig : KDE桌面環境使用的,需要安裝KDE圖形開發工具 KDE Software Development 圖形配置工具 make menuconfig : 命令列下使用的 第五步進入linux目錄,打開make menuconfig 備注,建議可以先把/boot/config-VERSION檔案復制到/usr/src/linux目錄下,改名成.config,以此檔案為模版,來修改,以免出來編譯好內核啟動不了, 第六步make 第七步make modules_install這一步很重要,先去安裝內核模塊 第八步make insatll 最后一步安裝內核 二次編譯時清理 make clean 清理之前編譯好的二進制檔案 make mrproper 清理之前編譯的操作,包括.config檔案,所以在執行make mrproper 之前先備份之前配置的.config檔案 實作部分編譯 1、只編譯某個子目錄下的相關代碼 make dir/ make SUBDIR=arch/ make drivers/net/ 2、只編譯部分模塊 make M=drivers/net/ 3、只編譯某一模塊 make drivers/net/pcnet32.ko 4、將編譯完成的結果放置于別的目錄中 make o=/tmp/kernel
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/82012.html
標籤:Linux
上一篇:作業(行程)調度演算法
