基於Fedora Core 3的核心編譯的準備工作(轉)
基於Fedora Core 3的核心編譯的準備工作(轉)[@more@]由於需要用到intel的2200bg的minipci的wireless card,且官方提供的驅動只有基於linux2。6的,所以就不得不自己開始編譯linux2。6的核心。雖然Fedora Core 3用的是2.6的核心,但還是不能直接編譯,所以準備工作記錄如下:
個人感覺linux2。6是快了一些,但感覺最明顯的還是關機,呵呵,裁減後的關機那個快啊。
所以,還是希望大家趕快投入到2。6的世界來吧。
所用系統:Fedora3
1下載一份核心原始碼
2.安裝module-init-tools-3.0.tar.gz工具包。它會替代depmod [/sbin/depmod]和其他工具.
tar -zxvf module-init-tools-3.0.tar.gz
cd module-init-tools-3.0
./configure --prefix=/sbin
make
make install
./generate-modprobe.conf /etc/modprobe.conf #此步無回顯,需要耐心的等一會。上次就掛在這裡。
命令"make moveold"將把系統原來的modutils工具程式改名為"*.old"(比如,lsmod.old等等). NOTE! 這是非常重要的一步, 千萬不要省略. 這將使得你可以繼續使用原有的linux-2.4.x系統, 因為在2.4.x系統下, 新的module-init-tools工具包實際上是倚賴原來"*.old"程式來載入核心模組. 如果忘記了這一步也不要緊張, 可以先下載並安裝原來的modutils程式包, 然後按照上面的步驟重來一遍就可以了.
新的module-init-tools工具包不再使用原來的/etc/modules.conf配置檔案了, 而是使用新的配置檔案/etc/modprobe.conf. 因此必需用命令"./generate-modprobe.conf /etc/modprobe.conf"來生成新的配置檔案/etc/modprobe.conf.
3。安裝modutils-2.4.25-8.9.i386.rpm
# rpm -Uvih modutils-2.4.25-8.9.i386.rpm
對modutils進行升級。
4。安裝新核心:
將新核心copy到/usr/src下,
#tar xzvf linux-2.6.9.tar.gz -----解壓縮.
用ll檢視/usr/src/下是否存在名為linux的符號連結,有則刪掉該連結,這時是版本核心的符號連結.
#ln -s linux-2.6.9 linux ------建立linux-2.6.11的符號連結linux
5。設定核心.
# cd /usr/src/linux
# make mrproper -----刪除不必要的檔案和目錄
#make config(基於文字的最為傳統的配置介面,不推薦使用)
#make menuconfig(基於文字選單的配置介面,字元終端下推薦使用)
#make xconfig(基於圖形視窗模式的配置介面,Xwindow下推薦使用)
#make oldconfig(如果只想在原來核心配置的基礎上修改一些小地方,會省去不少麻煩)[我們以後要用這個]
配製好核心後, 就可以直接編譯了, "make dep"這一步已經顯示不需要了.
# make bzImage
# make modules
# make modules_install
# make install
上面的命令"make install"將: (
1)把壓縮核心映象複製到/boot目錄下, 並建立相應的System.map符號連結; (2)修改bootloader的配置檔案;
(3)呼叫mkinitrd程式建立核心的initrd映象. 對於GRUB而言, 將在/boot/grub/grub.conf配置檔案增加如下類似的配置行:
title Red Hat Linux (2.***)
root(hd0, 1)
kernel /boot/vmlinuz-2.*** ro root=LABEL=/
initrd /boot/initrd-2.***.img
可以檢視grub.conf看正確與否。
還可以:
#ll /boot/vmlinuxz*
可以看見新舊核心的生成時間,如果時間是正確的,那麼說明編譯核心的過程中的確生成了新的核心。
個人感覺linux2。6是快了一些,但感覺最明顯的還是關機,呵呵,裁減後的關機那個快啊。
所以,還是希望大家趕快投入到2。6的世界來吧。
所用系統:Fedora3
1下載一份核心原始碼
2.安裝module-init-tools-3.0.tar.gz工具包。它會替代depmod [/sbin/depmod]和其他工具.
tar -zxvf module-init-tools-3.0.tar.gz
cd module-init-tools-3.0
./configure --prefix=/sbin
make
make install
./generate-modprobe.conf /etc/modprobe.conf #此步無回顯,需要耐心的等一會。上次就掛在這裡。
命令"make moveold"將把系統原來的modutils工具程式改名為"*.old"(比如,lsmod.old等等). NOTE! 這是非常重要的一步, 千萬不要省略. 這將使得你可以繼續使用原有的linux-2.4.x系統, 因為在2.4.x系統下, 新的module-init-tools工具包實際上是倚賴原來"*.old"程式來載入核心模組. 如果忘記了這一步也不要緊張, 可以先下載並安裝原來的modutils程式包, 然後按照上面的步驟重來一遍就可以了.
新的module-init-tools工具包不再使用原來的/etc/modules.conf配置檔案了, 而是使用新的配置檔案/etc/modprobe.conf. 因此必需用命令"./generate-modprobe.conf /etc/modprobe.conf"來生成新的配置檔案/etc/modprobe.conf.
3。安裝modutils-2.4.25-8.9.i386.rpm
# rpm -Uvih modutils-2.4.25-8.9.i386.rpm
對modutils進行升級。
4。安裝新核心:
將新核心copy到/usr/src下,
#tar xzvf linux-2.6.9.tar.gz -----解壓縮.
用ll檢視/usr/src/下是否存在名為linux的符號連結,有則刪掉該連結,這時是版本核心的符號連結.
#ln -s linux-2.6.9 linux ------建立linux-2.6.11的符號連結linux
5。設定核心.
# cd /usr/src/linux
# make mrproper -----刪除不必要的檔案和目錄
#make config(基於文字的最為傳統的配置介面,不推薦使用)
#make menuconfig(基於文字選單的配置介面,字元終端下推薦使用)
#make xconfig(基於圖形視窗模式的配置介面,Xwindow下推薦使用)
#make oldconfig(如果只想在原來核心配置的基礎上修改一些小地方,會省去不少麻煩)[我們以後要用這個]
配製好核心後, 就可以直接編譯了, "make dep"這一步已經顯示不需要了.
# make bzImage
# make modules
# make modules_install
# make install
上面的命令"make install"將: (
1)把壓縮核心映象複製到/boot目錄下, 並建立相應的System.map符號連結; (2)修改bootloader的配置檔案;
(3)呼叫mkinitrd程式建立核心的initrd映象. 對於GRUB而言, 將在/boot/grub/grub.conf配置檔案增加如下類似的配置行:
title Red Hat Linux (2.***)
root(hd0, 1)
kernel /boot/vmlinuz-2.*** ro root=LABEL=/
initrd /boot/initrd-2.***.img
可以檢視grub.conf看正確與否。
還可以:
#ll /boot/vmlinuxz*
可以看見新舊核心的生成時間,如果時間是正確的,那麼說明編譯核心的過程中的確生成了新的核心。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-963155/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Ubuntu20.04linux核心(5.4.0版本)編譯準備與實現過程-編譯過程(2)UbuntuLinux編譯
- uboot-2012.04.01移植編譯前準備boot編譯
- 基於Xml 的IOC 容器-準備文件物件XML物件
- DOSBOX使用前的準備工作
- 使用 TypeScript 編寫 SAP UI5 應用的準備工作TypeScriptUI
- 【手摸手玩轉 OceanBase 174】恢復前準備準備工作有哪些?
- 為基於意圖的網路做準備
- 【譯】給小白準備的Web架構基礎知識Web架構
- ModelArts準備工作
- 1、Entity Framework Core 3.1入門教程-概述和準備工作Framework
- 基於後編譯的國際化解決方案編譯
- 基於.net standard 的動態編譯實現編譯
- A40i &T3 全原始碼編譯-ARM Linux核心在PC Linux的編譯方法原始碼編譯Linux
- Laravel 專案的起始工作與準備Laravel
- Go實戰準備工作---BeenGo的使用Go
- 小程式開發前的準備工作
- 我的大學——WWDC Scholarship & 準備工作
- 準備換工作的,抓緊補補。。
- Fedora 31 已經為 Python 3.8 做好了準備Python
- 學前準備工作
- gRPC by .net core 3.x——概念、語法、編譯RPC編譯
- nanoPI編譯核心的一些recordNaN編譯
- 食品app開發之前要做的準備工作APP
- kubebuilder實戰之一:準備工作kubebuilder實戰之一:準備工作UI
- hi3520d核心編譯編譯方法編譯
- 如何編譯 Linux 核心編譯Linux
- linux核心修改編譯Linux編譯
- (三)專案準備工作
- 基於Linux的MySQL5.7原始碼編譯安裝LinuxMySql原始碼編譯
- 基於準則匹配的影像對準
- 編譯安裝最新的Linux系統核心編譯Linux
- dotnet core如何編譯exe編譯
- 七個基於 Fedora Linux 的優秀髮行版Linux
- 不一樣的玩法兒:基於反編譯器的Frida支援編譯
- 除錯Go語言的核心轉儲(Core Dumps)除錯Go
- 面試前最應該做的準備工作面試
- python編譯備忘Python編譯
- Linux核心模組編譯Linux編譯
- [譯] Kotlin 標準方法備忘Kotlin