Linux-4.1.15启动分析

本文详细分析了Linux 4.1.15的启动过程,从链接脚本中确定的启动入口开始,通过arch/arm/kernel/head.S文件,解释了如何关闭MMU和D-cache,并验证atags或设备树。接着,文章概述了启动流程,包括检查CPU支持、调用start_kernel函数等步骤,最后进入start_kernel()函数,进行各种模块初始化,如创建进程和线程,以及寻找并启动init进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:链接脚本分析启动入口

arch/arm/kernel/vmlinux.lds

 *  arch/arm/include/asm/page.h
 *
 *  Copyright (C) 1995-2003 Russell King
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
OUTPUT_ARCH(arm)
ENTRY(stext)
jiffies = jiffies_64;
SECTIONS
{

... ...

由链接脚本可知启动入口为“ENTRY(stext)”,位于arch/arm/kernel/head.S

二:Linux启动流程分析

1、arch/arm/kernel/head.S

注释说明linux内核启动之前要求关闭MMU,关闭D-cache,不关心I-cache,r0=0.....

/*
 * Kernel startup entry point.
 * ---------------------------
 *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值