歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Red hat Linux >> 創建紅帽Linux模組化的內核

創建紅帽Linux模組化的內核

日期:2017/2/27 9:51:15   编辑:Red hat Linux
只有紅帽子Linux/INTEL和LINUX/SPARC支持模組化內核;紅帽子LINIX/ALPHA的用戶必須建立一個單一的系統內核為獲得模組化內核所帶來的強大功能和可擴展性,下面將提供給您這方面的知識。我們這裡假設您已經安裝了核心的頭文件和源代碼,並假設所有的命令均在/usr/src/linux 目錄下執行。

重新建立一個核心需要將源代碼樹置於一種完整和一致的狀態。因此,我們推薦您首先執行命令make mrproper。它將清除目錄下所有配置文件和先前生成核心時產生的中間文件。現在,您需要創建一個配置文件以決定將要生成的核心要包括哪些內容。根據您的硬件和個人選擇不同有三種方法來配置核心。

make config 這是一個交互式的程序。由它來提供各種功能,由您自己回答 Y(要),N(不要),或則M(要,但不連入核心,而以模組話的形式包含)。

make menUConfig 這是一個彩色用戶界面,菜單驅動的程序。各種功能部件以菜單的形式分類列出,就象安裝紅帽子LINUX時一樣,您選擇需要包含的部件,也就是針對每個條目在 Y(要),N(不要),或者M(以模組的形式加入)的位置點選。

make xconfig 這是一個X視窗程序。功能部件分層列於菜單中,用鼠標來進行選擇,選擇方法同上。

請注意:為了能夠使用kerneld和核心模組,您必須在配置時對“kerneld support”和“module version(CONFIG_MODVERSIONS)support”選擇Yes.

請注意:如果您是在一台使用Intel兼容CPU芯片(例如由Cyrix, AMD生產的)的機器上建立核心,我們推薦您在“Processor type of”上選擇386。

如果您想使用先前按照以上方法創建的配置文件(/usr/src/linux/.config)來建立核心,那麼您就不要執行make mrproper 和 make config命令而直接執行makedep再接著執行 make clean為最後編譯來進行文件樹的配置。

下一步要講述源代碼的編譯,生成最終可以用以boot的核心。下面的方法將是在遇到不當時最易恢復的方法。如果您對其它的方法感興趣,可以在Kernel-HOWTO或/usr/src/linux目錄下的Makefile中找到詳細的信息。

用make boot命令建立核心 用make modules命令建立您配置的模組 將老的模組移到其它地方: rm -rf /lib/modules/2.0.29-old mv /lib/modules/2.0.29 /lib/modules/2.0.29-old當然,如果您已經升級了核心,將2.0.29替換為您正在使用的就行。安裝新模組(即便您沒有建立任何模組),使用命令? make modules_install.

如果您有一塊SCSI卡而且想以模組化的驅動程序訪問它,就要建立一個新的initrd映相文件。為了防止新建核心中可能出現的錯誤,應當准備一個冗余的內核以備。將一個核心包括在LILO的選單中十分簡單。您只需將/boot目錄下的原來的核心文件重新命名,把新生成的核心拷貝到/boot下,在/etc/lilo.conf中加入相應的幾行信息,再執行/sbin/lilo 就可以了。下面是隨紅帽子LINUX而帶的默認的/etc/lilo.conf:

boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=100 image=/boot/vmlinuz label=linux root=/dev/hda1 read-only現在您需要更新/etc/lilo.conf。如果您創建了新的initrd映相,就必須告訴LILO去使用它。在這個例子中我們在/etc/lilo.conf後面添加了四行以表示新增的可以boot的核心。我們將/boot/vmlinuz重新命名為/boot/vmlinuz.old並改變其標簽為old。 我們同樣也為新核心增加了initrd一行:

boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=100 image=/boot/vmlinuz label=linux initrd=/boot/initrd root=/dev/hda1 read-only image=/boot/vmlinuz.old label=old root=/dev/hda1 read-only現在,在系統boot時,當在LILO boot:您按下了[TAB]鍵,就會列出兩項選擇:

LILO boot: linux old如要boot新建的核心(linux)就直接敲[ENTER],或等到LILO超時。而如果您要boot 老的核心(old),就需鍵入old並回車。下面是一個簡單的總結:

mv /boot/vmlinuz /boot/vmlinuz.old cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz edit /etc/lilo.conf run /sbin/lilo 您現在可以用新創建的核心boot並注意觀察屏幕信息看您的硬件是否被檢測到。




Copyright © Linux教程網 All Rights Reserved