您好!
我正在尝试通过禁用不使用的模块来加快 Linux 内核启动速度。
按照我的理解、模块可以单独通过内核配置添加、也可以通过内核配置和器件树组合添加。
以便内核或器件树选择外设。
以蓝牙为例、器件树中未提及蓝牙、但在内核配置中已启用蓝牙:
编号
#蓝牙设备驱动程序
编号
未设置# CONFIG_BT_HCCBTUSB
未设置# CONFIG_BT_HIBTSDIO
未设置# CONFIG_BT_HCEUART
# CONFIG_BT_HCCCM203X 未设置
未设置# CONFIG_BT_HIBFUSB
# CONFIG_BT_HCIVHCI 未设置
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
# CONFIG_AF_RXRPC 未设置
CONFIG_FIB_RULES=y
CONFIG_WIRELES=y
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE 未设置
# CONFIG_CFG80211_developer_warnings 未设置
未设置# CONFIG_CFG80211_REG_DEBUG
# CONFIG_CFG80211_certification _ONU 未设置
CONFIG_CFG80211_DEFAULT_PS=y
未设置# CONFIG_CFG80211_DebugFS
# CONFIG_CFG80211_INTERNAL_REGDB 未设置
CONFIG_CFG80211_CRDA_SUPPT=y
# CONFIG_CFG80211_WEXT 未设置
未设置# CONFIG_LIB80211
CONFIG_mac80211=m
CONFIG_mac80211_has _RC=y
CONFIG_mac80211_RC_minstrel=y
CONFIG_mac80211_RC_minstrel_HT=y
未设置# CONFIG_mac80211_RC_minstrel_VHT
CONFIG_mac80211_RC_DEFAULT_minstrel=y
CONFIG_mac80211_RC_DEFAULT="minstrel_HT"
未设置# CONFIG_mac80211_mesh
CONFIG_mac80211_LEDs=y
未设置# CONFIG_mac80211_DebugFS
未设置# CONFIG_mac80211_message_tracing
未设置# CONFIG_mac80211_DEBUG_MENU
CONFIG_mac80211_STA_hash-MAX_SIZE=0
未设置# CONFIG_WiMAX
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDs=y
CONFIG_RFKILL_INPUT=y
未设置# CONFIG_RFKILL_电脑 控制器
CONFIG_RFKILL_GPIO=y
未设置# CONFIG_NET_9P
未设置# CONFIG_CAIF
未设置# CONFIG_Ceph LIB
未设置# CONFIG_NFC
# CONFIG_LWTUNNEL 未设置
CONFIG_WASE_BPF_JIT=y
如果我注释掉所有行、以便内核构建中不添加任何蓝牙模块、我仍会在内核启动日志中收到有关该模块的消息。
[27.365116]蓝牙:未知符号 rfkill_unregister (错误0)
[27.371282]蓝牙:未知符号 rfkill_blocked (错误0)
[27.38091] NET:注册协议系列15.
[27.495032]蓝牙:未知符号 rfkill_destroy (错误0)
[27.501305]蓝牙:未知符号 rfkill_alloc (错误0)
[27.549756]蓝牙:未知符号 rfkill_register (err 0)
[确定]已启动网络服务。
是否在其他地方添加蓝牙驱动程序?
我认为如果它不在配置文件中、引导程序甚至不应尝试启动它。
此致
Ugnius