linux内核启动流程

内核启动:

1、内核引导阶段

  1. 确定内核是否支持该架构  __lookuo_processor_type

  2.  确定内核是否支持该单板 __lookup_machine_type

  3. 建立一级页表  __create_page_tables

  4. 设置arm920 cpu核 禁止 I,D caches等  __arm920_setup

  5. 使能MMU  __enable_mmu

  6. 复制数据段  清除BBS 设置栈指针  保存cpu ID到processor_id   保存机器类型到 __machine_arch_type变量 调用start_kernel

2、内核启动的第二阶段

  1. 输出Linux版本信息  printk(linux_banner)

  2. 设置与体系结构相关的环境setp_arch

  3. setup_command_line

  4. parse_early_param

  5. unkown__bootoption

  6. 启动 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: 执行应用程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值