ARM+Linux系统启动流程分析----系统启动总概述

本文概述了ARM+Linux嵌入式系统的启动流程,包括Bootloader、Kernel及根文件系统的角色与职责,并简要介绍了各阶段的主要任务。

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

        本文章和后续的几篇姊妹篇,笔者将对 ARM+Linux 的主流嵌入式系统的启动流程进行介绍,所作介绍目的有二:其一为记录自己的学习经历,总结所学;其二希望能帮助到有需要的网友,当然笔者也希望能得到各位前辈的指点。由于本人水平有限,不免认识有所偏差,真切希望各位能真诚指出。

        开发环境如下:

                                        PC操作系统:RetHat Enterprise Linux6.3版本,内核版本:linux-2.6.39

                                        交叉工具链:arm-linux-xxx 4.3.2

                                        开发板:Friendly Mini2440 :arm9内核,64M SDRAM,256M NAND FLASH

                                        bootloader:u-boot-2009.08

                                        开发板内核版本:linux-2.6.32

        这是本系列文章的开篇,正如标题所示本篇文章将首先对整个系统的启动流程做一个粗略的介绍,至于启动过程中的细节将是后续文章的主题。

        总的来说,ARM+Linux 系统的软件架构如下(来自国嵌课程):

                                     

        上图是笔者开发板nand flash 上的内容分布。如上所示,硬件系统是位于Bootloader左边的,系统一上电,第一个得到执行的是Bootloader,接着Bootloader通过指定Boot parameters来加载kernel ,kernel完成工作后就会执行文件系统里的应用程序。下面简单介绍每个阶段所完成的工作,这里只是很粗略的说明而已,具体每个步骤完成哪些工作留待后面的文章详细介绍。

1、bootloader

        bootloader 的工作总的来说就是一句话:对硬件进行初始化,然后加载内核并启动内核。

 2、kernel 

        bootloader 启动内核后,内核进行一系列的初始化,这些初始化包括硬件的,也包括软件的,如各种内核用到的表,然后挂载一个或者多个文件系统。

3、root filesystem

        root filesystem 是内核挂载的第一个文件系统,这里包含系统的第一个用户进程。笔者认为文件系统用户操作kernel 的一个通道,基本上我们使用操作系统都是在和文件系统打交道。

        本章完,下一篇:《ARM+Linux系统启动流程分析----ARM处理器的启动流程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值