内核模块组成和裁剪参考表
1 环境
Linux 6.12.22
2 效果
裁剪后可减少内核大小30-50%,启动时间缩短20-40%
3 模块列表、功能说明以及是否可以裁剪
trace_init_flags_sys_enter | 系统调用入口跟踪标志初始化 | ✅ 是(调试功能) |
trace_init_flags_sys_exit | 系统调用出口跟踪标志初始化 | ✅ 是(调试功能) |
cpu_suspend_init | CPU休眠状态初始化 | ❌ 否(电源管理核心) |
asids_init | ASID(地址空间ID)分配器初始化 | ❌ 否(MMU必需) |
spawn_ksoftirqd | 创建内核软中断守护进程 | ❌ 否(中断处理核心) |
init_signal_sysctls | 信号处理的sysctl配置 | ✅ 是(可优化配置) |
init_umh_sysctls | 用户模式助手sysctl配置 | ✅ 是(特殊场景需求) |
migration_init | CPU迁移线程初始化 | ❌ 否(SMP核心) |
printk_set_kthreads_ready | 设置kthread就绪状态 | ❌ 否(内核打印核心) |
srcu_bootup_announce | SRCU启动公告 | ❌ 否(RCU机制) |
rcu_spawn_gp_kthread | 创建RCU垃圾回收线程 | ❌ 否(RCU核心) |
check_cpu_stall_init | RCU CPU停滞检测 | ⚠️ 生产环境可裁(调试) |
rcu_sysrq_init | RCU SysRq调试支持 | ✅ 是(调试功能) |
cpu_stop_init | CPU停止任务初始化 | ❌ 否(热插拔核心) |
init_kprobes | kprobes内核探针支持 | ✅ 是(动态调试) |
init_trace_printk | 跟踪printk格式化支持 | ✅ 是(ftrace相关) |
event_trace_enable_again | 重新启用事件跟踪 | ✅ 是(跟踪功能) |
irq_work_init_threads | 中断工作队列线程 | ❌ 否(中断核心) |
init_zero_pfn | 零页帧初始化 | ❌ 否(内存管理) |
init_fs_inode_sysctls | inode相关sysctl | ✅ 是(文件系统优化) |
init_fs_locks_sysctls | 文件锁sysctl | ✅ 是(特殊配置) |
init_fs_sysctls | 文件系统全局sysctl | ✅ 是(可优化配置) |
init_security_keys_sysctls | 安全密钥sysctl | ✅ 是(安全模块) |
dynamic_debug_init | 动态调试控制 | ✅ 是(调试功能) |
efi_memreserve_root_init | EFI内存保留区初始化 | ⚠️ UEFI系统必需 |
arm_enable_runtime_services | ARM运行时服务 | ⚠️ ARM64必需 |
efi_earlycon_remap_fb | EFI控制台帧缓冲重映射 | ⚠️ EFI系统依赖 |
dummy_timer_register | 虚拟计时器注册 | ❌ 否(时钟后备) |
bpf_jit_charge_init | BPF JIT内存记账 | ⚠️ BPF使用时必需 |
ipc_ns_init | IPC命名空间初始化 | ⚠️ 容器技术依赖 |
init_mmap_min_addr | 内存映射最小地址设置 | ❌ 否(安全核心) |
pci_realloc_setup_params | PCI资源重分配参数 | ⚠️ PCI设备依赖 |
inet_frag_wq_init | IP分片重组工作队列 | ❌ 否(网络核心) |
fpsimd_init | ARM SIMD浮点单元 | ❌ 否(ARM64核心) |
tagged_addr_init | 地址标记支持 | ❌ 否(ARM64特性) |
init_amu_fie | 活动监控单元初始化 | ⚠️ 特定CPU需求 |
arm64_efi_rt_init | ARM64 EFI运行时 | ⚠️ UEFI系统必需 |
map_entry_trampoline | 内核入口蹦床映射 | ❌ 否(启动核心) |
alloc_frozen_cpus | 分配冻结CPU位图 | ❌ 否(热插拔) |
cpu_hotplug_pm_sync_init | CPU热插拔与PM同步 | ❌ 否(电源管理) |
wq_sysfs_init | 工作队列sysfs接口 | ✅ 是(调试接口) |
ksysfs_init | 内核sysfs根目录 | ❌ 否(sysfs核心) |
pm_init | 电源管理子系统 | ❌ 否(电源核心) |
rcu_set_runtime_mode | RCU运行时模式设置 | ❌ 否(RCU核心) |
init_jiffies_clocksource | jiffies时钟源 | ❌ 否(时间核心) |
futex_init | FUTEX同步机制 | ❌ 否(线程同步) |
cgroup_wq_init | Cgroup工作队列 | ❌ 否(Cgroup核心) |
cgroup1_wq_init | Cgroup v1工作队列 | ⚠️ v1版本专用 |
ftrace_mod_cmd_init | ftrace修改命令 | ✅ 是(跟踪功能) |
init_graph_trace | 函数图跟踪 | ✅ 是(ftrace) |
trace_events_eprobe_init_early | 事件探测早期初始化 | ✅ 是(跟踪) |
init_kprobe_trace_early | kprobe跟踪早期初始化 | ✅ 是(调试) |
cpu_pm_init | CPU空闲电源管理 | ❌ 否(PM核心) |
bpf_offload_init | BPF硬件卸载 | ⚠️ 特定硬件需求 |
cgroup_bpf_wq_init | Cgroup BPF工作队列 | ⚠️ BPF+Cgroup时必需 |
execmem_late_init | 可执行内存分配器 | ❌ 否(内存管理) |
fsnotify_init | 文件系统通知机制 | ✅ 是(监控功能) |
filelock_init | 文件锁初始化 | ❌ 否(文件系统) |
init_script_binfmt | 脚本二进制格式 | ✅ 是(特殊需求) |
init_elf_binfmt | ELF二进制格式 | ❌ 否(执行核心) |
init_compat_elf_binfmt | 兼容ELF格式 | ⚠️ 32位支持需求 |
debugfs_init | 调试文件系统 | ✅ 是(调试接口) |
tracefs_init | 跟踪文件系统 | ✅ 是(ftrace相关) |
register_xor_blocks | XOR加速块注册 | ⚠️ RAID优化 |
gpiolib_dev_init | GPIO库设备框架 | ⚠️ GPIO设备依赖 |
genpd_bus_init | 通用电源域总线 | ❌ 否(PM核心) |
virtio_init | 虚拟化框架 | ⚠️ 虚拟化环境必需 |
iommu_init | IOMMU子系统 | ⚠️ IOMMU设备依赖 |
component_debug_init | 组件调试支持 | ✅ 是(调试) |
soc_bus_register | SoC总线注册 | ⚠️ SoC设备依赖 |
free_raw_capacity | 释放CPU原始容量数据 | ❌ 否(调度核心) |
arm_dmi_init | ARM DMI信息收集 | ⚠️ 特定平台 |
arch_timer_evtstrm_register | 架构定时器事件流 | ❌ 否(时钟核心) |
sock_init | 套接字子系统 | ❌ 否(网络核心) |
net_inuse_init | 网络协议统计 | ✅ 是(监控) |
sock_struct_check | 套接字结构检查 | ✅ 是(调试) |
init_default_flow_dissectors | 默认流分类器 | ❌ 否(网络核心) |
netpoll_init | 网络轮询支持 | ⚠️ 特殊网络需求 |
netlink_proto_init | Netlink协议 | ❌ 否(内核通信) |
genl_init | 通用Netlink协议 | ❌ 否(通信核心) |
debug_monitors_init | 调试监视器初始化 | ✅ 是(ARM调试) |
irq_sysfs_init | 中断sysfs接口 | ✅ 是(调试) |
dma_atomic_pool_init | DMA原子池 | ⚠️ DMA设备依赖 |
release_early_probes | 释放早期探测内存 | ❌ 否(内存管理) |
bdi_class_init | 后备设备类 | ❌ 否(块设备) |
mm_sysfs_init | 内存管理sysfs | ✅ 是(监控) |
init_per_zone_wmark_min | 内存区水位线 | ❌ 否(内存核心) |
pcibus_class_init | PCI总线类 | ⚠️ PCI设备依赖 |
pci_driver_init | PCI驱动子系统 | ⚠️ PCI设备依赖 |
amba_init | AMBA总线初始化 | ⚠️ ARM外设需求 |
tty_class_init | TTY设备类 | ❌ 否(终端核心) |
vtconsole_class_init | 虚拟控制台类 | ❌ 否(控制台) |
iommu_dev_init | IOMMU设备框架 | ⚠️ IOMMU设备 |
devlink_class_init | 设备链路类 | ✅ 是(网络配置) |
software_node_init | 软件节点支持 | ⚠️ 无固件设备时 |
wakeup_sources_debugfs_init | 唤醒源调试接口 | ✅ 是(调试) |
wakeup_sources_sysfs_init | 唤醒源sysfs | ✅ 是(监控) |
regmap_initcall | 寄存器映射框架 | ⚠️ 硬件寄存器访问 |
syscon_init | 系统控制器框架 | ⚠️ 特定平台 |
i2c_init | I2C子系统 | ⚠️ I2C设备依赖 |
kobject_uevent_init | kobject事件 | ❌ 否(设备模型) |
reserve_memblock_reserved_regions | 保留内存块区域 | ❌ 否(内存) |
aarch32_alloc_vdso_pages | 32位兼容VDSO | ⚠️ 32位应用支持 |
vdso_init | VDSO虚拟库 | ❌ 否(用户空间加速) |
arch_hw_breakpoint_init | 硬件断点支持 | ✅ 是(调试) |
adjust_protection_map | 内存保护映射 | ❌ 否(安全) |
asids_update_limit |