新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > linux內(nèi)核編譯步驟

linux內(nèi)核編譯步驟

作者: 時間:2006-12-11 來源:網(wǎng)絡 收藏

對于新手來說,編譯相對有一些難度,甚至不知道如何入手,現(xiàn)在我歸納了一下,寫出這一篇還算比較詳細的步驟,希望能對各位新手有一些幫助。

1、安裝

如果已經(jīng)安裝(/usr/src/目錄有l(wèi)inux子目錄),跳過,果沒有安裝,在光驅中放入linux安裝光盤,找到kernel-source-2.xx.xx.rpm文件(xx代表數(shù)字,表示內(nèi)核的版本號), 比如RedHatnbsplinux的RPMS目錄是/RedHat/RPMS/目錄,然后使用命令rpm -ivhnbspkernel-source-2.xx.xx.rpm安裝內(nèi)核如果沒有安裝盤,可以去各linux廠家站點或者www.kernel.org下載。

2、清除從前編譯內(nèi)核時殘留的.o 文件和不必要的關聯(lián)

cd /usr/src/linux
makenbspmrproper


3、配置內(nèi)核,修改相關參數(shù),請參考其他資料

在圖形界面下,makenbspxconfig;字符界面下,makenbspmenuconfig
在內(nèi)核配置菜單中正確設置個內(nèi)核選項,保存退出

4、正確設置關聯(lián)文件

makenbspdep

5、編譯內(nèi)核

對于大內(nèi)核(比如需要SCSI支持),makenbspbzImage
對于小內(nèi)核,makenbspzImage

6、編譯模塊

makenbspmodules

7、安裝模塊

makenbspmodules_install

8、使用新內(nèi)核

把/usr/src/linux/arch/i386/boot/目錄內(nèi)新生成的內(nèi)核文件bzImage/zImage拷貝到/boot目錄,然后修改/etc/lilo.conf文件,加一個啟動選項,使用新內(nèi)核bzImage/zImage啟動。格式如下:

boot=http://www.icembed.com/dev/hda
map=http://www.icembed.com/boot/map
install=http://www.icembed.com/boot/boot.b
prompt
timeout=50
linear
default=linux-new ### 告訴lilo缺省使用新內(nèi)核啟動linux ###
append=mem=256M

image=http://www.icembed.com/boot/vmlinuz-2.2.14-5.0
nbsplabel=linux
nbspread-only
nbsproot=http://www.icembed.com/dev/hda5

image=http://www.icembed.com/boot/bzImage(zImage)
nbsplabel=linux-new
nbspread-only
nbsproot=http://www.icembed.com/dev/hda5

保留舊有的啟動選項可以保證新內(nèi)核不能引導的情況,還可以進入linux進行其他操作。

保存退出后,不要忘記了最重要的一步,運行/sbin/lilo,使修改生效

9、重新生成ram磁盤

如果您的系統(tǒng)中的/etc/lilo.conf沒有使用了ram磁盤選項initrd,略過
如果您的系統(tǒng)中的/etc/lilo.conf使用了ram磁盤選項initrd,
使用mkinitrdnbspinitrd-內(nèi)核版本號 內(nèi)核版本號命令重新生成ram磁盤文件,例如我的Redhatnbsp6.2:
mkinitrdnbspinitrd-2.2.14-5.0nbsp2.2.14-5.0
之后把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件:
initrd=http://www.icembed.com/boot/initrd-2.2.14-5.0
ram磁盤能使系統(tǒng)性能盡可能的優(yōu)化,具體參考/usr/src/linux/document./initrd.txt文件

10、重新啟動,OK!

本文引用地址:http://2s4d.com/article/258274.htm


關鍵詞: 內(nèi)核 RAM

評論


相關推薦

技術專區(qū)

關閉