android系统移植emmc记录(2)--u-boot烧写emmc方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
android系统移植emmc记录(2)--u-boot烧写emmc方式
U-boot 支持2种方式烧写 emmc设备:
Fastboot命令:通过usb接口烧写。
步骤:
1.编写u-boot支持从sd卡启动,里面涉及到文件的修改,下面讲解。
2.按照上述方法,把u-boot烧录到sd上,使开发板从sd卡启动。
3.进入开发板命令终端 # :
4.首先格式emmc,目的是分配4个分区。分别为vfat分区, system 分区, userdata分区, Cache分区.
# : fdisk -c 0
-c :表示格式当前设备
0:表示初始化的emmc设备节点,mmc/sd设备加载顺序,分配的节点从0开始到3结束。不管你从哪个通道指定起始设备,多从0开始分配。如:emmc占用通道0口,
分配的节点是 0,sd卡占用通道2口,分配的节点是 1.
如果不初始化emmc,只使用sd卡模式,在sd卡占用通道2口时,分配的节点是 0.这点请了解源代码,后续会修改。
所以,如果想给板子上SD分区的话,使用如下命令(在emmc也初始化成功的情况下)
#: fdisk -c 1
查看设备分区情况:
#:fdisk -p 0
5.格式化分区,vfat分区为fat32格式。其它都为 ext3文件系统格式.
格式vfat分区: #:fatformat mmc 0:1
0:同上意思,表示的已经加载的emmc设备节点。
1:表示第1个分区,注意。程序默认第一个分区必须为fat分区,
只能指定为 1,程序会比较是否为分区1,不是就不会格式化。
格式ext3分区:
#:ext3format mmc 0:2 //system
#:ext3format mmc 0:3 //userdata
#:ext3format mmc 0:4 //cache
6:烧写文件:
#:fastboot
给开发板通过usb线跟pc连接。
下载工具:fastboot到windows下,把要烧录的文件 zImage system userdata放到fastboot 文件里面。
点windows下开始 ---->运行 :输入:cmd
在控制行下进入fastboot所在的路径如:
输入命令: fastboot flash bootloader u-boot.bin
fastboot flash kernel zImage
fastboot flash ramdisk ramdisk-uboot.img
Fastboot flash system system..ext3
7.修改u-boot启动参数:
Set bootcmd " movi read kernel c0008000 ;movi rootfs c0800000 180000; Bootm c0008000 c0800000"
Save
--------------------------------------------------------------------------- Sdfuse 烧写方式:
步骤:
1:编写u-boot支持从sd卡启动,里面涉及到文件的修改,下面讲解。
:2:按照上述方法,把u-boot烧录到sd上,使开发板从sd卡启动。
3:在sd里新建文件目录 sdfuse,然后把需要烧写的文件放入里面。
4:从SD卡模式启动开发板,进入开发板命令终端 # :
5:分区: fdisk -c 0
确保已经对emmc分配了节点 0 ,sd卡分配的节点 1.
6:格式化同上。
7:烧写文件:
Sdfuse flash bootloader u-boot.bin
Sdfuse flash kernel zImage
Sdfuse flash ramdisk ramdisk-uboot.img
Sdfuse flash system system.ext3
或者修改文件,支持全部自动烧写:
Sdfuse flashall
8: 修改u-boot启动参数,同上。