DM8168心得之从SD卡启动linux系统

### TI DM8168 从SD卡启动Linux系统详细指南 #### 一、前言 本篇文章将详细介绍如何在TI DM8168平台上实现从SD卡启动Linux系统的过程。文章作者卢浩在其时间(12.03.08)记录下此经验分享,环境基于Ubuntu 10.04 LTS以及TI DM8186平台,使用的内核版本为Linux 2.6.37。以下是具体的步骤和注意事项。 #### 二、准备工作 1. **SD卡分区**: 在上一篇文章中已经介绍了如何对SD卡进行分区处理,通常情况下需要三个分区:一个用于存放启动引导程序(如MLO和U-Boot),一个用于存放内核镜像(uImage),还有一个用于存放文件系统(rootfs)。 2. **文件准备**: 需要将MLO、uboot.bin和uImage这三个关键文件复制到SD卡的第一分区中。其中: - MLO:是U-Boot的一个小型加载器,负责加载U-Boot。 - uboot.bin:即U-Boot本身的二进制文件。 - uImage:基于TI的Linux 2.6.37内核编译生成的内核镜像文件。 #### 三、内核镜像编译 1. **配置**: 使用默认配置进行内核编译。 2. **编译**: 编译完成后会生成uImage文件,以及其他用于烧写NAND闪存的文件(例如boot.noxip.bin和rd-jffs2.bin)。 #### 四、文件系统准备 1. **文件系统解压**: 从BSP包中解压出文件系统,并将其复制到SD卡的第二个分区(即rootfs分区)中。 #### 五、硬件设置 1. **拨码开关设置**: 将拨码开关设置为1110100000,确保SPI和NAND的拨码开关关闭,以便正确地从SD卡启动。 2. **插入SD卡并开机**: 插入已经准备好的SD卡后,开启设备电源并按空格键进入U-Boot状态。 #### 六、U-Boot设置 1. **修改启动命令**: 在U-Boot状态下,需要修改`bootcmd`变量来指定从SD卡启动,具体命令如下: ``` setenv bootcmd 'mmc rescan 0; fatload mmc 0 81000000 uImage; bootm 81000000' ``` 这里`mmc rescan 0`表示重新扫描SD卡;`fatload mmc 0 81000000 uImage`将uImage加载到内存地址81000000;`bootm 81000000`则是从该内存地址启动内核。 2. **设置根文件系统**: 同时需要设置`bootargs`变量,指定根文件系统的路径等信息: ``` setenv bootargs 'console=ttyO2,115200n8 root=/dev/mmcblk0p2 mem=128M rootwait' ``` 这里`console=ttyO2,115200n8`指定了串口通信参数;`root=/dev/mmcblk0p2`指定根文件系统的路径;`mem=128M`指定了可用内存大小;`rootwait`表示等待根文件系统准备完成后再启动用户空间进程。 3. **保存并重启**: 执行`saveenv`保存设置,然后重启设备。 #### 七、常见问题与解决方法 1. **启动失败**: 如果出现启动失败的情况,需要检查SD卡是否被锁定。通常SD卡上有一个锁定开关,需要确认其处于解锁状态。 2. **其他故障排查**: 如果还有其他问题,可以参考官方文档或社区讨论寻找解决方案。 #### 八、总结 通过以上步骤,可以成功地在TI DM8168平台上实现从SD卡启动Linux系统的目标。整个过程涉及了从准备SD卡、编译内核、准备文件系统到设置硬件和软件环境等多个方面,对于初学者来说是一次很好的实践机会。同时,本文也强调了一些常见的问题和解决方法,有助于避免在实际操作中遇到障碍。























- 粉丝: 228
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大数据存储引擎的选型与性能评测.doc
- 大数据ETL管道的设计原则与实现方法.doc
- 大数据湖架构的构建与性能调优经验.doc
- 大数据机器学习平台的搭建与优化.doc
- 大数据可视化平台的选型与架构设计.doc
- 大数据流式计算框架Flink的核心原理解析.doc
- 基于Docker的持续集成与持续交付流程.doc
- 大数据批处理与实时处理的融合架构.doc
- 基于Hadoop的离线数据分析实战.doc
- 基于Python的自然语言处理入门与实战.doc
- 基于Serverless的无后端应用开发指南.doc
- 基于Spark Streaming的实时数据处理案例.doc
- 基于Spark的实时数据分析平台搭建指南.doc
- 基于Vue 3的组件库设计与实现技巧.doc
- 前端3D建模与渲染的实战技巧分享.doc
- 前端WebSocket长连接的优化与实战案例.doc



- 1
- 2
前往页