跳到主要内容

FASTBOOT 内核启动优化

内核启动优化的位置与范围

在FASTBOOT(快速启动)过程中,内核启动优化是继初始启动之后的第二部分关键优化工作。这部分优化涵盖了多个层面:

  • 驱动程序的加载过程优化
  • 驱动程序内部实现的效率优化
  • 对于完整产品而言,甚至需要进行系统级别的整体优化

内核启动优化的核心目标

对于操作系统内核来说,启动优化的核心目标非常明确:尽可能快速地完成内核初始化,启动到用户进程,让系统尽快进入应用层交互阶段

简单来说,就是让设备能够更快地响应用户操作,缩短从开机到可以正常使用的时间。

具体优化策略

  1. 驱动程序的延迟加载

    将驱动程序分为"必要"和"非必要"两类:

    • 必要驱动:系统启动和基本功能运行所必需的驱动(如CPU、内存、基本存储等),在启动初期优先加载
    • 非必要驱动:那些不影响系统基本启动但提供额外功能的驱动(如某些外设驱动),推迟到系统启动完成后再加载或挂载

    这种方式可以减少启动初期的负载,让核心功能更快可用。

  2. 内核功能的精简

    对内核进行"瘦身"处理:

    • 关闭所有不需要的内核功能和模块
    • 只保留系统实际需要的功能组件

    这样可以避免内核在启动过程中执行不必要的配置和流程,减少启动时间和资源消耗。

驱动程序延迟加载

在传统的内核启动流程中,所有设备驱动程序通常会在系统初始化阶段被顺序加载和初始化。这种方式虽然实现简单,但存在明显的效率问题。首先是启动时间过长,即使是那些非系统运行必需的驱动(如某些外设驱动),也会在启动初期占用CPU时间和系统资源,拖慢整体启动速度。其次是资源竞争加剧,大量驱动同时初始化会导致系统资源(如内存、总线带宽等)竞争,进一步降低启动效率。最后是用户体验较差,设备需要等待所有驱动加载完成才能正常使用,延长了从开机到可用的时间窗口。为了解决这些问题,内核开发者引入了deferred-device(延迟设备)功能,专门用于实现驱动程序的延迟加载机制。

deferred-device是内核提供的一套驱动加载调度机制,其核心思想是通过驱动分类标记、启动阶段分离和依赖关系管理三大机制实现驱动程序的智能延迟加载。驱动程序可以通过特定的内核接口标记自己为"可延迟加载"的设备,系统会根据这些标记将驱动加载过程分为两个阶段:核心阶段和延迟阶段。在核心阶段,启动初期只加载那些标记为"必要"的驱动;而在延迟阶段,系统核心功能启动完成后,会通过内核线程或工作队列来异步加载那些标记为"可延迟"的驱动。同时,deferred-device功能能够智能处理驱动之间的依赖关系,确保延迟加载的驱动在其依赖的驱动完全初始化后再加载,避免因依赖问题导致的加载失败。

通过使用内核的deferred-device功能实现驱动延迟加载,相比传统方式具有多方面的优势。首先是启动速度显著提升,减少了启动初期的驱动加载数量,能够显著缩短系统核心启动时间。其次是资源利用更加优化,分散了驱动初始化对系统资源的占用,提高了资源利用率。第三是用户体验得到改善,用户可以在核心功能可用后尽快使用设备,而无需等待所有驱动加载完成。最后是内核集成度高,作为内核原生功能,具有更好的稳定性和兼容性。在FASTBOOT快速启动方案中,deferred-device功能是实现驱动程序延迟加载优化的核心技术基础,为提升整体启动速度提供了重要支持。

配置延迟加载功能

由于这个功能是内核原生功能,只需要启动配置即可,执行 make kernel_menuconfig 进入内核模块配置界面,启用驱动功能。

Device Drivers  --->
Generic Driver Options --->
[*] deffered-device support
[*] deffered run

内核配置界面

然后对于不是启动时必要的外设,在设备树中添加配置,将其声明为一个延迟加载的驱动

deferred-device;

SDIO延迟启动

如上图,此时的 SDIO 驱动声明成了延迟加载驱动,此时 SDIO 在启动的时候就不会进行加载,只有应用程序执行加载命令,才会继续加载这个驱动。

