天天看點

iTop-4412刷機方式詳解(2)2.Android 4.0.3 的燒寫(USB 燒寫到 eMMC)3.Android 4.0.3 的燒寫(TF 卡燒寫到 eMMC)

續 > 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
           
iTop-4412刷機方式詳解(2)2.Android 4.0.3 的燒寫(USB 燒寫到 eMMC)3.Android 4.0.3 的燒寫(TF 卡燒寫到 eMMC)

按照預設方式給 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
           
iTop-4412刷機方式詳解(2)2.Android 4.0.3 的燒寫(USB 燒寫到 eMMC)3.Android 4.0.3 的燒寫(TF 卡燒寫到 eMMC)

我們可以根據實際需求更改分區大小

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