基于Exynos 4412空开发板烧写Uboot,内核及系统等(原)

刚出厂的开发板,核心板的eMMC内没有uboot的,或者我们在后期的开发板学习中不小心将eMMC中的Uboot刷写坏了,

导致开发板不能启动,此时就需要借助其他工具给eMMC重新烧写Uboot,开发板才能启动。

 

准备工具:

1.格式化工具:FormatTool.exe,用于格式化TF卡,能将隐藏分区也格式化掉。

2.三星提供的uboot包Exynos4x12_TC4_uboot,里面有将uboot烧写到SD卡的脚本。

3.iTOP4412开发板。

4.超级终端,这里使用SecureCRT。

 

运行环境:

Win10,VMWare15,Ubuntu16.04。

 

操作:

1. 格式化SD卡,如图:

格式化SD卡时,一定要选对SD卡盘符,否则可能会误操作格式化其他盘,数据无价。

 

2. 打开Ubuntu虚拟机,将SD卡接入Ubuntu虚拟机中,将三星提供的Uboot包复制到Ubuntu虚拟机中。

笔记本自带SD卡接口的,请看下面的文章:

如何将笔记本上的SD卡接入Ubuntu虚拟机中

 

 解压三星uboot包,编译uboot,

===============  需要测试 ======================

直接用编译好的uboot,和改过的mkuboot脚本,来烧写SD卡。

在当前目录打开终端,输入如下指令,查看SD卡设备:

sudo fdisk -l

 

如图,SD卡是/dev/sdb

 

输入如下命令开始制作带Uboot的SD卡:

sudo ./mkuboot /dev/sdb

 

写入成功后,如图:

 

此时带Uboot的SD卡就制作完成,插入开发板,将开发板的拨码开关设置为从SD卡启动,即可进入SD卡的Uboot。

如图:

 

error是由于没有烧写内核镜像。

 

3. 给SD卡分区,准备烧写uImage,linux文件系统等。

在Uboot模式下,输入如下命令:

fdisk -c 1 1024 1024 100

 

将SD卡分为sys,user和cache三个分区,剩余的空间是给FAT32分区用。

 

-c后面的1  表示SD卡设备, 0表示eMMC设置。

 

输入以下命令开始格式化分区:

fatformat mmc 1:1
ext3format mmc 1:2
ext3format mmc 1:3
ext3format mmc 1:4

 

格式化完成,如图:

 

此时关闭开发板,将SD卡再插入电脑,开始上传相关内核,系统镜像等,SD卡插入电脑可能会提示格式化,点击取消。

在Win下打开SD卡FAT32分区,创建 sdupdate 文件夹,将开发板相关的Uboot,内核,ramdisk和linux文件系统拷入其中。

如图:

 

然后将SD弹出,插入开发板,启动开发板,对eMMC分区。

进入uboot后,输入命令:

sdfuse flashall

该命令是将uboot,Image,ramdisk,linux文件系统都烧录进eMMC,

也可以使用以下单独的命令,分别烧写镜像。

sdfuse flash bootloader u-boot-iTOP-4412.bin
sdfuse flash kernel zImage
sdfuse flash ramdisk ramdisk-uboot.img
sdfuse flash system system.img

若只想烧写system镜像,可直接输入第四个命令,只烧写system镜像,而不会影响其他分区。

烧写完成后,关闭开发板,将拨码开关切到从eMMC启动,拔下SD卡,开机,此时开发板将从eMMC启动。

 

// end

posted on 2019-08-26 21:47  wybliw  阅读(1185)  评论(0)    收藏  举报