iTop-4412刷機方式詳解(2)
2.Android 4.0.3 的燒寫(USB 燒寫到 eMMC)
2.1 準備工作
1)硬體準備:開發板、 電源、 串列埠線、 MicroUSB線
2)軟體及驅動準備:
ADB驅動、 串列埠驅動、 SecureCRT3)安裝映象(壓縮包):
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驅動、 串列埠驅動、 SecureCRT3)安裝映象(壓縮包):
u-boot-iTOP-4412.bin(uboot, 通用載入程式), iTop4412_uboot_20151119.tar.gzzImage(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