今天心血来潮,想写一下linux 驱动加载概要。
在u-boot 运行完之后,就开始进行kernel 加载。 那么这个kernel 是依据什么来加载的, 各个驱动的加载顺序是怎样的?下面以3.10 的kernel 从大的方面概要说明一下,不正之处,敬请指正。
1. 从kernel start 到驱动加载的函数顺序 start_kernel()-> rest_init()-> kernel_init() -> do_basic_setup() -> do_initcalls() -> do_one_initcall(initcall_t fn) ->
2. start_kernel() 到 do_basic_setup() 都是对系统及 cpu 等相关做初始化的动作。 这里就不多讲