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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux内核裁剪及编译

發(fā)布時(shí)間:2025/4/14 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux内核裁剪及编译 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Linux內(nèi)核裁剪及編譯可加載模塊

一 Linux基礎(chǔ)知識

?

linux內(nèi)核組要由五個(gè)子系統(tǒng)組成:

進(jìn)程調(diào)度
內(nèi)存管理
文件系統(tǒng)
網(wǎng)絡(luò)接口
進(jìn)程間通信

Linux源碼目錄
arch?? ?目錄中包含于體系結(jié)構(gòu)有關(guān)的子目錄和文件,arm的相關(guān)平臺信息在arch/arm目錄下。
scripts?? ?目錄中存放著對核心配置的腳本文件。
crypto?? ?目錄中包含著常見的加密算法。
drivers?? ?目錄包含各種各樣的驅(qū)動(dòng),包括字符型,快型,網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序。
fs?? ?目錄中包括了linux系統(tǒng)所支持的文件系統(tǒng)類型,比如ext4 nfs
init?? ?目錄中存放著與linux內(nèi)核相關(guān)的啟動(dòng)代碼。
kernel?? ?目錄中包含許多l(xiāng)inux進(jìn)程調(diào)度子系統(tǒng)相關(guān)的源代碼。
lib?? ?目錄存放linux內(nèi)核所用的庫文件。
mm?? ?目錄存放linux內(nèi)存管理的源代碼。
net?? ?目錄存放有關(guān)網(wǎng)絡(luò)協(xié)議的源代碼。

?

二 Linux源碼編譯

?

1 在編譯之前首先使用make clean, make distclean清除原編譯和配置文件

2 找到運(yùn)行平臺(arm)下面的配置文件拷貝到源碼目錄一命名為 .config,.config文件是在進(jìn)行內(nèi)核配置的時(shí)候,經(jīng)過配置后生成的內(nèi)核編譯參考文件,命令如下cp arch/arm/configs/exynos4_defconfig .config

3 拷貝完成之后就可以運(yùn)行make命令,這個(gè)過程要等很久.

4 編譯完成之后就會(huì)在arch/armboot目錄下生成zImage,生成的這個(gè)文件就是linux鏡像,之后我們就可以使用linux的鏡像文件了.

三 Linux內(nèi)核裁剪

? ? 以上編譯的是沒有裁剪過linux源碼,如果我們不想使用源碼里面的部分功能,我們就可以通過裁剪的方式阻止它編譯:
? ? 在linux源碼包中我們可以使用make menuconfig,圖形化界面很容易操作;如果不想使用它的某些功能,取消前面*即可,按空格鍵來控制選擇. 就可以進(jìn)行l(wèi)inux源碼的裁剪. 選擇完成之后就可以保存退出,執(zhí)行make.

四 編譯可加載模塊


? ? 內(nèi)核模塊是Linux內(nèi)核向外部提供的一個(gè)插口,其全稱為動(dòng)態(tài)可加載內(nèi)核模塊(Loadable Kernel Module,LKM), 我們簡稱為模塊,模塊是具有獨(dú)立功能的程序,它可以被單獨(dú)編譯,但不能獨(dú)立運(yùn)行。它在運(yùn)行時(shí)被鏈接到內(nèi)核作為內(nèi)核的一部分在內(nèi)核空間運(yùn)行,這與運(yùn)行在用戶空間的進(jìn)程是不同的。模塊通常由一組函數(shù)和數(shù)據(jù)結(jié)構(gòu)組成,用來實(shí)現(xiàn)一種文件系統(tǒng)、一個(gè)驅(qū)動(dòng)程序或其他內(nèi)核上層的功能。

? ? 總之,模塊是一個(gè)為內(nèi)核(從某種意義上來說,內(nèi)核也是一個(gè)模塊)或其他內(nèi)核模塊提供使用功能的代碼塊.

? ? Linux內(nèi)核模塊是一種可被動(dòng)態(tài)加載和卸載的可執(zhí)行程序。通過內(nèi)核模塊可以擴(kuò)展內(nèi)核功能,內(nèi)核模塊通常用于設(shè)備驅(qū)動(dòng)、文件系統(tǒng)等。如果沒有內(nèi)核模塊,需要向內(nèi)核添加功能就需要自發(fā)代碼、重新編譯內(nèi)核、安裝新內(nèi)核等步驟;

總結(jié)

以上是生活随笔為你收集整理的Linux内核裁剪及编译的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。