1. How to define new initcall

a) Built-in initcall


b) Module initcall


2. Howdoes the kernel call the initcall
a) 函数调用关系如下:
start_kernel() => rest_init() => kernel_init() => kernel_init_freeable()=> do_basic_setup() => do_initcalls()
b) 原理及过程
i. 代码时调用initcall系列宏
ii. 编译时,编译器将这些宏放入指定的section
iii.



本文介绍了Linux内核中初始化调用(initcall)的概念及其使用方式。详细讲解了如何定义新的初始化调用,包括内置initcall和模块initcall两种方式,并解释了内核启动过程中调用initcall的具体流程。
2235

被折叠的 条评论
为什么被折叠?



