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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux 内核配置mmc,Linux内核编译,配置本机驱动

發(fā)布時間:2024/1/23 linux 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 内核配置mmc,Linux内核编译,配置本机驱动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.前言

編譯Linux內核失敗的原因很多時候就是驅動選錯,適合自己本機的驅動沒編譯進去。面對特殊平臺(或者有些潔癖者,我就是^_^),要編譯精簡內核,只要本機驅動,其他都不需要。面對內核里面這么多驅動,不懂硬件的我們,看到都頭大。本人第一次安裝gentoo的時候,內核編譯了5次,前4次主要失敗原因是以太網卡驅動、無線網卡驅動、顯卡驅動、聲卡驅動都沒一次性配置正確。雖然gentoo提供了genkernel命令,可以自動幫你編譯內核,但還是想自己手工嘗試下。

2.獲取本機驅動信息

既然跟內核掛鉤,我們獲取本機內核驅動信息最直接的辦法就是使用lspci命令,這個命令可以輸出本機驅動信息,配合-k選項可以看到此驅動在內核的位子。

一般編譯內核的場景:更新舊內核,安裝定制版linux發(fā)行版(gentoo,arch等),嵌入式平臺,其他特殊平臺等等...

大部分場景在下都可以使用lspci命令,安裝gentoo的livecd版都提供了該工具,如果其他系統沒有就安裝該工具

debian系列安裝

1 $:sudo apt-get install pciutils

然后我們獲取本機環(huán)境現存的驅動信息,下面是我的機器上面的信息:

1 $:lspci -k2 00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)3 Subsystem: Lenovo Device 21e24 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)5 Kernel driver inuse: pcieport6 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)7 Subsystem: Lenovo Device 21e38 Kernel driver inuse: i9159 00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)10 Subsystem: Lenovo Device 21e211 Kernel driver inuse: mei_me12 00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)13 Subsystem: Lenovo Device 21e214 Kernel driver in use: ehci-pci15 00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)16 Subsystem: Lenovo Device 21e217 Kernel driver inuse: snd_hda_intel18 00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1(rev b4)19 Kernel driver inuse: pcieport20 00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2(rev b4)21 Kernel driver inuse: pcieport22 00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3(rev b4)23 Kernel driver inuse: pcieport24 00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4(rev b4)25 Kernel driver inuse: pcieport26 00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8(rev b4)27 Kernel driver inuse: pcieport28 00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)29 Subsystem: Lenovo Device 21e230 Kernel driver in use: ehci-pci31 00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 04)32 Subsystem: Lenovo Device 21e233 Kernel driver inuse: lpc_ich34 00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 04)35 Subsystem: Lenovo Device 21e236 Kernel driver inuse: ahci37 00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)38 Subsystem: Lenovo Device 21e239 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Seymour [Radeon HD 6400M/7400M Series] (rev ff)40 Kernel driver inuse: radeon41 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)42 Subsystem: Lenovo Device 21e243 Kernel driver inuse: r816944 04:00.0 System peripheral: Ricoh Co Ltd PCIe SDXC/MMC Host Controller (rev 07)45 Subsystem: Lenovo Device 21e246 Kernel driver in use: sdhci-pci47 09:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)48 Subsystem: Realtek Semiconductor Co., Ltd. Device 8195

49 Kernel driver in use: rtl8192ce

我們可以看到每個驅動后面都有Kernel driver in use:,代表驅動在內核中的鏈接位子。

3.配置內核驅動

下載內核源碼https://www.kernel.org/,我這里下載的是stable 4.3.3,解壓后進入源碼目錄執(zhí)行:

1 $:make menuconfig

接下來就會彈出編譯選項界面,如圖:

我們可以看到上面有快捷鍵操作說明,我重點在> for Search,在界面直接按反斜杠,進入搜索界面。接下來挑個重點驅動說明一下,我們看

Network controller,可以看到型號是Realtek ?RTL8188CE,然后Kernel driver in use: rtl8192ce,在內核的位子鏈接是rtl8192ce

我們按>,輸入rtl8192ce,然后回車,就會出現詳細位子,如圖:

我們可以看到Pormt提示上面跟我要的型號一樣,具體選項的前面有個(1),注意這里同一個Symbol(就是剛剛輸入的rtl8192ce)有的對應很多選項,根據前面的序號,按對應的數字就可以直接進入選項,按可以返回來這個界面。這里,我直接按1。按1后,就到具體選項了,如圖:

我們看到上面,發(fā)行版為了兼容各種機器,把所有Realtek的驅動都編譯進成了模塊。接下來就保留自己的驅動型號,去掉其他不要的。

剩下的驅動跟上面操作一樣的,還有的不必要驅動是直接編譯進了內核,非模塊。對照自己的驅動,其他都可以不要。配置好后的內核

配置文件最好保存下來,如果驅動沒配置成功,再配置的時候把保存的配置文件復制一份到源碼目錄,命名為.config。繼續(xù)make menuconfig配置。

總結

以上是生活随笔為你收集整理的linux 内核配置mmc,Linux内核编译,配置本机驱动的全部內容,希望文章能夠幫你解決所遇到的問題。

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