echo all > /proc/sys/kernel/deferred_device
echo 1 > /proc/sys/kernel/deferred_fn

系统启动后执行,驱动才开始加载

裁剪优化内核

正常状态下,内核默认会开启调试,符号表,外设驱动等功能,会造成内核镜像大小变大,针对不同产品可以对其进行裁剪,只使用需要的内核模块。

SDK 默认提供通用的 quick_config 进行内核各模块的裁剪,执行命令如下:

quick_config memory_optimization

裁剪内容包括:

CONFIG_LOG_BUF_SHIFT=15
CONFIG_AW_BSP_LOWMEM=y
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_CGROUPS is not set
# CONFIG_KALLSYMS is not set
# CONFIG_SLUB_DEBUG is not set
# CONFIG_AW_MTD_SPINAND is not set
# CONFIG_SCSI is not set
# CONFIG_ATA is not set
# CONFIG_ETHERNET is not set
# CONFIG_USB_HID is not set
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_SERIO is not set
# CONFIG_DRM is not set
# CONFIG_FB is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_LZO is not set
# CONFIG_CRYPTO_ZSTD is not set
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_HW is not set
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not set
# CONFIG_XZ_DEC_IA64 is not set
# CONFIG_XZ_DEC_ARM is not set
# CONFIG_XZ_DEC_ARMTHUMB is not set
# CONFIG_XZ_DEC_SPARC is not set
# CONFIG_DEBUG_MISC is not set
# CONFIG_SCHED_DEBUG is not set
# CONFIG_FTRACE is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
# CONFIG_NETWORK_FILESYSTEMS is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_UBIFS_FS is not set
# CONFIG_I2C_HELPER_AUTO is not set
# CONFIG_LEGACY_PTYS is not set
# CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_CISCO is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_WLAN_VENDOR_REALTEK is not set
# CONFIG_WLAN_VENDOR_RSI is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
# CONFIG_IPV6 is not set
# CONFIG_DEVMEM is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_AW_ANSC_STANDBY_DEBUG is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_KEYS is not set
# CONFIG_DNS_RESOLVER is not set
# CONFIG_EROFS_FS is not set
# CONFIG_FUSE_FS is not set
# CONFIG_USB_XHCI_HCD is not set
# CONFIG_USB_XHCI_PLATFORM is not set
# CONFIG_MTD_UBI is not set
CONFIG_INET_TABLE_PERTURB_ORDER=8
# CONFIG_SND_SOC_SUNXI_DEBUG is not set
# CONFIG_USB_SUNXI_USB_DEBUG is not set
# CONFIG_CGROUPS is not set
# CONFIG_CGROUP_SCHED is not set
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_CGROUP_BPF is not set
# CONFIG_USB_STORAGE is not set
# CONFIG_USB_CONFIGFS_MASS_STORAGE is not set
# CONFIG_USB_ROLE_SWITCH is not set
# CONFIG_IIO is not set
# CONFIG_EXT4_FS is not set
# CONFIG_EXFAT_FS is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
# CONFIG_DYNAMIC_DEBUG_CORE is not set
# CONFIG_STACKTRACE is not set
# CONFIG_CRYPTO_ECDH is not set
# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRC_ITU_T is not set
# CONFIG_CRC7 is not set
# CONFIG_BACKLIGHT_PWM is not set
# CONFIG_RFKILL is not set
# CONFIG_RFKILL_GPIO is not set
# CONFIG_VIRTIO_BLK is not set
# CONFIG_RTC_NVMEM is not set
# CONFIG_NVMEM is not set
# CONFIG_BPF_SYSCALL is not set
# CONFIG_SECCOMP is not set
# CONFIG_IP_MULTIPLE_TABLES is not set
# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
# CONFIG_VGA_CONSOLE is not set
# CONFIG_IO_URING is not set
# CONFIG_IOSCHED_BFQ is not set
# CONFIG_SECRETMEM is not set
# CONFIG_CRYPTO_RSA is not set
# CONFIG_CRYPTO_MANAGER is not set
# CONFIG_SYMBOLIC_ERRNAME is not set
# CONFIG_HID is not set
# CONFIG_ETHTOOL_NETLINK is not set
# CONFIG_AW_CCU_DEBUG is not set
# CONFIG_AW_CCMU_DYNAMIC_DEBUG is not set
# CONFIG_AW_PINCTRL_DYNAMIC_DEBUG is not set
# CONFIG_AW_UART_DYNAMIC_DEBUG is not set
# CONFIG_AW_DUMPREG_DYNAMIC_DEBUG is not set
# CONFIG_AW_VIDEO_DYNAMIC_DEBUG is not set
# CONFIG_SND_SOC_SUNXI_DYNAMIC_DEBUG is not set
# CONFIG_COMMON_CLK_DEBUG is not set

