linux內核配置與編譯相關流程1、清除臨時文件、中間文件和配置文件
make
clean
不刪除配置文件。
make
mrproper
make
distclean
刪除編輯的backup文件、補丁文件等2、確定目標系統的軟硬體配置情況,比如CPU的類型,網卡的型號,所需要支持的網路協議。3、使用命令配置內核
make
config
基於文本模式的交互配置。
make
menuconfig
基於文本模式的菜單配置。
make
oldconfig
使用已有的配置文件(.config),但是會詢問新增的配置選項。
make
xconfig
圖形化的配置(需要安裝圖形化系統)。4、編譯內核
make
zImage
make
bzImage
區別:在X86平台上,zImage只能用於小雨512k內核。如果需要獲取詳細編譯信息,則在後面加上V=1.
編譯好的內核位於arch/<cpu>/boot/目錄下。
5、編譯內核模塊
make
moes
6、安裝內核模塊
make
moes_install
將編譯好的內核模塊從內核源代碼目錄到/lib/moes下。7、製作
init
ramdisk
mkinitrd
$initrd-$version
-$version內核安裝(X86)1、cp
arch/X86/boot/bzImage
/boot/vmliuz
-$version2、cp
$initrd
/boot/3、修改etc/grub.conf
或
/etc/lilo.conf$version為所編譯的內核版本號。
⑵ linux安裝內核模塊問題
不知道...是否可引導?確認?
虛擬機中多換幾種linux
⑶ linux怎麼添加自己的內核模塊
不同發行版和不同版本的Linux略有不同,以CentOS7為例,需要在/etc/sysconfig/moles/目錄中增加一個腳本,在此腳本中載入所需的模塊。注意該腳本文件的許可權為755。
以uinput模塊為例,腳本如下:
#!/bin/sh
if [ ! -c /dev/input/uinput ] ; then
exec /sbin/modprobe uinput >/dev/null 2>&1
fi
⑷ 如何在Linux上安裝內核頭文件
當在編譯一個設備驅動模塊時,需要在系統中安裝內核頭文件。內核頭文件同樣在編譯與內核直接鏈接的用戶空間程序時需要。當在這些情況下安裝內核頭文件時,必須確保內核頭文件精確地與當前內核版本匹配(比如:3.13.0-24-generic)。
如果內核是發行版自帶的內核版本,或者使用默認的包管理器的基礎倉庫升級的(比如:apt-ger、aptitude或者yum),也可以使用包管理器來安裝內核頭文件。
另一方面,如果下載的是kernel源碼並且手動編譯的,可以使用make命令來安裝匹配的內核頭文件。
使用apt-get命令來安裝匹配的內核頭文件:
1、首先,使用dpkg-query命令檢查是否有可用的內核頭文件。
$ dpkg-query -s linux-headers-$(uname -r)
dpkg-query: package 'linux-headers-3.11.0-26-generic' is not installed and no information is available
2、接著使用下面的命令安裝匹配的內核頭文件。
$ sudo apt-get install linux-headers-$(uname -r)
3、驗證頭文件是否成功安裝。
$ dpkg-query -s linux-headers-$(uname -r)
Package: linux-headers-3.11.0-26-genericStatus: install ok installed
4、Debian、Ubuntu、Linux Mint默認頭文件在/usr/src下。
使用yum命令來安裝匹配的內核頭文件:
1、首先,用下面的命令檢查系統是否已經安裝了頭文件。如果下面的命令沒有任何輸出,這就意味著還沒有頭文件。
$ rpm -qa | grep kernel-headers-$(uname -r)
2、接著用yum命令安裝頭文件。這個命令會自動找出合適的頭文件並安裝。
$ sudo yum install kernel-headers
3、驗證包安裝的狀態。
$ rpm -qa | grep kernel-headers-$(uname -r)
kernel-headers-3.10.0-123.9.3.el7.x86_64
4、Fedora、CentOS 或者 RHEL上默認內核頭文件的位置是/usr/include/linux。
⑸ 如何給linux安裝新內核
清除垃圾(這一步:一般是在就內核重新編譯時使用,在編譯新的內核是不需要);
make clean及make mrproper;
進行內核裁減配置;
內核裁減配置的原則:
從實際出發。
如:根據支持的硬體設備來決定需要選擇的驅動模塊,根據需要選擇所支持的文件系統格式等;
具體配置命令為:
make config :通過命令介面,依次要求你設定每個選項,如果.config文件存在,會根據該文件來設置默認值;
make menuconfig :顯示以curses為基礎的、終端式的配置菜單。
make xconfig :圖形界面,顯示以Tk為基礎X Window配置菜單。
最常用的為:make menuconfig(註:需要ncurses的rpm包)。
說明:這一步中選擇為M模式的,編譯到/lib/moles/下相關目錄文件中;選擇為*模式的,編譯到內核中即/boot/vmlinuz中,啟動時載入到內核中。
具體內核裁減配置參閱其它資料。
第四步:生成依賴關系(make dep)
內核源碼樹中大多數文件都會與一些頭文件有依存關系,要想編譯內核順利,在正式編譯前必須讓內核源碼樹中的各個Makefile文件知道這些依存關系。
依存關系建立期間會在內核源碼樹中每個子目錄里產生一個隱藏的.depend文件,此文件內含子目錄里各個文件所依存的頭文件清單。
第五步:建立內核映像和模塊
2.4內核:make bzImage :在arch/YOUR_ARCH/boot/中生成在在zImage內核映像文件;
make moles :在相應目錄下生成內核模塊(即驅動模塊)
2.6內核:make :作用相當於make bzImage與make moles
第六步:安裝模塊(make moles_install)
讓make moles或make 過程中產生的.o驅動模塊拷入/lib/moles/下相應目錄中;
第七步:安裝內核
第一種情況:直接使用make install命令即可。
第二中情況:先採用cp arch/i386/boot/bzImage /boot/×××(×××表示自己隨意的命名)
mkinitrd /boot/×××.img 2.6.12.6(內核版本號)
⑹ 如何在LINUX內核中添加模塊
假設我們要在內核源代碼 drivers 目錄下如下用於 test driver 的樹型目錄:
|----test
|---- cpu
|---- cpu.c
|---- test.c
|---- test_client.c
|---- test_ioctl.c
|---- test_proc.c
|---- test_queue.c
在內核中增加目錄和子目錄,我們需為相應的新增目錄創建 Kconfig 和 Makefile 文件,而新增目錄的父目錄中的 Kconfig 和 Makefile 文件也需要修改,以便新增的 Kconfig 和 Makefile 文件能被引用.
在新增的 test 目錄下,應包含如下 Kconfig 文件:
#
# TEST driver configuration
#
menu "Test Driver " ...
⑺ 如何在LINUX內核中添加模塊--實驗環境READ HAT LINUX 5.0
櫚男問蕉�嬖冢�虼耍�莆照庖徽碌哪諶菔潛嘈慈魏衛嘈蛻璞蓋���匭氳摹T誥嚀宓納璞蓋���⒅校����嘁胛�諍四?橐燦瀉芮康墓こ桃庖澹�蛭�綣���誑�⒅械那��苯穎嘁餚肽諍耍���⒐�討謝岵歡閑薷那��拇�耄�蛐枰�歡系乇嘁肽諍瞬⒅仄裟諍耍��僑綣�嘁胛�?椋�蛑恍枰猺mmod並insmod即可,開發效率大為提高。下面說明如何添加、編譯並允許LINUX模塊。 LINUX的模塊主要由6部分組成: 1、模塊的載入函數(必須) 當通過insmod或modprobe命令載入內核模塊時,模塊的載入函數會自動被內核執行,完成本模塊的相關初始化工作。 2、模塊的卸載函數(必須) 當通過rmmod命令卸載某模塊時,模塊的卸載函數會自動被內核執行,完成與模塊載入函數相反的功能。 3、模塊許可證聲明 模塊許可證(LICENSE)聲明描述內核模塊的的許可許可權,如果不聲明LICENSE,模塊被載入時,將接到內核被污染的警告。 4、模塊參數(可選) 模塊參數是模塊被載入的時候可以被傳遞給它的值,它本身對應模塊內部的全局變數。 5、模塊導出符號(可選) 內核模塊可以導出符號(symbol,對應於函數或者是變數),這樣其他模塊就可以使用本模塊中的變數或者是函數。 6、模塊作者等信息聲明(可選
⑻ 如何給linux安裝新內核
第二步:清除垃圾(這一步:一般是在就內核重新編譯時使用,在編譯新的內核是不需要); make clean及make mrproper; 第三步:進行內核裁減配置; 內核裁減配置的原則: 從實際出發。 如:根據支持的硬體設備來決定需要選擇的驅動模塊,根據需要選擇所支持的文件系統格式等; 具體配置命令為: make config :通過命令介面,依次要求你設定每個選項,如果.config文件存在,會根據該文件來設置默認值; make menuconfig :顯示以curses為基礎的、終端式的配置菜單。 make xconfig :圖形界面,顯示以Tk為基礎X Window配置菜單。 最常用的為:make menuconfig(註:需要ncurses的rpm包)。 說明:這一步中選擇為M模式的,編譯到/lib/moles/下相關目錄文件中;選擇為*模式的,編譯到內核中即/boot/vmlinuz中,啟動時載入到內核中。 具體內核裁減配置參閱其它資料。 第四步:生成依賴關系(make dep) 內核源碼樹中大多數文件都會與一些頭文件有依存關系,要想編譯內核順利,在正式編譯前必須讓內核源碼樹中的各個Makefile文件知道這些依存關系。 依存關系建立期間會在內核源碼樹中每個子目錄里產生一個隱藏的.depend文件,此文件內含子目錄里各個文件所依存的頭文件清單。 第五步:建立內核映像和模塊 2.4內核:make bzImage :在arch/YOUR_ARCH/boot/中生成在在zImage內核映像文件; make moles :在相應目錄下生成內核模塊(即驅動模塊) 2.6內核:make :作用相當於make bzImage與make moles 第六步:安裝模塊(make moles_install) 讓make moles或make 過程中產生的.o驅動模塊拷入/lib/moles/下相應目錄中; 第七步:安裝內核 第一種情況:直接使用make install命令即可。 第二中情況:先採用cp arch/i386/boot/bzImage /boot/×××(×××表示自己隨意的命名) mkinitrd /boot/×××.img 2.6.12.6(內核版本號)