怎樣在Ubuntu下使用TF/SD 卡制作Exynos 4412 u-boot啟動盤

首先,我們應(yīng)該清楚TF/SD卡可以看作一張完全空白的“白紙”,之所以有分區(qū)、分區(qū)格式的區(qū)別不過是在在這張“白紙”的某些特定位置寫入了一些數(shù)據(jù)來指示分區(qū)、分區(qū)格式。
/**
******************************************************************************
* @author Maoxiao Hu
* @version V1.0.0
* @date Feb-2015
******************************************************************************
* < COPYRIGHT 2015 ISE of SHANDONG UNIVERSITY >
******************************************************************************
**/
硬件:迅為iTop 4412精英版 & TF卡
軟件:系統(tǒng)自帶終端即可
其次,我們還應(yīng)該清楚,在TF/SD啟動模式下,exynos 4412一上電,內(nèi)部iROM會從TF/SD的第1個Block(第512個字節(jié)開始)讀取8KB的數(shù)據(jù)到內(nèi)部iRAM,然后從內(nèi)部iRAM的0地址開始運(yùn)行。
原理搞清楚了,那么首先需要把TF/SD低級格式化-所有Block全部寫0。
1、連接TF/SD卡,打開終端
使用ls /dev/sd* 命令查看所有連接到電腦上磁盤。
問題:在這里為什么不用df命令?
原因是假設(shè)你的TF/SD卡只有一個分區(qū)但這個分區(qū)已損壞,或者有多個分區(qū)但是沒有一個可以識別的分區(qū),那么此時df命令無法查看到tf/sd卡,所以說直接列出dev下所有sd開頭的設(shè)備,是終極方案。
(1)假設(shè)你的tf/sd卡只有一個分區(qū),無論這個分區(qū)是否損壞,現(xiàn)象應(yīng)該是類似這樣的:
插上tf/sd卡之前:
插上tf/sd卡之后:
很明顯多出的/dev/sdb就是本文后續(xù)操作的對象。
(2)假設(shè)你的tf/sd卡已有多個分區(qū),無論這些分區(qū)是否損壞,現(xiàn)象應(yīng)該是類似這樣的:
插上tf/sd卡之前:
插上tf/sd卡之后:
這里多出5個設(shè)備,但是我們?nèi)匀粚?dev/sdb作為本文后續(xù)操作的對象。
注意:我這里是/dev/sdb,但是還有可能是/dev/sdc等等其它符號,必須根據(jù)你實(shí)際出現(xiàn)的設(shè)備名稱進(jìn)行以下操作,否則有可能損壞系統(tǒng)分區(qū),非常重要,切記?。?!
2、使用16進(jìn)制模式打開TF卡查看數(shù)據(jù)(可跳過)
我們使用linux自帶命令hexdump查看tf/sd卡中的數(shù)據(jù):
命令為:
sudo hexdump -n 1048576 /dev/sdb
其中-n 1048576代表打印出前1M=1024*1024=1048576字節(jié)的數(shù)據(jù)。
執(zhí)行結(jié)果(部分)如下:
*代表內(nèi)容為0x00,為了節(jié)省空間故作省略。
3、清空TF卡上前1MB的數(shù)據(jù)
由于4412的uboot大小基本在幾百kB的量級,所以清空前1MB空間足夠用,注意這里的清空不是格式化,而是填充0x00。
我們利用系統(tǒng)/dev下的zero設(shè)備,清零tf/sd卡前1MB。
執(zhí)行結(jié)果如下:
這里的count=2000代表清空2000個block,一個block=512B,2000個正好為1MB。
再次hexdump查看tf/sd卡數(shù)據(jù),發(fā)現(xiàn):
前1MB空間成功清0。
4、燒寫uboot啟動文件
在這里,我們待燒寫的文件為 u-boot-iTOP-4412.bin 這個文件。
終端執(zhí)行命令:
if代表輸入文件地址,以你u-boot-iTOP-4412.bin 這個文件的實(shí)際地址為準(zhǔn),of代表輸出地址,以你tf/sd卡的實(shí)際設(shè)備號為準(zhǔn)。
到這里,就可以將tf/sd卡插入開發(fā)板上電啟動了,為了證明我們燒寫無誤,我們執(zhí)行后續(xù)操作。
5、確認(rèn)燒寫正確(可跳過)
我們需要確定從tf/sd卡的第一個block開始處,確實(shí)正確燒寫了u-boot-iTOP-4412.bin這個文件,下面我們對比一下,用到的命令同樣還是hexdump。
在這里,我們?yōu)榱孙@示方便,只打印前5KB數(shù)據(jù),發(fā)現(xiàn)bin文件被正確的復(fù)制到了sd卡的512字節(jié)處:
6、將TF卡接到開發(fā)板上,撥碼開關(guān)選擇TF啟動,上電:
感謝:Zinway
相關(guān)文章
新特性搶先看! Ubuntu 25.04 Beta 發(fā)布:Linux 6.14 內(nèi)核
Canonical公司近日發(fā)布了Ubuntu 25.04 Beta版,這一版本被賦予了一個活潑的代號——“Plucky Puffin”(勇敢的海雀),據(jù)悉,正式的穩(wěn)定版預(yù)計(jì)將在2025年4月17日與廣大用戶2025-03-29如何讓 Ubuntu 居中顯示窗口? 3種方法實(shí)現(xiàn)Ubuntu窗口居中顯示
個人習(xí)慣不管打開終端窗口還是文件管理器窗口,都希望居中顯示,不太喜歡Linux下自動隨意的擺放位置,下面我們就來看看詳細(xì)設(shè)置方法2025-03-11Ubuntu 24.04.2 LTS 正式發(fā)布: 帶來全新硬件支持啟用堆棧HWE
buntu 24.04 LTS 的第 2 個小版本Ubuntu 24.04.2 LTS 正式發(fā)布,出了修復(fù)漏洞以外,它還帶來了全新的硬件支持啟用堆棧(HWE),讓系統(tǒng)性能和硬件兼容性更上一層樓2025-02-25怎么關(guān)閉Ubuntu無人值守升級? Ubuntu禁止自動更新的技巧
Ubuntu Linux系統(tǒng)禁止自動更新的時候,提示“無人值守升級在關(guān)機(jī)期間,請不要關(guān)閉計(jì)算機(jī)進(jìn)程”,該怎么解決這個問題?詳細(xì)請看下文介紹2025-01-20高效管理你的Linux系統(tǒng): Debian操作系統(tǒng)常用命令指南
在Debian操作系統(tǒng)中,了解和掌握常用命令對于提高工作效率和系統(tǒng)管理至關(guān)重要,本文將詳細(xì)介紹Debian的常用命令,幫助讀者更好地使用和管理Debian系統(tǒng)2025-01-20debian更新系統(tǒng)的命令怎么用? 輕松配置Debian自動更新的技巧
Debian不手動更新怎么體驗(yàn)新系統(tǒng)?Debian提供了一個既簡單又高效的解決辦法——自動更新,該怎么用呢?詳細(xì)請看下文介紹2025-01-20如何配置Ubuntu無人值守升級? 手動操作實(shí)現(xiàn)Ubuntu自動升級技巧
無人值守升級是一個用于自動更新 Debian 和 Ubuntu 系統(tǒng)的開源項(xiàng)目,該項(xiàng)目的主要目的是確保系統(tǒng)能夠定期自動安裝安全更新,從而保持系統(tǒng)的安全性和穩(wěn)定性2025-01-20Ubuntu系統(tǒng)怎么安裝Warp? 新一代AI 終端神器安裝使用方法
Warp是一款使用Rust開發(fā)的現(xiàn)代化AI 終端工具,該怎么再Ubuntu系統(tǒng)中安裝使用呢?下面我們就來看看詳細(xì)教程2025-01-20Debian如何查看系統(tǒng)版本? 7種輕松查看Debian版本信息的實(shí)用方法
Debian是一個廣泛使用的Linux發(fā)行版,用戶有時需要查看其版本信息以進(jìn)行系統(tǒng)管理、故障排除或兼容性檢查,在Debian系統(tǒng)中,有幾種不同的方法可以查看版本信息2025-01-17解決VMware中Ubuntu虛擬機(jī)鼠標(biāo)閃爍或指針位置不正確的方案
剛下載虛擬機(jī)后,電腦在虛擬機(jī)內(nèi)出現(xiàn)了鼠標(biāo)閃爍或者鼠標(biāo)指針位置不對的問題,該怎么解決呢?下面我們就來看看詳細(xì)教程2025-01-09