ARM Linux启动过程解析
需积分: 0 94 浏览量
更新于2024-07-09
收藏 139KB PDF 举报
"ARM Linux 启动过程分析文档,作者张俊岭,基于AT91SAM9260EK板,使用Linux内核版本2.6.21。文档详细介绍了Linux内核在ARM架构下的启动流程,包括压缩内核和非压缩内核映像的生成步骤。"
在嵌入式系统中,尤其是基于ARM架构的Linux系统,启动过程是理解整个系统运行机制的关键部分。本文档详细阐述了ARMLinux的启动流程,主要分为两个关键环节:非压缩内核映像和压缩内核映像的生成及执行。
首先,非压缩内核映像是一个未经压缩的、可以直接执行的Linux内核代码。它由`makeImage`命令生成。这个过程涉及以下步骤:
1. 内核源代码编译链接后,会在顶层目录下生成一个ELF格式的文件`vmlinux`。
2. 使用`arm-linux-objcopy`工具将`vmlinux`转换为二进制格式的`Image`文件,这是非压缩内核映像。
其次,压缩内核映像则是为了节省存储空间而设计的。它通过`makezImage`命令生成,步骤如下:
1. 使用`gzip`工具对非压缩内核二进制映像`arch/arm/boot/Image`进行压缩,得到`piggy.gz`文件。
2. 在`arch/arm/boot/compressed/`目录下,`piggy.s`、`head.S`和`vmlinux-lds`等文件被编译链接,生成一个包含解压代码的ELF格式的`vmlinux`文件。
3. 最后,再次使用`arm-linux-objcopy`将此`vmlinux`转换为二进制格式的`zImage`,这是压缩内核映像。
启动过程中,压缩内核映像会先执行解压缩代码,释放出非压缩内核映像,然后继续执行非压缩内核的代码,从而完成系统的启动。
理解这一启动过程对于调试、优化以及定制嵌入式Linux系统至关重要,因为它涉及到硬件初始化、内存管理、设备驱动等核心操作。同时,熟悉内核映像的生成方法也有助于在有限的存储资源下,有效管理和配置内核映像,以适应不同的嵌入式应用场景。
2011-06-23 上传
2022-06-24 上传
2011-07-17 上传
2023-08-01 上传
2023-07-01 上传
2023-07-26 上传
2024-01-27 上传
2023-07-21 上传
2024-01-15 上传
qoo12
- 粉丝: 1
- 资源: 86
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升