日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux Kbuild文档 1

發布時間:2023/12/10 linux 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux Kbuild文档 1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux內核配置方式1.1?概述

Linux內核源代碼組織了一個配置系統,該配置系統可以生成內核配置菜單,方便內核配置。配置系統主要包含Makefile、Kconfig和配置工具,可以生成配置界面。其中,配置界面是通過配置工具來生成的,配置工具通過Makefile編譯執行,配置界面中的選項則是通過各級的Kconfig(老版本也稱Config.in)和Makefile(老版本也稱Kbuild)文件定義。

Linux內核配置系統也被移植到其它軟件(如Busybox、glibc、uclibc等)中,來提供同樣的配置界面以方便有選擇性的配置。

1.2?內核配置工具

Linux內核配置命令主要有:make config、make menuconfig、make xconfig和make gconfig,分別是字符界面、ncurses光標菜單、QT圖形窗口和GTK圖形窗口的配置界面。字符界面配置方式需要回答每一個選項提示,逐個回答進行配置并不方便,而光標和圖形配置界面界面友好,方便實用。

make config是完全命令行的配置方式,make menuconfig依賴于ncurses庫,make xconfig依賴于QT圖形庫,make gconfig依賴于GTK圖形庫。

不同的內核配置方式,分別通過不同的配置工具來完成。scripts目錄下提供了各種內核配置工具,表1是這些工具的說明。

表1?內核配置工具說明

配置工具

Makefile相關目標

依賴的程序

conf

config defconfig oldconfig …

conf.c、zconf.tab.c

mconf

menuconfig

mconf.c、zconf.tab.c

qconf

xconfig

qconf.c、kconfig_load.c、zconf.tab.c

gconf

gconfig

gconf.c、kconfig_load.c、zconf.tab.c

其中zconf.tab.c程序實現了解析Kconfig文件和內核配置主要函數。Zconf.tab.c程序還直接包括了下列一些C程序,這樣各種配置功能都包含在zconf.tab.o目標文件中了。

其中,lex.zconf.c實現lex語法解析器,

util.c實現配置工具,

confdata.c實現.config等相關數據文件保存,

expr.c實現表達式函數,

symbol.c實現變量處理函數,

menu.c實現菜單控制函數。

1.3?內核配置方式

在頂層的Makefile中,可以查找到如下幾行定義的規則:

這就是生成內核配置界面的命令規則,它也定義了執行的目標和依賴的前提條件,還有要執行的命令。這條規則定義的目標為config %config,通配符%意味著可以包括config、menuconfig、xconfig、gconfig等。依賴的前提條件是scripts_basic outputmakefile,這些在Makefile中也是規則定義,主要用來編譯生成配置工具。這條規則執行的命令就是執行scripts/kconfig/Makefile制定的規則。

根據配置工具的不同,內核有不同的配置方式。有命令行方式,還有圖形界面方式。表2是各種內核配置方法的說明。

表2?內核配置方法的說明

配置方法

功能

config

通過命令行程序更新當前配置

menuconfig

通過菜單程序更新當前配置

xconfig

通過QT圖形界面更新當前配置

gconfig

通過GTK圖形界面更新當前配置

oldconfig

通過已經提供的.config文件更新當前配置

Randconfig

對所有的選項隨機配置

Defconfig

對所有的選項缺省配置

allmodconfig

對所有的選項盡可能選擇“m”

allyesconfig

對所有的選項盡可能選擇“y”

allnoconfig

對所有的選項盡可能選擇“n”的最小配置


這些內核配置方式是在scripts/kconfig/Makefile中通過規則定義的。從這個Makefile中,可以找到下面一些規則定義。如果把變量或者通配符帶進去,就可以明白要執行的操作。

這里的ARCH以arm為例來說明。

執行命令:scripts/kconfig/qconf arch/arm/Kconfig,使用QT圖形庫生成配置界面,arch/arm/Kconfig是菜單的主配置文件,每種配置方式都需要。

執行命令:scripts/kconfig/qconf arch/arm/Kconfig,使用GTK圖形庫生成配置界面。

執行命令:scripts/kconfig/mconf arch/arm/Kconfig,使用lxdialog工具,生成光標配置菜單。

執行命令:scripts/kconfig/conf (-o/s) arch/arm/Kconfig,完全命令行的內核配置方式。使用“-o”選項,直接讀取已經存在的.config文件,要求確定內核新的配置項。使用“-s”選項,直接讀取已經存在的.config文件,提示但不要求確認內核新的配置項。

通過上述各種方式都可以完成配置內核的工作,在頂層目錄下生成.config文件。這個.config文件保存大量的內核配置項,.config會自動轉換成include/linux/autoconf.h頭文件。在include/linux/config.h文件中,將包含使用include/linux/autoconf.h頭文件。

總結

以上是生活随笔為你收集整理的Linux Kbuild文档 1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。