下面是Linux内核各配置项解释,可以参考

配置项状态含义作用
CONFIG_LOG_BUF_SHIFT=15启用设置内核日志缓冲区的大小值为15表示缓冲区大小为2^15 = 32KB,用于存储内核日志信息
CONFIG_AW_BSP_LOWMEM=y启用启用全志(Allwinner)BSP的低内存支持针对内存受限的设备进行优化,确保系统在低内存环境下正常运行
CONFIG_VM_EVENT_COUNTERS禁用虚拟内存事件计数器这些计数器用于跟踪虚拟内存操作(如页面分配、回收等)的统计信息,禁用可减少内存开销
CONFIG_CGROUPS禁用控制组(Cgroups)功能Cgroups用于限制、记录和隔离进程组的资源使用,禁用可简化内核并减少内存占用
CONFIG_KALLSYMS禁用符号表符号表包含内核函数和变量的名称,用于调试和错误报告,禁用可减小内核体积
CONFIG_SLUB_DEBUG禁用SLUB分配器的调试功能SLUB是Linux内核的内存分配器,调试功能用于检测内存泄漏和腐败,禁用可提高性能
CONFIG_AW_MTD_SPINAND禁用全志平台的MTD SPI NAND支持MTD(Memory Technology Device)用于处理闪存设备,禁用未使用的闪存类型支持可减小内核体积
CONFIG_SCSI禁用SCSI设备支持SCSI是一种存储设备接口标准,禁用可减少内核体积,适用于不需要SCSI设备的系统
CONFIG_ATA禁用ATA设备支持ATA是传统的硬盘接口标准,禁用可减少内核体积,适用于不需要ATA设备的系统
CONFIG_ETHERNET禁用以太网支持禁用以太网相关功能,适用于不需要网络连接的系统
CONFIG_USB_HID禁用USB HID设备支持USB HID(Human Interface Device)包括键盘、鼠标等输入设备,禁用可减少内核体积
CONFIG_INPUT_MOUSEDEV禁用鼠标设备的字符设备接口支持此接口用于将鼠标事件转换为字符设备输入,禁用可减少内核体积
CONFIG_INPUT_KEYBOARD禁用键盘设备支持禁用键盘输入设备的驱动支持,适用于不需要键盘的系统
CONFIG_INPUT_MOUSE禁用鼠标设备支持禁用鼠标输入设备的驱动支持,适用于不需要鼠标的系统
CONFIG_SERIO禁用串行输入/输出(SerIO)支持SerIO用于处理PS/2键盘、鼠标等设备,禁用可减少内核体积
CONFIG_DRM禁用Direct Rendering Manager(DRM)DRM是Linux内核的显示子系统,用于管理图形硬件,禁用可减少内核体积
CONFIG_FB禁用帧缓冲(Frame Buffer)设备支持帧缓冲用于图形显示,禁用可减少内核体积,适用于无显示设备的系统
CONFIG_CRYPTO_DEFLATE禁用DEFLATE压缩算法支持DEFLATE是一种常用的压缩算法,禁用可减少内核体积,适用于不需要此压缩算法的系统
CONFIG_CRYPTO_LZO禁用LZO压缩算法支持LZO是一种高速压缩算法,禁用可减少内核体积,适用于不需要此压缩算法的系统
CONFIG_CRYPTO_ZSTD禁用ZSTD压缩算法支持ZSTD是一种高效的压缩算法,禁用可减少内核体积,适用于不需要此压缩算法的系统
CONFIG_CRYPTO_USER_API_HASH禁用用户空间哈希算法API此API允许用户空间程序使用内核的哈希算法,禁用可减少内核体积
CONFIG_CRYPTO_HW禁用硬件加密加速器支持禁用所有硬件加密设备的驱动支持,适用于不需要硬件加密的系统
CONFIG_XZ_DEC_X86禁用X86平台的XZ解压支持XZ是一种高压缩率的压缩算法,禁用特定平台的支持可减少内核体积
CONFIG_XZ_DEC_POWERPC禁用PowerPC平台的XZ解压支持同上,针对PowerPC平台
CONFIG_XZ_DEC_IA64禁用IA64平台的XZ解压支持同上,针对IA64平台
CONFIG_XZ_DEC_ARM禁用ARM平台的XZ解压支持同上,针对ARM平台
CONFIG_XZ_DEC_ARMTHUMB禁用ARM Thumb平台的XZ解压支持同上,针对ARM Thumb平台
CONFIG_XZ_DEC_SPARC禁用SPARC平台的XZ解压支持同上,针对SPARC平台
CONFIG_DEBUG_MISC禁用杂项调试功能禁用各种非分类的调试功能,减少内核体积和内存占用
CONFIG_SCHED_DEBUG禁用调度器调试功能调度器调试用于分析和调试进程调度行为,禁用可提高性能
CONFIG_FTRACE禁用函数跟踪功能Ftrace用于跟踪内核函数调用,禁用可减少内核体积和性能开销
CONFIG_RUNTIME_TESTING_MENU禁用运行时测试菜单此菜单包含各种内核子系统的运行时测试,禁用可减少内核体积
CONFIG_NETWORK_FILESYSTEMS禁用网络文件系统支持禁用所有网络文件系统(如NFS、CIFS等),适用于不需要网络存储的系统
CONFIG_AUTOFS_FS禁用自动挂载文件系统支持Autofs用于自动挂载和卸载文件系统,禁用可减少内核体积
CONFIG_UBIFS_FS禁用UBIFS文件系统支持UBIFS是针对闪存设备优化的文件系统,禁用可减少内核体积
CONFIG_I2C_HELPER_AUTO禁用I2C总线的自动探测功能自动探测用于发现I2C总线上的设备,禁用可减少内核体积
CONFIG_LEGACY_PTYS禁用传统伪终端支持传统伪终端是较旧的终端设备接口,禁用可减少内核体积,现代系统通常使用UNIX 98伪终端
CONFIG_WLAN_VENDOR_ADMTEK禁用ADMTEK无线网卡驱动支持禁用特定供应商的无线驱动,减少内核体积
CONFIG_WLAN_VENDOR_ATH禁用ATH无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_ATMEL禁用ATMEL无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_BROADCOM禁用BROADCOM无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_CISCO禁用CISCO无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_INTEL禁用INTEL无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_INTERSIL禁用INTERSIL无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_MARVELL禁用MARVELL无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_MEDIATEK禁用MEDIATEK无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_RALINK禁用RALINK无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_REALTEK禁用REALTEK无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_RSI禁用RSI无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_ST禁用ST无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_TI禁用TI无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_ZYDAS禁用ZYDAS无线网卡驱动支持同上
CONFIG_WLAN_VENDOR_QUANTENNA禁用QUANTENNA无线网卡驱动支持同上
CONFIG_IPV6禁用IPv6协议支持禁用IPv6可减少内核体积,适用于仅使用IPv4的系统
CONFIG_DEVMEM禁用/dev/mem设备/dev/mem提供对物理内存的直接访问,禁用可提高系统安全性
CONFIG_DYNAMIC_DEBUG禁用动态调试功能动态调试允许在运行时启用或禁用特定内核代码的调试输出,禁用可减少内核体积
CONFIG_DEBUG_PREEMPT禁用抢占调试功能抢占调试用于检测和调试内核抢占相关的问题,禁用可提高性能
CONFIG_AW_ANSC_STANDBY_DEBUG禁用全志ANSC待机调试功能ANSC可能是全志平台的某种电源管理模块,禁用调试功能可减少内核体积
CONFIG_DEBUG_BUGVERBOSE禁用详细的bug报告详细的bug报告包含更多调试信息,禁用可减少内核体积
CONFIG_KEYS禁用内核密钥管理系统密钥管理系统用于安全地存储和使用加密密钥,禁用可减少内核体积
CONFIG_DNS_RESOLVER禁用内核DNS解析器内核DNS解析器允许内核直接进行DNS查询,禁用可减少内核体积
CONFIG_EROFS_FS禁用EROFS文件系统支持EROFS(Enhanced Read-Only File System)是一种只读文件系统,禁用可减少内核体积
CONFIG_FUSE_FS禁用FUSE文件系统支持FUSE允许用户空间程序实现文件系统,禁用可减少内核体积
CONFIG_USB_XHCI_HCD禁用USB XHCI主机控制器驱动XHCI是USB 3.0及以上版本的主机控制器规范,禁用可减少内核体积
CONFIG_USB_XHCI_PLATFORM禁用USB XHCI平台驱动针对特定平台优化的XHCI驱动,禁用可减少内核体积
CONFIG_MTD_UBI禁用MTD UBI层支持UBI(Unsorted Block Images)是MTD子系统上的卷管理层,用于管理闪存设备的磨损均衡和坏块处理,禁用可减少内核体积
CONFIG_INET_TABLE_PERTURB_ORDER=8启用设置inet表的扰动顺序值为8表示在哈希冲突时使用的扰动算法强度,用于提高网络表的哈希分布均匀性
CONFIG_SND_SOC_SUNXI_DEBUG禁用全志声卡调试功能禁用音频子系统的调试输出,减少内核体积
CONFIG_USB_SUNXI_USB_DEBUG禁用全志USB调试功能禁用USB子系统的调试输出,减少内核体积
CONFIG_CGROUPS禁用控制组(Cgroups)功能(重复)再次确认禁用控制组功能
CONFIG_CGROUP_SCHED禁用控制组调度功能此功能允许为控制组分配CPU时间,禁用可减少内核体积
CONFIG_CFS_BANDWIDTH禁用CFS带宽控制功能CFS(Completely Fair Scheduler)带宽控制用于限制控制组的CPU使用率,禁用可减少内核体积
CONFIG_CGROUP_BPF禁用控制组BPF支持BPF(Berkeley Packet Filter)用于在控制组中实现自定义策略,禁用可减少内核体积
CONFIG_USB_STORAGE禁用USB存储设备支持禁用USB磁盘、U盘等存储设备的驱动,适用于不需要USB存储的系统
CONFIG_USB_CONFIGFS_MASS_STORAGE禁用USB ConfigFS大容量存储功能此功能允许通过ConfigFS配置USB大容量存储设备,禁用可减少内核体积
CONFIG_USB_ROLE_SWITCH禁用USB角色切换功能USB角色切换用于在主机和设备模式之间切换,禁用可减少内核体积
CONFIG_IIO禁用工业I/O子系统工业I/O子系统用于处理传感器和测量设备,禁用可减少内核体积
CONFIG_EXT4_FS禁用EXT4文件系统支持EXT4是常用的Linux文件系统,禁用可减少内核体积,适用于不需要此文件系统的系统
CONFIG_EXFAT_FS禁用EXFAT文件系统支持EXFAT是微软开发的文件系统,常用于U盘和SD卡,禁用可减少内核体积
CONFIG_USB_ANNOUNCE_NEW_DEVICES禁用USB新设备通知禁用当新USB设备连接时的内核通知,可减少内核体积
CONFIG_DYNAMIC_DEBUG_CORE禁用动态调试核心功能动态调试的核心组件,禁用可减少内核体积
CONFIG_STACKTRACE禁用堆栈跟踪功能堆栈跟踪用于在错误发生时显示函数调用链,禁用可减少内核体积
CONFIG_CRYPTO_ECDH禁用ECDH加密算法支持ECDH(Elliptic Curve Diffie-Hellman)用于密钥交换,禁用可减少内核体积
CONFIG_CRYPTO_ECB禁用ECB加密模式支持ECB(Electronic Codebook)是一种基本的加密模式,禁用可减少内核体积
CONFIG_CRC_ITU_T禁用ITU-T CRC校验算法ITU-T CRC是一种循环冗余校验算法,常用于通信领域,禁用可减少内核体积
CONFIG_CRC7禁用CRC7校验算法CRC7是一种循环冗余校验算法,常用于存储设备,禁用可减少内核体积
CONFIG_BACKLIGHT_PWM禁用PWM背光控制支持PWM(Pulse Width Modulation)用于调节显示设备的亮度,禁用可减少内核体积
CONFIG_RFKILL禁用无线开关支持RFKill用于控制无线设备的电源状态,禁用可减少内核体积
CONFIG_RFKILL_GPIO禁用GPIO无线开关支持通过GPIO控制无线设备的电源状态,禁用可减少内核体积
CONFIG_VIRTIO_BLK禁用VIRTIO块设备支持VIRTIO是虚拟化环境中的设备接口,禁用可减少内核体积,适用于非虚拟化系统
CONFIG_RTC_NVMEM禁用RTC NVMEM支持允许RTC(Real-Time Clock)设备作为NVMEM(Non-Volatile Memory)提供者,禁用可减少内核体积
CONFIG_NVMEM禁用NVMEM子系统NVMEM用于访问非易失性内存设备,禁用可减少内核体积
CONFIG_BPF_SYSCALL禁用BPF系统调用BPF(Berkeley Packet Filter)允许用户空间程序在内核中执行自定义代码,禁用可减少内核体积和提高安全性
CONFIG_SECCOMP禁用安全计算模式Seccomp用于限制进程可以使用的系统调用,禁用可减少内核体积
CONFIG_IP_MULTIPLE_TABLES禁用IP多表支持IP多表允许使用多个路由表,禁用可减少内核体积
CONFIG_BACKLIGHT_CLASS_DEVICE禁用背光类设备支持背光类设备用于统一管理显示设备的背光,禁用可减少内核体积
CONFIG_VGA_CONSOLE禁用VGA控制台支持VGA控制台是通过VGA接口输出的文本控制台,禁用可减少内核体积
CONFIG_IO_URING禁用IO_URING支持IO_URING是一种高性能的I/O接口,禁用可减少内核体积
CONFIG_IOSCHED_BFQ禁用BFQ I/O调度器BFQ(Budget Fair Queueing)是一种I/O调度算法,用于优化存储设备的性能,禁用可减少内核体积
CONFIG_SECRETMEM禁用安全内存支持安全内存用于存储敏感数据,禁用可减少内核体积
CONFIG_CRYPTO_RSA禁用RSA加密算法支持RSA是一种常用的公钥加密算法,禁用可减少内核体积
CONFIG_CRYPTO_MANAGER禁用加密管理器加密管理器用于管理内核中的加密算法和密钥,禁用可减少内核体积
CONFIG_SYMBOLIC_ERRNAME禁用符号错误名称符号错误名称将错误代码转换为可读的名称,禁用可减少内核体积
CONFIG_HID禁用HID设备支持HID(Human Interface Device)包括键盘、鼠标、游戏手柄等输入设备,禁用可减少内核体积
CONFIG_ETHTOOL_NETLINK禁用ethtool的Netlink接口ethtool用于配置网络设备,Netlink接口提供了一种与内核通信的方式,禁用可减少内核体积
CONFIG_AW_CCU_DEBUG禁用全志CCU调试功能CCU(时钟控制单元)的调试功能,禁用可减少内核体积
CONFIG_AW_CCMU_DYNAMIC_DEBUG禁用全志CCMU动态调试功能CCMU(时钟控制和管理单元)的动态调试功能,禁用可减少内核体积
CONFIG_AW_PINCTRL_DYNAMIC_DEBUG禁用全志PINCTRL动态调试功能PINCTRL(引脚控制)的动态调试功能,禁用可减少内核体积
CONFIG_AW_UART_DYNAMIC_DEBUG禁用全志UART动态调试功能UART(串行接口)的动态调试功能,禁用可减少内核体积
CONFIG_AW_DUMPREG_DYNAMIC_DEBUG禁用全志DUMPREG动态调试功能DUMPREG(寄存器转储)的动态调试功能,禁用可减少内核体积
CONFIG_AW_VIDEO_DYNAMIC_DEBUG禁用全志VIDEO动态调试功能VIDEO(视频)的动态调试功能,禁用可减少内核体积
CONFIG_SND_SOC_SUNXI_DYNAMIC_DEBUG禁用全志声卡动态调试功能SND_SOC_SUNXI(声卡)的动态调试功能,禁用可减少内核体积
CONFIG_COMMON_CLK_DEBUG禁用通用时钟调试功能通用时钟框架用于管理内核中的时钟资源,禁用调试功能可减少内核体积