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

歡迎訪問 生活随笔!

生活随笔

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

linux

LinuX编译显示内核配置无效,配置编译内核(Linux kernel)

發布時間:2024/8/23 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LinuX编译显示内核配置无效,配置编译内核(Linux kernel) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

雖然以前也編譯過內核,但是關于內核配置選項特別是有關本機驅動這塊還是不熟悉,因為沒有通過確定有效的途徑知道當前工作正常的內核中到底使用了什么驅動模塊來控制硬件,最近看到一本書《Linux kernel in a netshell》,感覺講的還不錯,所以記下筆記。

1.編譯內核的工具

gcc

binutils(ld)??? binutils是gcc的工具鏈,用來鏈接目標文件以及匯編。

make

util-linux-ng(fdformat)

module-init-tools(depmod)

tune2fs

NFS(showmount)

udev??? ??? udev是Linux中用來管理/dev目錄的工具,它維護/dev目錄下所有的設備文件。

2.下載wget/curl

3.編譯

$make defconfig??? defconfig是i386計算機上的默認配置,也就是Linus Torvalds計算機中的配置。

$make config??? ??? 最原始的配置方式

$make menuconfig??? 文本字符界面配置

$make xconfig??? X Window配置界面

$make??? ??? ??? 編譯Kernel

4.高級編譯選項

make -jN??? ??? N設置為你CPU內核數的兩倍,代表編譯內核所用的線程數量。

$make drivers/usb/serial??? 只編譯目錄drivers/usb/serial,但是不會生成模塊映像文件

$make M=drivers/usb/serial??? 同上,但是會生成模塊文件,但是不會影響已經編譯好的內核,如果想要改變已經編譯好的內核,則需要重新執行

$make

$make drivers/usb/serial/visor.ko??? 只編譯個別文件

$make -O=/path/to/output/??? 將輸出重定向到另一個目錄,注意configure也必須使用-O重定向輸出。

$make ARCH=x86_64 defconfig??? 設置目標計算機體系結構

$make ARCH=arm CROSS_COMPILE=/usr/bin/...??? 設置交叉編譯。

$make CC="ccache gcc"??? 設置編譯器變量CC

5.配置內核 ??? 1)查找當前內核配置文件.config,在許多發行版中,內核配置文件最有可能位于/usr/src/linux/下和/proc/config.gz文件。例如在我的ubuntu(karmic koala)中,有/usr/src/linux-headers-2.6.31-16-generic/.config ??? 2)查看特定驅動的模塊 這里以網卡為例,使用ifconfig可以看到本機網卡,lo是回環地址,eth0...等是真正工作的網卡。 ??? $ifconfig ??? $ls /sys/class/net/ 上面兩種方法都可以查看本機網卡。現在我們要找到網卡驅動在內核中使用哪個模塊來控制。 ??? 3)找到相應的內核模塊 ??? $basename `readlink /sys/class/net/eth0/device/driver/module` ??? 在我的電腦上輸出是8139too,表示網卡驅動模塊名是8139too。 ??? 4)查找相應模塊在配置內核中的選項 ??? $cd /usr/src/linux-headers-2.6.31-16/??? 注意這里不是16-generic,因為后者是中的大部分都是前者的鏈接。 ??? $find -type f -iname "makefile"|xargs grep -i "8139too" 輸出是./drivers/net/Makefile:obj-$(CONFIG_8139TOO) +=8139too.o ??? 5)配置內核中的選項 ??? $make menuconfig ??? 然后按下'/‘鍵,輸入搜索內容8139too,即可得到相關的配置選項。

總結

以上是生活随笔為你收集整理的LinuX编译显示内核配置无效,配置编译内核(Linux kernel)的全部內容,希望文章能夠幫你解決所遇到的問題。

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