aosp_017.android内核裁剪

以lineage OS - msm8996 内核为例

https://github.com/zzq1996/android_kernel_xiaomi_msm8996

之前一篇文章写了如何配置交叉编译工具链:

https://blog.csdn.net/zzq1824837536/article/details/89488058

$ git clone https://github.com/zzq1996/android_kernel_xiaomi_msm8996
$ unzip kernel-file
$ cd kernel-file
export ...
make menuconfig

编译目标:去除蓝牙&Wi-Fi

vim kernel/arch/arm64/configs/natrium_defconfig

找到

238 #CONFIG_BT=y
239 #CONFIG_MSM_BT_POWER=y
240 #CONFIG_CFG80211=y
241 #CONFIG_CFG80211_INTERNAL_REGDB=y

243 #CONFIG_NFC=y
244 #CONFIG_NFC_PN548=y

282 #CONFIG_DUMMY=y
283 #CONFIG_TUN=y
284 #CONFIG_RNDIS_IPA=y
285 #CONFIG_PPP=y

298 #CONFIG_WCNSS_MEM_PRE_ALLOC=y
299 #CONFIG_CNSS_CRYPTO=y
300 #CONFIG_CNSS=y
301 #CONFIG_CNSS_PCI=y
302 #CONFIG_CNSS_ASYNC=y
303 #CONFIG_CLD_LL_CORE=y
304 #CONFIG_BUS_AUTO_SUSPEND=y
305 #CONFIG_WLAN_FEATURE_RX_WAKELOCK=y
306 #CONFIG_INPUT_EVDEV=y

488 #CONFIG_QCACLD_WLAN_LFR3=y
489 #CONFIG_PRIMA_WLAN_OKC=y
490 #CONFIG_PRIMA_WLAN_11AC_HIGH_TP=y
491 #CONFIG_WLAN_FEATURE_11W=y
492 #CONFIG_WLAN_FEATURE_LPSS=y

494 #CONFIG_WLAN_FEATURE_NAN=y

497 #CONFIG_WLAN_OFFLOAD_PACKETS=y
498 #iCONFIG_QCA_WIFI_AUTOMOTIVE_CONC=y
499 #CONFIG_WLAN_UDP_RESPONSE_OFFLOAD=y

 

2.6.28版本起,内核代码的drivers下增加了一个staging目录,这个目录也是用来存放驱动程序,只是这里的驱动和上层目录的不同,加载的时候内核log会打印如下的语句:

MODULE_NAME: module is from the staging directory, the quality is unknown, you have been warned.

drivers/staging究竟所谓何物,需要从Linux staging tree说起。

Greg KH于2008年6月10号在Linux内核邮件列表里发出一封信,宣布建立了另外一棵kernel tree,这就是Linux staging tree。Greg解释到,staging tree建立之目的是用来放置一些未充分测试或者因为一些其他原因未能进入内核的新增驱动程序和新增文件系统。在信中,Greg罗列了开发者把代码提交到staging tree应该遵循哪些规则,以及哪些行为是在staging tree不受欢迎的:
 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值