續 > iTop-4412 刷機方式詳解(1)
2.Android 4.0.3 的燒寫(USB 燒寫到 eMMC)
2.1 準備工作
1)硬體準備:
開發闆、 電源、 序列槽線、 MicroUSB線
2)軟體及驅動準備:
ADB驅動、 序列槽驅動、 SecureCRT
3)安裝鏡像(壓縮包):
u-boot-iTOP-4412.bin(U-boot, 通用引導程式)
zImage(kernel, 核心)
ramdisk-uboot.img 和 system.img(rootfs, 根檔案系統)
2.2 燒寫過程
1)連接配接電源、 序列槽線 和 OTG 線
2)打開SecureCRT, 連接配接開發闆
3)打開開發闆電源, 進入 uboot 引導程式
4)給 eMMC 建立分區并格式化
$fdisk -c 0
按照預設方式給 eMMC 分區, 可以分為四個區: 使用者應用區、 系統區、 使用者資料去區、 緩存區。
fdisk 的 Usage:
fdisk <-p> <device_num>
fdisk <-c> <device_num> [<sys. part size(MB)> <user part size> <cache part size>]
-p 代表檢視操作, -c代表分區操作
device_num = 0 代表 eMMC; device_num = 1 代表 TF / SD 卡
不加參數時按照預設方式進行分區; 加參數時按照參數大小對存儲器後三個區進行分區, 例如:
$fdisk -c 0 300 300 300
我們可以根據實際需求更改分區大小
b)格式化 Fat 檔案系統
$fatformat mmc 0:1
c)格式化 Sys 分區
$ext3format mmc 0:2
d)格式化 Data 分區
$ext3format mmc 0:3
e)格式化 Cache 分區
$ext3format mmc 0:4
5)連接配接主機
在 SecureCRT 界面輸入:
$fastboot
這時候 SecureCRT 應該不能動了, 切到 windows 下的 cmd。 如果正常連接配接的話, 輸入 fastboot 應該會有音效,裝置管理器也可以看到相應的驅動。 不正常的話, 重新安裝一下驅動。 我就出現了在 Android 下驅動正常, fastboot 連接配接主機時出現「未知裝置Android 1.0」。後來用了手機助手比如豌豆莢後才安裝正常。
6)打開 fastboot 工具
如何你設定了環境變量的話, adb 和 fastboot 指令應該是可以在 cmd 下直接調用的, 沒有設定的話也可以到platform-tools 目錄下打開 cmd.exe。
7)燒寫 U-boot (此步驟可跳過)
8)打開 fastboot 工具
如何你設定了環境變量的話, adb 和 fastboot 指令應該是可以在 cmd 下直接調用的, 沒有設定的話也可以到platform-tools 目錄下打開 cmd.exe。
9)燒寫U-boot (此步驟可跳過)
$fastboot flash bootloader u-boot-iTOP-4412.bin
注:最後一個是檔案名,如果不在目前檔案路徑的話應該輸入檔案的全路徑。
使用 USB 燒寫時我們需要通過 U-boot 來進行引導, 沒有 U-boot 是根本無法進行燒寫的。 是以一般使用 USB 燒寫的情況下隻燒寫核心和檔案系統。 隻有在 U-boot損壞的情況下, 我們會首先進行 U-boot 燒寫, 就是我們所說的出廠燒寫。
10)燒寫kernel
$fastboot flash kernel zImage
11)燒寫rootfs ,輸入指令
$fastboot flash ramdisk ramdisk-uboot.img
$fastboot flash system system.img
12)輸入擦除指令
$fastboot -w
13)輸入重新開機指令
$fastboot reboot
重新開機成功就可以使用燒錄的安卓系統了。
3.Android 4.0.3 的燒寫(TF 卡燒寫到 eMMC)
3.1 準備工作
1)硬體準備:
開發闆、 電源、 序列槽線、 TF 卡
2)軟體及驅動準備:
ADB驅動、 序列槽驅動、 SecureCRT
3)安裝鏡像(壓縮包):
u-boot-iTOP-4412.bin(uboot, 通用引導程式), iTop4412_uboot_20151119.tar.gz
zImage(kernel, 核心)
ramdisk-uboot.img 和 system.img(rootfs, 根檔案系統)
3.2 燒寫過程
1)将 TF 卡接到主機上, 在 TF 卡根目錄下建立 sdupdate 目錄, 拷貝所有的需要鏡像檔案(可以不拷貝U-boot)到該目錄下。再将 TF 卡重新接到開發闆上。
2)連接配接電源、 序列槽線、 往開發闆中插入 TF 卡, 使用 eMMC 方式啟動
3)對 eMMC 進行分區格式化(注意不是對 TF 卡進行分區!!!),參照上面的分區操作,這裡不再贅述。
有些朋友可能會有疑問,如果 eMMC 中已經事先燒有作業系統, 不進行分區格式化, 直接進行覆寫安裝可行否? 實際上是可行的, 燒寫過程實際上就是對原有的 BLOCK 寫入資料, 寫入過程實際上就是覆寫原有的資料。 但是為了保險起見, 最好将原有的 eMMC 格式化, 以保證燒寫能夠順利進行。
注: 4)-5)步可以直接使用下列指令代替(鏡像必須都在目前檔案夾下)
$sdfuse flashall
4)燒寫 U-boot, 輸入指令(實際上這裡沒有完全可以跳過)
$sdfuse flash bootloader u-boot-iTOP-4412.bin
5)燒寫 kernel, 輸入指令:
$sdfuse flash kernel zImage
6)燒寫 rootfs, 輸入指令:
$sdfuse flash ramdisk ramdisk-uboot.img
$sdfuse flash system system.img
7)輸入重新開機指令:
$reset
本篇博文針對的都是 eMMC , 實際上系統完全可以在 TF卡中運作, 這個燒寫過程會在《iTop-4412刷機方式詳解(3)》一文中詳解
2017 年 2 月 28日 Kilento