3 1Linux核心的配置和編譯

2021-06-28 00:55:26 字數 2674 閱讀 9472

linux核心的配置和編譯

之所以要對核心進行配置,這是很多都是硬體的需求,和軟體的需求。就是選擇自己需要的,去掉自己不要的。

配置核心的方法:

make config:基於文字模式的互動式配置。

make menuconfig:基於文字模式的選單型配置。

上面有兩種配置方法,但是make config是幾乎不用的。他是一問一答的配置方法。很費時間。所以,都是採用make menuconfig來配置核心的。

1.3核心配置結果

核心配置通常在乙個已有的配置檔案基礎上,通過修改得到新的配置檔案,linux核心提供的一系列可以供參考的核心配置檔案,位於arch/$cpu/configs.

核心編譯:

編譯核心。

編譯核心模組

製作ramdisk。

2.1編譯核心:

make zimage:

make bzimage:

區別:在x86平台,zimage只能用於小宇512k的核心。

如果需要瀏覽詳細的編譯資訊,可使用引數v=1。

即是:

make zimage v=1

make bzimage v=1

編譯好的核心位於arch//boot目錄下。

接下來是配置的簡單例項:

執行make menuconfig:

然後選擇倒數第二項load an alternate configuration file:

選擇我們準備好的配置檔案:(放在該linux原始碼的根目錄的):

然後保持退出。這樣,我們就完成了乙個配置檔案的匯入。接下來我們就可以在此基礎上進行修改,去掉我們不要的,加上我們想要的功能。最後,儲存修改退出。這樣就配置好了乙個核心。

然後執行make bzimage。進行核心編譯。

編譯好的核心檔案存放在/arch/x86/boot/。如上所顯示的。

2.2編譯核心模組

1.make modules.

2.make modules_install.

編譯核心模組。

將編譯好的核心模組,從核心源**目錄複製到/lib/modules下,為打包做準備。

接下來就是編譯核心模組:make modules。[m]表示的就是核心模組。

經過差不多乙個多鐘,核心模組編譯完成:

編譯完成的核心模組是散落在我們linux核心的各個資料夾裡的。所以我們需要把他們收集起來,打包。

在打包前我們先看一下/lib/modules目錄:

這是原來系統的。

接著我們執行:make modules_install這個命令:

開始安裝核心模組:

這其實不是在安裝,是在將散落的核心模組集中到我們的/lib/modules目錄下面。

完成之後,我們檢視一下/lib/modules目錄:

我們看到增加了乙個目錄:2.6.39.裡面就是我們編譯好的核心模組。

接下來就是將它打包:

命令:

最後在/boot/的目錄下會有:initrd.img-2.6.39:

接著將核心拷貝到該目錄:

最後就是修改/boot/grub.conf/grub.cfg增加剛才核心的啟動項。

儲存退出,重新啟動。

登陸時選擇從我們剛才製作的核心啟動。登陸後,使用uname -r 命令檢視核心的版本號:

這個就是我們剛才製作的核心。我們看見,所有的檔案資料都沒有變化。這是我們更換的只是執行在記憶體的核心,而執行在硬碟/flash的檔案系統沒有變化。

使用者空間的檔案系統:在硬碟/flash.

核心:執行在記憶體。

4.清理核心

1.make clean.

2.make distclean.

我們清理的就是在配置和編譯的時候產生的中間檔案。make clean是清除.o檔案,make distclean是清除所有生成的的中間檔案。

3 1 Linux核心的發展與演變

這一塊感覺知道一點常識就可以了 首先linux作業系統是一種類unix作業系統,作者是linus torvalds 至今不知道這個名字怎麼讀,linux 託瓦斯?linux五大支柱 1 unix作業系統 2 minix作業系統,也是unix的轉殖系統,linux剛開始就是參照minix系統的 3 g...

核心配置和編譯

三 config 四 之間聯絡 config kconfig makefile 之間的關係 1 linux核心原始碼的每個目錄下都有乙個makefile,由該 makefile 對源 的編譯 鏈結等操作進行控制。2 編譯完成後,每個源 目錄下都會生成乙個名叫 built in.o的檔案。這個檔案由每...

3 1 Linux中的檔案IO 1 2節

1 整個嵌入式linux核心課程包括5個點,按照學習順序依次是 裸機 c高階 uboot和系統移植 linux應用程式設計和網路程式設計 驅動。2 典型的嵌入式產品就是基於嵌入式linux作業系統來工作的。典型的嵌入式產品的研發過程就是 第一步讓linux系統在硬體上跑起來 系統移植工作 第二步基於...