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启动参数,同上。