内核启动:
1、内核引导阶段
-
确定内核是否支持该架构 __lookuo_processor_type
-
确定内核是否支持该单板 __lookup_machine_type
-
建立一级页表 __create_page_tables
-
设置arm920 cpu核 禁止 I,D caches等 __arm920_setup
-
使能MMU __enable_mmu
-
复制数据段 清除BBS 设置栈指针 保存cpu ID到processor_id 保存机器类型到 __machine_arch_type变量 调用start_kernel
2、内核启动的第二阶段
-
输出Linux版本信息 printk(linux_banner)
-
设置与体系结构相关的环境setp_arch
-
setup_command_line
-
parse_early_param
-
unkown__bootoption
-
启动 init过程reset_init:
6.1:kernel_init
6.1.1: prepare_namespaces
6.1.1.1:挂载根文件系统 mount_root //由命令行参数决定
6.1.2: init_post
6.1.2.1: 执行应用程序