怎样在Ubuntu下使用TF/SD 卡制作Exynos 4412 u-boot启动盘
首先,我们应该清楚TF/SD卡可以看作一张完全空白的“白纸”,之所以有分区、分区格式的区别不过是在在这张“白纸”的某些特定位置写入了一些数据来指示分区、分区格式。
/**
******************************************************************************
* @author Maoxiao Hu
* @version V1.0.0
* @date Feb-2015
******************************************************************************
* < COPYRIGHT 2015 ISE of SHANDONG UNIVERSITY >
******************************************************************************
**/
硬件:迅为iTop 4412精英版 & TF卡
软件:系统自带终端即可
其次,我们还应该清楚,在TF/SD启动模式下,exynos 4412一上电,内部iROM会从TF/SD的第1个Block(第512个字节开始)读取8KB的数据到内部iRAM,然后从内部iRAM的0地址开始运行。
原理搞清楚了,那么首先需要把TF/SD低级格式化-所有Block全部写0。
1、连接TF/SD卡,打开终端
使用ls /dev/sd* 命令查看所有连接到电脑上磁盘。
问题:在这里为什么不用df命令?
原因是假设你的TF/SD卡只有一个分区但这个分区已损坏,或者有多个分区但是没有一个可以识别的分区,那么此时df命令无法查看到tf/sd卡,所以说直接列出dev下所有sd开头的设备,是终极方案。
(1)假设你的tf/sd卡只有一个分区,无论这个分区是否损坏,现象应该是类似这样的:
插上tf/sd卡之前:

插上tf/sd卡之后:

很明显多出的/dev/sdb就是本文后续操作的对象。
(2)假设你的tf/sd卡已有多个分区,无论这些分区是否损坏,现象应该是类似这样的:
插上tf/sd卡之前:

插上tf/sd卡之后:

这里多出5个设备,但是我们仍然将/dev/sdb作为本文后续操作的对象。
注意:我这里是/dev/sdb,但是还有可能是/dev/sdc等等其它符号,必须根据你实际出现的设备名称进行以下操作,否则有可能损坏系统分区,非常重要,切记!!!
2、使用16进制模式打开TF卡查看数据(可跳过)
我们使用linux自带命令hexdump查看tf/sd卡中的数据:
命令为:
sudo hexdump -n 1048576 /dev/sdb
其中-n 1048576代表打印出前1M=1024*1024=1048576字节的数据。
执行结果(部分)如下:

*代表内容为0x00,为了节省空间故作省略。
3、清空TF卡上前1MB的数据
由于4412的uboot大小基本在几百kB的量级,所以清空前1MB空间足够用,注意这里的清空不是格式化,而是填充0x00。
我们利用系统/dev下的zero设备,清零tf/sd卡前1MB。
执行结果如下:

这里的count=2000代表清空2000个block,一个block=512B,2000个正好为1MB。
再次hexdump查看tf/sd卡数据,发现:

前1MB空间成功清0。
4、烧写uboot启动文件
在这里,我们待烧写的文件为 u-boot-iTOP-4412.bin 这个文件。
终端执行命令:

if代表输入文件地址,以你u-boot-iTOP-4412.bin 这个文件的实际地址为准,of代表输出地址,以你tf/sd卡的实际设备号为准。
到这里,就可以将tf/sd卡插入开发板上电启动了,为了证明我们烧写无误,我们执行后续操作。
5、确认烧写正确(可跳过)
我们需要确定从tf/sd卡的第一个block开始处,确实正确烧写了u-boot-iTOP-4412.bin这个文件,下面我们对比一下,用到的命令同样还是hexdump。
在这里,我们为了显示方便,只打印前5KB数据,发现bin文件被正确的复制到了sd卡的512字节处:

6、将TF卡接到开发板上,拨码开关选择TF启动,上电:

感谢:Zinway
相关文章

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核
Canonical公司近日发布了Ubuntu 25.04 Beta版,这一版本被赋予了一个活泼的代号——“Plucky Puffin”(勇敢的海雀),据悉,正式的稳定版预计将在2025年4月17日与广大用户2025-03-29
如何让 Ubuntu 居中显示窗口? 3种方法实现Ubuntu窗口居中显示
个人习惯不管打开终端窗口还是文件管理器窗口,都希望居中显示,不太喜欢Linux下自动随意的摆放位置,下面我们就来看看详细设置方法2025-03-11
Ubuntu 24.04.2 LTS 正式发布: 带来全新硬件支持启用堆栈HWE
buntu 24.04 LTS 的第 2 个小版本Ubuntu 24.04.2 LTS 正式发布,出了修复漏洞以外,它还带来了全新的硬件支持启用堆栈(HWE),让系统性能和硬件兼容性更上一层楼2025-02-25
怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧
Ubuntu Linux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看下文介绍2025-01-20
高效管理你的Linux系统: Debian操作系统常用命令指南
在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使用和管理Debian系统2025-01-20
debian更新系统的命令怎么用? 轻松配置Debian自动更新的技巧
Debian不手动更新怎么体验新系统?Debian提供了一个既简单又高效的解决办法——自动更新,该怎么用呢?详细请看下文介绍2025-01-20
如何配置Ubuntu无人值守升级? 手动操作实现Ubuntu自动升级技巧
无人值守升级是一个用于自动更新 Debian 和 Ubuntu 系统的开源项目,该项目的主要目的是确保系统能够定期自动安装安全更新,从而保持系统的安全性和稳定性2025-01-20
Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法
Warp是一款使用Rust开发的现代化AI 终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程2025-01-20
Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法
Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debian系统中,有几种不同的方法可以查看版本信息2025-01-17
解决VMware中Ubuntu虚拟机鼠标闪烁或指针位置不正确的方案
刚下载虚拟机后,电脑在虚拟机内出现了鼠标闪烁或者鼠标指针位置不对的问题,该怎么解决呢?下面我们就来看看详细教程2025-01-09







最新评论