Linux核心原始碼包的安裝及編譯zz

2021-08-25 09:33:34 字數 2130 閱讀 6745

q:安裝某些需要核心原始碼的軟體時,為什麼我已經將核心原始碼裝在了/usr/src/linux下,仍然提示找不到核心原始碼?

a:因為這些軟體configure會通過檢測/usr/src/linux/include/linux/version.h是否存在,以判斷是否以安裝

核心原始碼,而如果只將核心原始碼包解壓,並不存在version.h這個檔案,所以需要做如下步驟:

在核心原始碼目錄下(/usr/src/linux)

1)make include/linux/version.h 生成version.h檔案

cd /usr/src 進入/usr/src目錄中,將原始碼包放置在這裡。

tar jxvf linux-2.6.9.tar.bz2 解壓原始碼包,會生成linux-2.6.9目錄

ln -s /usr/src/linux-2.6.9 /usr/src/linux 編譯核心建議做個軟鏈結。

並且要確保/lib/modules/2.6.9/下的build,source目錄

正確指向/usr/src/linux-2.6.9的:

#ls -l /lib/modules/2.6.9

lrwxrwxrwx 1 root root 21 2005-02-08 20:28 build -> /usr/src/linux-2.6.9/

drwxr-xr-x 9 root root 216 2005-02-08 20:28 kernel/

-rw-r–r– 1 root root 3408 2005-02-09 13:26 modules.alias

-rw-r–r– 1 root root 69 2005-02-09 13:26 modules.ccwmap

-rw-r–r– 1 root root 7503 2005-02-09 13:26 modules.dep

-rw-r–r– 1 root root 73 2005-02-09 13:26 modules.ieee1394map

-rw-r–r– 1 root root 205 2005-02-09 13:26 modules.inputmap

-rw-r–r– 1 root root 81 2005-02-09 13:26 modules.isapnpmap

-rw-r–r– 1 root root 4649 2005-02-09 13:26 modules.pcimap

-rw-r–r– 1 root root 13519 2005-02-09 13:26 modules.symbols

-rw-r–r– 1 root root 189 2005-02-09 13:26 modules.usbmap

lrwxrwxrwx 1 root root 21 2005-02-08 20:28 source -> /usr/src/linux-2.6.9/

做完這些,我去安裝nvidia驅動,結果編譯時出錯。

將核心原始碼編譯一次,不安裝,就可以正常編譯了

2.4.x核心不知是否如此,如果編譯nvidia過程中出現錯誤,就先編譯一下核心

方法很簡單:

從/boot目錄下複製config-2.6.10到/usr/src/linux下

命名為.config

對於2.6.x核心使用下列命令編譯:

cd /usr/src/linux 進入原始碼目錄

make 編譯核心及模組

注意:不要去make install 只要編譯就可以了。

2.4.x使用下列命令編譯核心,同樣,只編譯不安裝。

cd /usr/src/linux

make dep 建立依賴關係(不知道是否有必要,做下沒壞處)

make bzimage 編譯核心

make modules 編譯模組

通常發行版中/boot中應該有當前核心的配置檔案,如上面的config-2.6.9

如果沒有的話,可以通過下列命令建立出.config

# cd /usr/src/linux

#make menuconfig 字元介面配置核心

#make xconfig 圖形介面配置核心

或者直接使用預設值,儲存退出即可。這樣編譯時間會長一些。

make menuconfig: 假如是在圖形介面中的終端執行,要保證

該終端視窗為全屏,才不會出錯。

編譯完成後,就可以安裝nvidia驅動了。

Linux 原始碼包的安裝

安裝原始碼包,需要我們把源 編譯成可執行的二進位制檔案。原始碼包的編譯用到了linux系統裡的編譯器。常見的原始碼包一般都是用c語言開發的,因為c語言是linux上最標準的程式語言。linux上的c語言編譯器稱為gcc,利用它可以把c語言編譯成可執行的二進位制檔案。所以,如果機器上沒有安裝gcc,就...

linux 原始碼包安裝gcc

首先在配置gcc的過程中會出現錯誤 gcc configure error building gcc requires gmp 4.2 mpfr 2.3.1 and mpc 0.8.0 先開始安裝gmp。解壓gmp的壓縮包後,得到源 目錄gmp 4.3.2。在該目錄的同級目錄下建立乙個臨時的編譯目錄...

Linux 原始碼包安裝軟體

在linux bsd系統中,軟體包主要以兩種形式出現 二進位製包以及源 包。之前一直說的rpm包就是屬於二進位製包,也就是已經編譯好的軟體包.這裡說源 包則主要適用於自由軟體的安裝,使用者需要自己編譯它們。一般是我們手動指定安裝在 usr local下,相當於windows下是program fil...