基于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
浙公网安备 33010602011771号