配置ABOOT:MTD分区与根文件系统
需积分: 17 168 浏览量
更新于2024-09-09
收藏 5KB TXT 举报
"这篇文档是关于‘aboot config’的txt日记文档,主要涉及Linux启动过程中设置环境变量和bootloader参数。"
在嵌入式Linux系统中,`aboot`通常指的是引导加载器(bootloader),它是系统启动时运行的第一段代码,负责加载操作系统内核并传递控制权。在配置aboot时,我们关注的关键点是设置环境变量和boot arguments (`bootargs`),这些设置直接影响系统的启动过程和挂载文件系统。
1. **bootargs**: `bootargs` 是传递给内核的一系列启动参数,它定义了系统启动时的一些关键配置,例如根文件系统类型、内存分配等。例如:
- `root=/dev/mtdblock1rw`: 这里指定了根文件系统位于mtdblock1设备,并且以读写模式挂载。
- `rootfstype=jffs2`: 表示根文件系统类型为JFFS2(Journaling Flash File System 2)。
- `mtdparts`: 用于定义物理映射闪存(`phys_mapped_flash`)的分区,如kernel、rootfs、Boot、Env等。
- `console=ttyS0,115200n8`: 设置串行控制台在ttyS0上,波特率115200,数据位8,无奇偶校验,停止位1。
2. **mtdparts**: MTD(Memory Technology Device)是Linux内核中的驱动框架,用于处理非易失性存储器,如闪存。`mtdparts`环境变量用于定义MTD设备的分区,如上例所示,定义了不同的分区大小和用途,如kernel、rootfs、Boot、Env等。
3. **setenv** 和 **saveenv**: `setenv` 用于设置环境变量,而 `saveenv` 命令则将这些设置保存到非易失性存储中,以便在下一次启动时使用。
4. **bootcmd**: `bootcmd` 是一个特殊的环境变量,包含了启动命令序列。例如,`bootm 0xbf000000` 会执行位于地址0xbf000000的代码,这通常是加载和启动内核。
5. **保护与安全**: 文档中提到了`protect off all`,这可能是指解除所有Flash区域的写保护,以便进行更新或配置。`saveenv`之后通常需要保护环境变量区域,防止意外修改。
6. **设备树**: 在某些系统中,设备树(`fdt`)被用来描述硬件结构,以便内核能够正确识别和初始化硬件。在`bootargs`中指定`fdt`分区位置有助于内核加载设备树 blob。
7. **文件系统类型**: 文档提到了几种不同的文件系统类型,如ext2、jffs2、squashfs,这些都是针对嵌入式设备常见的文件系统,每种都有其优缺点和适用场景。
在配置aboot时,需要根据具体硬件和系统需求调整这些参数。正确设置这些值对于确保系统正常启动和运行至关重要。
2023-11-22 上传
2021-06-19 上传
2021-05-17 上传
2021-06-14 上传
2021-05-03 上传
2018-01-17 上传
2018-01-25 上传
qq_40745866
- 粉丝: 0
- 资源: 7
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南