2015-08-24 part2 bootloader前期准备

本文详细介绍了如何解压并配置U-Boot,包括创建文件夹、复制文件、修改配置文件等步骤,最终实现U-Boot的移植与编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、解压u-boot-2010.09

2、在board/Samsung/下创建一个文件夹fl2440,将smdk2410下文件全部复制到fl2440文件夹下,smdk2410.c修改为fl2440.c,并修改Makefile

3、修改boards.cfg

4、在include/configs/smdk2410.h复制为include/configs/fl2440.h

5、修改根目录下的Makefile中的cross_compile=xxxx/xxxx/xxxx

6、make fl2440_config

     此时会在include/下面产生一个config.mk文件和一个config.h文件以及include/

下的asm文件夹

7、make 

     查看编译是否可以通过,这样最终会得到u-boot   u-boot.bin    u-boot.lds    u-

boot.map


8、此时真正进入bootloader移植阶段

     请见下篇
<think>好的,我现在需要帮助用户了解如何通过分区表信息擦除EMMC中已烧录的系统。首先,我需要回顾用户提供的引用内容,看看有没有相关的步骤或方法。用户提到了引用[1]、[2]、[3],其中引用[1]详细说明了擦除EMMC的命令,如cleanallenv和mmc erase,以及可能的替代方法。引用[3]提到了分区表的信息,涉及MBR和GPT。用户的问题是如何利用分区表信息来擦除系统,这可能涉及到识别分区结构,然后针对性地擦除每个分区或整个存储设备。 首先,我需要明确EMMC擦除的一般方法,再结合分区表信息来操作。根据引用[1],擦除EMMC可以通过在mboot下执行命令,比如cleanallenv清除环境变量,mmc erase擦除整个EMMC。但用户想通过分区表信息来操作,可能需要先查看分区结构,再逐个擦除分区,或者根据分区表的位置擦除相关区域。 引用[3]提到MBR和GPT是主流的分区技术,所以可能需要根据不同的分区表类型来处理。例如,MBR的分区信息存储在第一个扇区,而GPT可能有多个备份。擦除系统可能需要覆盖这些分区信息,或者直接擦除整个EMMC。 接下来,我需要整理步骤:1. 进入bootloader或mboot环境;2. 查看分区表信息;3. 根据分区表类型选择擦除方式;4. 执行擦除命令。同时要注意,擦除分区表本身可能破坏分区结构,导致系统无法启动,所以可能需要先备份重要数据。 另外,引用[1]中提到mmc erase.p命令用于擦除特定分区,如factorydata和userdata,这可能是针对分区的擦除方法。因此,用户可能需要先识别系统所在的分区,然后使用相应命令擦除。或者直接擦除整个EMMC,如mmc erase命令。 不过用户的问题是通过分区表信息来擦除,所以可能需要先读取分区表,确定系统所在的分区位置,再针对这些分区进行操作。例如,使用mmc part命令查看分区列表,然后逐个擦除。或者直接擦除分区表本身,让系统无法识别已有的分区,这也是一种方法。 还需要注意,不同的设备可能有不同的命令,如引用[2]提到的mmc dd命令用于复制数据,可能可以用来备份或恢复。但用户的问题主要是擦除,所以可能需要结合分区信息,使用擦除命令。 总结步骤:进入bootloader模式,查看分区表,确定系统分区,使用分区擦除命令或整个EMMC擦除。需要确保操作正确,避免误删其他数据。同时,引用[1]提到的恢复出厂设置可能也是一种方法,但用户可能希望更底层的手动操作。</think>### 通过分区表信息擦除EMMC中系统的操作步骤 #### 1. **进入bootloader/mboot环境** 首先需要通过串口或特定按键组合进入设备的bootloader或mboot环境。在此模式下,可以通过命令行工具直接操作EMMC存储设备[^1]。 #### 2. **查看分区表信息** 通过以下命令查看EMMC的分区表结构: ```bash mmc part # 显示当前EMMC的分区列表 ``` 根据输出结果,可确认分区表类型(MBR或GPT)及分区布局[^3]。 #### 3. **根据分区表类型选择擦除方式** - **MBR分区表**: - MBR的分区信息存储在第一个扇区(LBA 0)。擦除MBR分区表可通过覆盖前446字节(分区表区域): ```bash mmc write 0 0x0 1 # 向EMMC的LBA 0写入空数据(需提前准备全零文件) ``` - **GPT分区表**: - GPT在磁盘头部(LBA 0)和尾部(备份)均存储分区信息。需同时擦除主分区表和备份: ```bash mmc write 0 0x0 34 # 擦除LBA 0-33(主GPT) mmc write 0 [END_LBA-33] 34 # 擦除备份GPT(END_LBA为EMMC总扇区数减1) ``` #### 4. **擦除特定系统分区(可选)** 如果仅需擦除系统相关分区(如`boot`、`system`),可针对分区编号操作: ```bash mmc erase.p boot # 擦除名为boot的分区 mmc erase.p system # 擦除系统分区 ``` 此方法需依赖分区命名规范,需提前通过`mmc part`确认[^1]。 #### 5. **完全擦除EMMC(推荐)** 若需彻底清除所有数据(包括系统和分区表),直接执行: ```bash cleanallenv # 清除环境变量 mmc erase # 擦除整个EMMC存储区域 ``` 该操作会将EMMC恢复为未初始化状态[^1]。 #### 6. **验证擦除结果** 重新查看分区表,确认是否为空: ```bash mmc part # 应显示无分区信息 ``` --- ### 注意事项 1. **备份重要数据**:擦除操作不可逆,建议提前通过`mmc dd`命令备份关键分区[^2]。 2. **分区表兼容性**:重新烧录系统时需匹配分区表类型(MBR/GPT),否则可能导致启动失败[^3]。 3. **物理操作风险**:错误擦除可能损坏EMMC寿命,需严格按照设备手册执行。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值