編譯內核-2.6

簡要步驟:
#make menuconfig後,選擇
Device Drivers --> SCSI device support --> SCSCI low-level drivers --> [M] Serial
ATA (SATA) support --> [M] Intel PIIX/ICH SATA support

#make
#make modules_insatll
#make install
 
(注:之前沒有選擇M] Serial ATA (SATA) support --> [M] Intel PIIX/ICH SATA support
的結果如下圖)
 
 
 
 

具體說明:
配置內核命令:
#make config (基於文本的最爲傳統的配置界面)
#make menuconfig (基於文本選單的配置界面)
#make xconfig (基於圖形窗口模式的配置界面)
#make oldconfig (如果只想在原來內核配置的基礎上修改一些小地方,會省去不少麻煩)
  進行配置時,大部分選項可以使用其缺省值,只有小部分需要根據用戶不同的需要選擇。
例如,如果需要內核支持DOS分區的文件系統,則要在文件系統部分選擇FAT或DOS系統支持;系
統如果配有網卡、PCMCIA卡等,需要在網絡配置中選擇相應卡的類型。
  選擇相應的配置時,有三種選擇,它們分別代表的含義如下:
  “Y”- 將該功能編譯進內核
  “N”- 不將該功能編譯進內核
  “M”- 將該功能編譯成可以在需要時動態插入到內核中的模塊。

如果選擇了可加載模塊,編譯完內核後,要對選擇的模塊進行編譯:
#make module (編譯選擇的模塊) (注:2.6的內核編譯時不需要這一步)
#make module-install (將編譯後的模塊轉移到系統標準位置)
模塊在系統中的標準目錄位於/lib/modules/x.y.z,後面的x.y.z是版本號,爲安全起見,在運
行#make modules-install之前最好對/lib/modules進行備份。模塊通常是帶有擴展名.o的文
件,使用命令#lsmod可以對當前內核的模塊進行列表。
 
將編譯好的新內核及System.map拷貝到系統目錄/boot下,或修改/boot下的兩個鏈接
System.map和vmlinuz,使其指向新內核的文件,例如
#cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz-2.4.7-10me 
#cp System.map /boot/System.map-2.4.7-10me
 
(注:上面的操作爲2.4的內核編譯,2.6的內核編譯是自動完成的 make modules以及自動#cp
/usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz-2.4.7-10me 
#cp System.map /boot/System.map-2.4.7-10me 最後還會自動更改menu.lst設置啓動新的內核
。如圖1-3)
 
  然後,用grub 管理啓動的,編輯/boot/grub/menu.lst文件,;用lilo 管理啓動,編輯系
統引導配置文件/etc/lilo.conf,仿照原有選項添入新內核選項,給它起一明顯好記的標籤
(label),記住此時最好保留原有內核以及相應的選項,這樣不用害怕升級失敗而機器啓動不
了,至少還可以使用舊的內核引導自己的計算機。保存編輯後退出,此時要記住運行命令:
#lilo,更新系統引導映象,這樣對lilo.conf的修改才能起作用。
重啓機器後,在LILO的提示符下按“Tab”鍵,則應該看到加入的新內核選項。
 
 
圖1  /boot/
圖2  /boot/grub/menu.lst
 
 
 
 
 
 
另附2.4內核編譯步驟(來自互聯網,沒驗證):
通常要運行的第一個命令是:
#cd /usr/src/linux;make mrproper
該命令確保源代碼目錄下沒有不正確的.o文件以及文件的互相依賴
配置   #make menuconfig
#make dep
#make clean
#make zImage
#make bzImage 或者 #make modules
#make modules_install
#depmod -a
(個人認爲還應該有一步 #make install, 時間有限不去做驗證了 )
更新
經過以上的步驟,我們終於得到了新版本的內核。爲了能夠使用新版本的內核,我們還需要做
一些改動:
#cp /usr/src/linux/System.map /boot/System.map-2.4.0test8
#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.4.0test8
以上這兩個文件是我們剛纔編譯時新生成的。下面修改/boot下的兩個鏈接System.map和
vmlinuz,使其指向新內核的文件:
#cd /boot;rm -f System.map vmlinuz
#ln -s vmlinuz-2.4.0test8 vmlinuz
#ln -s System.map-2.4.0test8 System.map
#shutdown -r now
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章