Linux的核心編譯,kernel

2021-09-01 18:57:52 字數 3006 閱讀 8696

linux的核心(kernel)

1 linux就是指kernel

2 kernel負責整個硬體的驅動,和提供各種核心功能

3 kernel是乙個檔案,一般放置在/boot/vmlinuz-$(uname -r)

此檔案包含各項硬體偵測程式和驅動模組

4 核心模組(kernel module),有些功能沒有整合在核心中,編譯成模組以便核心隨時載入

放置路徑/lib/modules/$(uname -r)/kernel/

5 核心的版本,主版本.次版本.發布版本-修改版本

7 建議將核心源**放置在/usr/src/kernels/下

核心源**編譯步驟

1 清除環境,第一次編譯用make mrproper,以後可以用make clean

2 選擇核心功能,make xxconfig,生成.config檔案,此步最複雜且重要

3 編譯核心,make bzimage

4 編譯模組,make modules

5 安裝模組,make modules_install

6 安裝核心,將核心檔案bzimage和核心功能列表檔案.config,移動並改名到/boot/路徑下

7 新建相應的initrd檔案,mkinitrd

8 編輯開機選單,設定grub

核心源**編譯命令

make mrproper

刪除以前的目標檔案,也刪除以前的核心功能選擇文件

只有第一此執行編譯前使用此命令

make clean

刪除以前編譯生成的目標檔案

make xxconfig

挑選核心功能,生成.config檔案,核心功能列表檔案

/boot/config-$(uname -r)就是已經設定完成的檔案

make vmlinux

生成未經壓縮的核心

make modules

生成僅核心模組

make bzimage

生成經過壓縮的核心(預設)

make all

進行make mlinux,make modules,make bzimage

make modules_install

將模組放置到/lib/modules/$(uname r)路徑下

mkinitrd

新建initrd檔案

make xxconfig挑選核心功能多種方法

make menuconfig

文字模式下顯示類似圖形介面,來選擇列表

make oldconfig

通過已存在的./.config,使用該檔案內的設定值為預設值

只將新版本核心內的新功能選項讓使用者選擇

make xconfig

通過qt圖形介面的圖形化顯示,需要x window支援

make gconfig

通過gtk圖形介面的圖形化顯示,需要x window支援

make config

每個專案一條一條的列出供使用者選擇

如果設定錯誤,只能再次從頭選擇,不常用

make xxconfig具體選項

general setup

一般性設定,可以設定核心的新版本

enable loadable module 

支援動態模組

enable the block layer

支援block裝置的功能

processor type and features

cpu型別與功能選擇

power management and acpi options

電源管理功能

bus options(pci etc.)

匯流排相關選項,支援pci和pci-e

executable file formats/emulations

編譯後執行檔案格式

networking support

核心網路功能,包括防火牆

device drivers

硬體裝置驅動

firmware drivers

韌體驅動

file system

檔案系統支援

kernel hacking

核心黑客,與核心開發者相關

security options

資訊保安方面設定

cryptographic api

加密api的設定

virtualization

虛擬化設定

library routines

函式庫設定

核心源**目錄

arch

與硬體平台相關,主要指cpu類別

block

與儲存媒介相關,主要指磁碟分割槽等

crypto

核心支援的加密技術

documentation

核心說明文件

drivers 

硬體驅動 

firmware 

韌體資料 

fs 核心所支援的檔案系統

include 

標頭檔案 

init 

核心初始化的定義功能 

ipc 

定義系統內各程式的溝通 

kernel 

定義核心的程式,核心狀態,執行緒,程式排程,程式訊號等

lib 

函式庫 

mm與記憶體單元相關的各項資料,包括swap與虛擬記憶體

net與網路相關的各項協議資料,防火牆模組等

security

與安全方面相關的設定

sound

與音效相關的各項模組

virt

與虛擬化相關的資訊

交叉編譯龍芯平台的uboot 和 kernel

export arch mips export cross compile mips64el linux 如果想指定編譯目錄 export build dir tmp build 或 make o tmp build make ls2k pai config makeexport arch mips...

Linux核心的編譯

linux的乙個重要的特點就是其源 的公開性,所有的核心源程式都可以在 usr src linux下找到,大部分應用軟體也都是遵循gpl而設計的,你都可以獲取相應的源程式 全世界任何乙個軟體工程師都可以將自己認為優秀的 加入到其中,由此引發的乙個明顯的好處就是linux修補漏洞的快速以及對最新軟體技...

linux核心的編譯

1 解壓縮 tar jxvf linux 2.6.22.6.tar.bz2 2 打補丁,patch 補丁檔案 具體打到那裡去的目標位址 在補丁檔案裡面有,查詢diff的地方 進入linux核心目錄,cd linux 2.6.22.6 patch p1 linux 2.6.22.6 jz2440.pa...