ARM Linux启动过程分析
摘 要: 嵌入式 Linux 的可移植性使得我们可以在各种电子产品上看到它的身影。对于不
同体系结构的处理器来说Linux的启动过程也有所不同。本文以S3C2410 ARM处理器为例,
详细分析了系统上电后 bootloader的执行流程及 ARM Linux的启动过程。
关键词:ARM Linux bootloader 启动过程
中图分类号:TP316
1. 引 言
Linux 最初是由瑞典赫尔辛基大学的学生 Linus Torvalds在1991 年开发出来的,之后在
GNU的支持下,Linux 获得了巨大的发展。虽然 Linux 在桌面 PC 机上的普及程度远不及微
软的 Windows 操作系统,但它的发展速度之快、用户数量的日益增多,也是微软所不能轻
视的。而近些年来 Linux 在嵌入式领域的迅猛发展,更是给 Linux 注入了新的活力。
一个嵌入式 Linux 系统从软件角度看可以分为四个部分[1]
:引导加载程序(bootloader),
Linux 内核,文件系统,应用程序。
其中 bootloader是系统启动或复位以后执行的第一段代码,它主要用来初始化处理器及
外设,然后调用 Linux 内核。Linux 内核在完成系统的初始化之后需要挂载某个文件系统做
为根文件系统(Root Filesystem)。根文件系统是 Linux 系统的核心组成部分,它可以做为
Linux 系统中文件和数据的存储区域,通常它还包括系统配置文件和运行应用软件所需要的
库。应用程序可以说是嵌入式系统的“灵魂”,它所实现的功能通常就是设计该嵌入式系统
所要达到的目标。如果没有应用程序的支持,任何硬件上设计精良的嵌入式系统都没有实用
意义。
从以上分析我们可以看出 bootloader 和 Linux 内核在嵌入式系统中的关系和作用。
Bootloader在运行过程中虽然具有初始化系统和执行用户输入的命令等作用,但它最根本的
功能就是为了启动 Linux 内核。在嵌入式
相关文档:
总览
用iptables -ADC 来指定链的规
则
,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......
由于 Linux 良好的用户权限管理体系,病毒往往是 Linux 系统管理员最后才需要考虑的问题。以往,Linux 上的杀毒软件主要是为企业的邮件和文件服务器所设计的。如今,随着 Linux 桌面用户数量的增长,桌面用户在受益于 Linux 系统对病毒较强的天然免疫力的同时,也需要杀毒软件清理从网络或U盘带来的WIndows病毒。尽管那些 ......
1. 摘要
本文阐述
Linux 中的文件系统部分,源代码来自基于 IA32 的 2.4.20 内核。总体上说 Linux
下的文件系统主要可分为三大块:一是上层的文件系统的系统调用,二是虚拟文件系统 VFS(Virtual Filesystem
Switch),三是挂载到 VFS 中的各实际文件系统,例如 ext2,jffs 等。本文侧重于通过具体的代码分析来解释 Linux ......
内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下:
static struct char_device_struct {
struct char_device_struct *next; // 指向散列冲突链表中的下一个元素 ......