Linux 核心配置

2021-07-03 16:00:03 字數 2036 閱讀 6101

一 linux 核心配置 

(1)修改makefile新增自己的交叉開發工具鏈 

#arch

?= $(subarch)

#cross_compile

?=#cross_compile

?= $(config_cross_compile:"%"=%)

#新增的自己的平台和開發工具鏈

arch = arm

cross_compile = arm-cortex_a8-linux-gnueabi-

(2)新增配置檔案

第一種方法:

[1]將平台預設的配置檔案拷貝到linux核心的頂層目錄,命名為.config 

例如:cp arch/arm/configs/s5pc100_defconfig .config

[2]通過make menuconfig命令配置一下核心

第二種方法:

[1]make  預設配置檔案

例如:make s5pc100_defconfig

注意:通過make menuconfig需要確認:

[1]當前平台的是否正確

[2]是通過那個串列埠輸出資訊

[3]需要配置的裝置驅動和服務

(3)make 編譯核心 

頂層目錄:vmlinux       elf格式的linux核心

arch/arm/boot/image    去掉elf頭和符號資訊之後的linux核心

arch/arm/boot/zimage   通過gzip壓縮後,新增了自解壓**之後的linux核心

arch/arm/boot/compressed/vmlinux 通過gzip壓縮後,新增了自解壓**之後的linux核心(elf格式)

二 kconfig和makefile 

1.makefile : 完成對檔案編譯

基本語法

[1]obj-y += dir/ 或 obj-y += file

表示對應目錄需要編譯進核心或指定的檔案需要編譯進核心

[2]obj-config_*** += dir/ 或 obj-config_*** += file

表示對應目錄或檔案是否需要編譯進核心,取決於config_***巨集的定義

2.kconfig : 提供核心的配置選單選項

配置選項

config 選項名

屬性1屬性2 

[1]選項名 

config hello

展現的形式:config_hello,在.config檔案中定義 

[2]屬性 

(1)選擇型別

<1>tristate   y:編譯進核心  m:編譯成模組  n:不編譯 

<2>bool       y:編譯進核心  n:不編譯 

<3>string     config_選項名="字串"

<4>int        config_選項名=整數 

<5>hex        config_選項名=十六進製制數

(2)提示字串

prompt "提示字串"

(3)range  指定值的範圍

(4)help   幫助資訊

help 

"test help ..."

(5)default  當沒有進行配置的時候,預設的選擇是什麼

例如:config hello 

tristate 

prompt "hello support"

default y 

(6)depends on  配置選項名 

[1]depends on 配置選項名 

[2]depends on 配置選項名1 || 配置選項名2 

[3]depends on 配置選項名1 && 配置選項名3

y:2  m:1  n:0

&& -> 最小值

|| -> 最大值

注意:如果依賴的結果為0:不可見,2:三態,1:2態

(7)select  配置選項名

當前配置選項被選中的時候,同時選擇select 指定的配置型選項

注意:(1)和(2)必須有,其它可選擇

Linux核心配置 定製配置選項

很多嵌入式開發人員都需要在linux核心中新增一些特性,以支援特別的定製硬體。arm架構的頂層kconfig檔案中,可以看到乙個名為system type的選單項。在arm system type提示後有一系列與arm架構相關的選擇項。source arch arm mach s3c2440 kco...

Linux 核心配置與編譯

嵌入式系統的乙個很重要的特性就是可移植可裁剪配置。這篇博文主要簡單總結下在x86體系下配置編譯核心的過程。取得原始碼後的步驟就是配置核心。使用make menuconfig命令,配置成功後儲存會在核心源 目錄下生成乙個.config檔案。這個檔案是隱藏的,需要用ls a命令才可看到。配置選項比較多,...

linux核心配置與編譯

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