Linux 核心配置與編譯

2021-06-03 17:52:02 字數 1762 閱讀 8088

嵌入式系統的乙個很重要的特性就是可移植可裁剪配置。這篇博文主要簡單總結下在x86體系下配置編譯核心的過程。

取得原始碼後的步驟就是配置核心。使用make menuconfig命令,配置成功後儲存會在核心源**目錄下生成乙個.config檔案。這個檔案是隱藏的,需要用ls -a命令才可看到。配置選項比較多,可以參考網上的一些文件進行配置,也可以從核心原始碼中的/arch/x86/configs將裡面的配置檔案拷到源**目錄下,並重命名為.config,然後用make menuconfig命令根據自己計算機的情況進行修改。

如果你只是想熟悉下過程,在/boot目錄下有你當前執行的linux系統的配置檔案,你可以直接使用。

配置完核心後就可以開始編譯核心了:sudo make bzimage

大概20分鐘,出現以下字元說明編譯成功。

kernel:arch/x86/boot/bzimage is ready (#1)

核心映象在原始碼目錄下的arch/x86/boot/bzimage(如果是編譯arm體系對應在arch/arm/boot/bzimage)

將生成的核心檔案拷到/boot目錄下,重新命名為vmlinux-3.2.5(名字可以自己取)

sudo  cp bzimage /boot/vmlinux-3.2.5

將配置檔案.config拷到/boot資料夾

在原始碼目錄下編譯核心模組:

make  modules

這個過程比較長,耐心等待下。

安裝核心模組

make modules_install

這個命令的作用是將編譯好的核心模組從核心源**目錄copy

至/lib/modules下

製作initramdisk

mkinitrdinitrd-$version $version

例:mkinitrdinitrd-3.2.5 3.2.5

在ubuntu中沒有mkinitrd命令,使用

mkinitramfs -o /boot/initrd-3.2.5 3.2.5

生成initrd-3.2.5檔案後將其拷到/boot資料夾中。

注意:grub.cfg檔案預設是唯讀的,修改前需要修改許可權 在

###begin /etc/grub.d/10_lupin ###

後面的部分記錄著啟動選項的資訊。例如:

menuentry"ubuntu, linux 2.6.32-22-generic"

這是奶牛的

ubuntu

系統的第乙個啟動選項,第一行顯示的是

ubuntu

的名稱ubuntu,linux 2.6.32-22-generic

,引號內的內容可以任意修改,   

insmodntfs

是載入模組資訊,例如

insmodjpeg

可以新增

jpg支援,如要使用

png或

tga檔案做背景,加上

insmodpng

或insmodtga

,。setroot=』(hd0,5)』

這裡很關鍵,這裡是記錄系統從那個分割槽啟動,這裡的順序可能與你在

windows

下看到的順序有所不同,因為

windows

下系統分割槽順序是根據分割槽號來的,而分割槽號可以任意更改,而這裡是物理意義上的順序,你可以通過在終端中輸入

df命令檢視掛載分割槽資訊。這裡

hd0是指第一塊物理硬碟,順序也是從

0開始,後面的

5是指第

6個分割槽,順序也是從

0開始排。

linux核心配置與編譯

linux核心配置與編譯 1.清除臨時檔案 1.make clean 刪除產生的檔案,但儲存配置。2.make mrproper 刪除產生的檔案同時刪除配置 3.make distclean 刪除mrproper並且刪除補丁之類的。2 對確定的目標系統的軟硬體配置情況。比如cpu 網絡卡型號,所需支...

Linux核心配置與編譯

核心的配置和編譯大致涉及三類主要檔案 kconfig config makefile。它們之間的關係大致可用下圖描述 1.kconfig 詳細內容可參見kbuild kconfig language.txt 核心配置選項的原始檔。arch arch kconfig是主kconfig檔案,與具體體系結...

Linux核心配置與編譯

2 編譯核心 3 安裝核心 4 清理核心 嵌入式linux核心製作 1 硬體的需求 2 軟體的需求 make config 基於檔案模式的互動式配置 make menuconfig 基於文字模式的選單型配置 一般選項這種選單型直觀 簡單 高效,如下所示 中 隱藏在解壓後檔案目標下。config 在建...