嵌入式 Linux 移植与根文件系统构建指南
1. Linux 移植到新开发板
将 Linux 移植到新开发板的难易程度,取决于新开发板与现有开发板的相似度。如果新开发板基于已有的参考设计,如基于 BeagleBone Black 的 Nova 开发板,则移植相对简单,只需对内核代码做少量修改。但如果是全新的硬件架构,移植工作会更复杂。以下主要讨论简单的移植情况。
不同架构系统中,特定架构代码的组织方式有所不同:
| 架构 | 代码组织特点 |
| ---- | ---- |
| x86 | 架构较为清晰,多数硬件细节在运行时检测 |
| PowerPC | 将 SoC 和特定开发板的文件放在子目录 platforms 中 |
| ARM | 架构相对复杂,因为基于 ARM 的 SoC 差异较大。与平台相关的代码放在以 mach - * 命名的目录中,每个 SoC 对应一个目录;还有以 plat - * 命名的目录,包含多个版本 SoC 的通用代码。例如,BeagleBone Black 相关目录为 arch/arm/mach - omap2,该目录支持 OMAP2、3、4 芯片以及 BeagleBone 使用的 AM33xx 系列芯片 |
接下来将介绍如何为新开发板创建设备树,并将其集成到 Linux 的初始化代码中。
2. 创建新设备树
首先要为开发板创建设备树,并修改它以描述 Nova 开发板新增或更改的硬件。在这个简单示例中,只需将 am335x - boneblack.dts 复制为 nova.dts,并修改 nova.dts 中的开发板名称:
超级会员免费看
订阅专栏 解锁全文
491

被折叠的 条评论
为什么被折叠?



