1.前言

编译linux内核失败的原因很多时候就是驱动选错,适合自己本机的驱动没编译进去。面对特殊平台(或者有些洁癖者,我就是^_^),要编译精简内核,只要本机驱动,其他都不需要。面对内核里面这么多驱动,不懂硬件的我们,看到都头大。本人第一次安装gentoo的时候,内核编译了5次,前4次主要失败原因是以太网卡驱动、无线网卡驱动、显卡驱动、声卡驱动都没一次性配置正确。虽然gentoo提供了genkernel命令,可以自动帮你编译内核,但还是想自己手工尝试下。

2.获取本机驱动信息

既然跟内核挂钩,我们获取本机内核驱动信息最直接的办法就是使用lspci命令,这个命令可以输出本机驱动信息,配合-k选项可以看到此驱动在内核的位子。

一般编译内核的场景:更新旧内核,安装定制版linux发行版(gentoo,arch等),嵌入式平台,其他特殊平台等等...

大部分场景在下都可以使用lspci命令,安装gentoo的livecd版都提供了该工具,如果其他系统没有就安装该工具

debian系列安装

1 $:sudo apt-get install pciutils

或者源码编译安装,下载地址外链网址已屏蔽

然后我们获取本机环境现存的驱动信息,下面是我的机器上面的信息:

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.配置内核驱动

下载内核源码外链网址已屏蔽,我这里下载的是stable 4.3.3,解压后进入源码目录执行:

1 $:make menuconfig

接下来就会弹出编译选项界面,如图:

我们可以看到上面有快捷键操作说明,我重点在> for Search,在界面直接按反斜杠,进入搜索界面。接下来挑个重点驱动说明一下,我们看

Network controller,可以看到型号是Realtek  RTL8188CE,然后Kernel driver in use: rtl8192ce,在内核的位子链接是rtl8192ce

我们按>,输入rtl8192ce,然后回车,就会出现详细位子,如图:

我们可以看到Pormt提示上面跟我要的型号一样,具体选项的前面有个(1),注意这里同一个Sombol(就是刚刚输入的rtl8192ce)有的对应很多选项,我根据前面的序号,按对应的数字就可以直接进入选项,按可以返回来这个界面。这里,我直接按1。按1后,就到具体选项了,如图:

我们看到上面,发行版为了兼容各种机器,把所有Realtek的驱动都编译进成了模块。接下来就保留自己的驱动型号,去掉其他不要的。

剩下的驱动跟上面操作一样的,还有的不必要驱动是直接编译进了内核,非模块。对照自己的驱动,其他都可以不要。配置好后的内核

配置文件最好保存下来,如果驱动没配置成功,再配置的时候把保存的配置文件复制一份到源码目录,命名为.config。继续make menuconfig配置。

linux内核编译指定驱动,linux内核编译,配置本机驱动相关推荐

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

    1.前言 编译Linux内核失败的原因很多时候就是驱动选错,适合自己本机的驱动没编译进去.面对特殊平台(或者有些洁癖者,我就是^_^),要编译精简内核,只要本机驱动,其他都不需要.面对内核里面这么多驱 ...

  2. Linux内核配置网口驱动,linux内核编译,配置本机驱动

    1.前言 编译linux内核失败的原因很多时候就是驱动选错,适合自己本机的驱动没编译进去.面对特殊平台(或者有些洁癖者,我就是^_^),要编译精简内核,只要本机驱动,其他都不需要.面对内核里面这么多驱 ...

  3. 软件驱动安装在docker_nvidia-docker2配置与NVIDIA驱动安装

    要运行高版本的GPU版TensorFlow,需要更新宿主机的显卡驱动(本文以NVIDIA390为例) 一.更新驱动 禁用nouveau驱动: 添加/etc/modprobe.d/blacklist.c ...

  4. weblogic 11g 配置oracle数据源 数据库驱动选哪个,weblogic11g配置db2数据源驱动有关问题...

    weblogic11g配置db2数据源驱动问题 今天在weblogic10.33上配置db2 9.7数据源,采用type4方式连接,驱动选择weblogic db2 type4驱动,配置成功后,开启应 ...

  5. linux配置编译指定库,Linux——dropbear编译安装

    首先我们先简单了解一下dropbear: dropbear实现安全Shell(SSH)协议版本2,加密算法使用第三方加密库包含在Dropbear分配内部实施.它源于一些地方的OpenSSH来处理BSD ...

  6. linux文件删除指定内容,Linux bash删除文件中含“指定内容”的行功能示例

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...

  7. linux拉取指定时间内,Linux 日期和时间操作详解

    Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种.系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的 ...

  8. linux 添加路由 指定网卡,Linux多个网卡添加永久路由办法

    有时候Linux有多个网卡的时候,就需要为另外的一些网卡添加路由,好让网络走不通的网卡出去.那么今天PConline小编就给大家带来Linux多个网卡添加永久路由办法,有需要的小伙伴就赶紧一起往下看看 ...

  9. linux zip压缩指定目录,Linux zip解压/压缩并指定目录

    远程桌面不能连接,提示awgina.dll取代错误的解决办法 远程桌面不能连接,错误提示:您不能初始化一个远程桌面连接,因为在远程计算机上的windows登录软件被不兼容的软件c:\windows\s ...

  10. linux生成md5指定文件名,linux 通过MD5监控指定路径文件的变动

    #!/bin/bash # #定义MD5文件保存的路径 md5_path=/tmp/md5.sum #判断MD5基准校验文件是否存在,不存在则创建此文件,并修改权限只有root用户或者指定用户有读写权 ...

最新文章

  1. dedecms织梦移站后替换数据库中文件路径命令
  2. Java--图片浏览器
  3. UA MATH564 概率论VI 数理统计基础3 卡方分布上
  4. html正则表达式search,正则表达式解析关键字和标签的搜索字段([])
  5. Visual C++——《可视化编程技术》实验报告——绘图与文本操作
  6. java习题8,Java经典练习题8
  7. django基础1--django安装与helloworld测试
  8. 百度搜索引擎优化指南3.0_深圳网站搜索引擎排名优化电话,百度优化排名费用_华阳网络...
  9. BZOJ2059: [Usaco2010 Nov]Buying Feed 购买饲料
  10. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架
  11. 你真的理解机器学习中偏差 - 方差之间的权衡吗?
  12. UVA10196 Check The Check【模拟+回溯】
  13. 去他妈的某日葵,老子自建服务器搭建远程控制.
  14. わたしたちの田村くん
  15. 计算机竞赛等级,美国计算机奥林匹克竞赛等级
  16. Ubuntu16.04 + TITAN XP 深度学习服务器环境搭建(驱动安装,CUNN7.6.5, CUDA9.0) (避坑篇)
  17. 【PTA】代码部分基础整理
  18. 韩顺平Java自学笔记 反射
  19. docker安装python镜像
  20. 浅析LUM及相关实验

热门文章

  1. OpenGL三维小球碰撞实现方法(glm、glfw)
  2. 第七章 Git操作 7.1利用gitee提交代码
  3. HTTPS 防劫持攻击
  4. 金蝶K3采购价格管控杂谈
  5. 使用Strophe连接xmpp,轻松构建web即时聊天工具
  6. 数字图像处理 冈萨雷斯 一些理解
  7. 某计算机房空气调节系统设计,空气调节工程思考题习题答案(精品DOC)
  8. 数电课设—智力抢答器(五路抢答器),已在Proteus8.9版本中仿真通过
  9. 入侵排查篇---勒索病毒自救指南
  10. [转载]Altium Designer 破解,避免局域网冲突的ad9.ini