kernel .config优化
kernel .config优化
- 一、概述
- 二、明确具体CONFIG作用
- 三、总结
一、概述
在嵌入式开发中,使用linux kernel不可避免,kernel支持的驱动非常庞大,删除不需要的驱动也是势在必行。那么那么多的配置,都有什么作用?该删除哪些呢?下面介绍一种快速明白相应配置的功能。
二、明确具体CONFIG作用
以USB模块为例
在kernel编译时使用的.config部分内容如下:
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_RTL8152 is not set
CONFIG_USB_USBNET=y
# CONFIG_USB_NET_AX8817X is not set
# CONFIG_USB_NET_AX88179_178A is not set
CONFIG_USB_NET_CDCETHER=y
# CONFIG_USB_NET_CDC_EEM is not set
# CONFIG_USB_NET_CDC_NCM is not set
# CONFIG_USB_NET_CDC_MBIM is not set
# CONFIG_USB_NET_DM9601 is not set
# CONFIG_USB_NET_SMSC75XX is not set
# CONFIG_USB_NET_SMSC95XX is not set
# CONFIG_USB_NET_GL620A is not set
# CONFIG_USB_NET_NET1080 is not set
# CONFIG_USB_NET_PLUSB is not set
很明显有很多驱动都用不上,要确定具体一个CONFIG的作用,在kernel根目录执行(以CONFIG_USB_CATC为例)
linux-3.10$ grep -nr "USB_CATC" --include=Kconfig
drivers/net/usb/Kconfig:10:config USB_CATC
注意: 搜索时把前面的CONFIG_去掉,搜索出的结果是config USB_CATC形式的。有时会搜索出很多,因此需要这个规则。
查看Kconfig内容,部分内容如下:
#
# USB Network devices configuration
#
comment "Networking support is needed for USB Network Adapter support"depends on USB && !NETmenu "USB Network Adapters"depends on USB && NETconfig USB_CATCtristate "USB CATC NetMate-based Ethernet device support"select CRC32---help---Say Y if you want to use one of the following 10Mbps USB Ethernetdevice based on the EL1210A chip. Supported devices are:Belkin F5U011Belkin F5U111CATC NetMateCATC NetMate IIsmartBridges smartNICThis driver makes the adapter appear as a normal Ethernet interface,typically on eth0, if it is the only ethernet device, or perhaps oneth1, if you have a PCI or ISA ethernet card installed.To compile this driver as a module, choose M here: themodule will be called catc.
看到这里已经很明白了吧。该段中不仅描述的驱动的作用,还描述了驱动的依赖。
三、总结
一般修改kernel配置,使用make menuconfig,但是使用该命令需要配一些编译环境。自己搭建的编译环境自己做主,折腾下无所谓,当使用公司服务器编译时,不同版本kernel需要的环境不同,配置环境还需要申请,流程相当麻烦。
实际上,kernel编译最总使用的是.config文件,make menuconfig修改的也是.config文件,当.config文件不存在时,会拷贝一个默认配置文件为.config,因此我们修改默认配置文件,删除.config文件,也可以正常编译kernel且使修改生效;如果不想修改默认配置文件,按照以上描述的方法,修改.config文件也可以。
kernel .config优化相关推荐
- How to get ‘kernel config‘ when CONFIG_IKCONFIG is not set ? (Method)
本文用于提取Android内核配置文件,在 CONFIG_IKCONFG is not set 的情况下. 受Github的一个代码库的启发android 提取内核指南,现在应该是提取出了kernel ...
- Linux系统高并发kernel参数优化
众所周知在默认参数情况下Linux对高并发支持并不好,主要受限于单进程最大打开文件数限制.内核TCP参数方面和IO事件分配机制等.下面就从几方面来调整使Linux系统能够支持高并发环境. iptabl ...
- kernel启动优化
由于老衲最近在做车载linux kernel优化,特别是对启动时间的优化,从一开始的漫无目的,到现在的算是了解的过程,下了很大功夫. 特别是优化到最后2s以内,每10ms的优化太让人吐血了.杂话 ...
- kernel config
前言之前言:谁是这篇文章的读者? 不习惯读英文资料的非LINUX高手 声卡不响光驱不转连不上网等等,只要有问题就行 开发嵌入式操作系统 现在流行的ODL(only disk linux)中做内核部分, ...
- chromeos kernel config 如何修改
Chrome OS使用的内核是Linux内核,可以通过以下步骤修改Chrome OS内核的配置: 打开Chromebook终端:在Chromebook上打开Chrome浏览器,按下Ctrl + Alt ...
- 查看Ubuntu操作系统的kernel config文件方法
ubuntu16@ubuntu16-virtual-machine:~$ ls /boot/config-`uname -r` /boot/config-4.15.0-117-generic ubun ...
- 全志 Linux 系统启动优化 启动优化速度方式 优化启动流程 优化uboot 优化kernel等
文章目录 1 概述 2 启动速度优化简介 2.1 启动流程 2.2 测量方法 2.2.1 printk time 2.2.2 initcall_debug 2.2.3 bootgraph. 2.2.4 ...
- Android 开机优化
原址 问题描述 开机时间相对参考机过慢,大约慢15s左右.Android 系统7.0. 问题分析 开机问题涉及的层次较多,大致有bootloader–>kernel–>Zygote–> ...
- Android 系统性能优化
一.Pinner service 配置优化 修改 /frameworks/base/core/res/res/values/config.xml 添加如下代码: <resources xml ...
最新文章
- svn 提交到远程仓库_Linux学习16gitlab新建项目提交代码
- 一个高性能RPC框架原理剖析
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。
- hdu 3790(最短路)
- Hive分区和桶的概念
- linux笔记8.0
- MySql锁机制:共享锁、排它锁;行锁、表锁、页锁;
- Excel技能——批量生成excel的工作表名称目录链接
- XS9950是单路AHDRX芯片,国产单通道模拟复合视频解码芯片方案,硬件替代TP9950。
- Sublime Text自定制代码片段之 快速生成html结构
- 图形学基础|景深效果(Depth of Field/DOF)
- Caterpillar CAT SIS卡特彼勒最新零件目录系统+维修信息
- informix常用时间运算和操作方法
- VUE2中provide 和 inject用法,以及怎么做响应式数据?
- 为什么图片反复压缩后会普遍会变绿而不是其他颜色?
- form表单的action属性设置相对路径
- OpenCV3入门(五)图像的阈值
- DVWA--XSS(Reflected)(全难度)
- 高瓴张磊《价值》读书笔记,超全思维导图(附pdf下载)
- java中判断对象中某个属性是否为空
热门文章
- 矿大学会计还是计算机,中国矿业大学会计专业就业怎样?
- BI大数据的星形模型和雪花模型
- STM32使用stm32cubemx LL库系列教程
- 云上省钱新玩法 教你如何优惠与灵活兼得
- c语言中变量后面加上f,C语言的数据类型
- DES密码算法实现(C语言)
- ES 问题 : too_many_clauses maxClauseCount is set to 1024
- sed在某一行行首添加字符_sed在行首或者行尾添加内容
- matlab自带的神经网络例子,MATLAB-network m
- hive连接报错:Unauthorized connection for super-user: root from IP 192.168.216.128:14:13