Android燒錄指令fastboot簡介
fastboot簡介
fastboot是Android快速升級的一種方法,fastboot的協(xié)議fastboot_protocol.txt在源碼目錄./bootable/bootloader/legacy下可以找到。
fastboot 是作為 Android 系統(tǒng)編譯器的客戶端,編譯后位于 ./out/host/ Linux -x86/bin/fastboot 目錄下。
fastboot實例命令:sudo fastboot flash kernel path-to-kernel/uImage
燒寫rootfs 類似:sudo fastboot flash system path-to-system/system.img
1.Android手機分裂
分區(qū)都可以被燒寫,并有相應(yīng)的img文件:
- 引導(dǎo)啟動畫面區(qū)(splash1)
- 數(shù)據(jù)恢復(fù)區(qū)(recovery)
- 內(nèi)核區(qū)(boot)
- 系統(tǒng)區(qū)(system)
- 數(shù)據(jù)緩存區(qū)(cache)
- 用戶數(shù)據(jù)區(qū)(userdata)
2.fastboot命令
2.1 查看fastboot命令的幫助
輸入fastboot,顯示如下信息:
update <filename> 從 update.zip 刷新設(shè)備 flashall flash boot + recovery + system flash <partition> [ <filename> ] 將文件寫入 flash 分區(qū) erase <partition> 擦除 flash 分區(qū) getvar <variable> 顯示引導(dǎo)加載程序變量 boot <kernel> [ <ramdisk> ] 下載并啟動內(nèi)核 flash:raw boot <kernel> [ <ramdisk> ] 創(chuàng)建 bootimage 并刷新 設(shè)備 列出所有連接的設(shè)備 正常重啟重啟設(shè)備 reboot-bootloader 將設(shè)備重啟到引導(dǎo)加載程序 選項: -w 擦除用戶數(shù)據(jù)和緩存 -s <serial number> 指定設(shè)備序列號 -p <product> 指定產(chǎn)品名稱 -c <cmdline> 覆蓋內(nèi)核命令行 -i <vendor id> 指定自定義 USB 供應(yīng)商 id -b <base_addr > 指定自定義內(nèi)核基地址 -n <page size> 指定nand 頁面大小。默認(rèn)值:2048</span></span></span></span>
2.2 分區(qū):fastboot erase <partition>
sudo fastboot 擦除引導(dǎo) xx/boot.img $ sudo fastboot 擦除系統(tǒng) xx/system.img $ sudo fastboot 擦除用戶數(shù)據(jù) xx/userdata.img $ sudo fastboot 擦除緩存 xx/cache.img</span></span></span></span>
2.3 燒寫指定分區(qū):fastboot flash <partition> [*.img]
$ sudo fastboot flash boot path-to-kernel/boot.img $ sudo fastboot flash zimage path-to-kernel/arch/arm/boot/zImage $ sudo fastboot flash system path-to-system/system.img $ sudo fastboot flash splash1引導(dǎo)畫面</span></span></span></span>
2.4 燒寫所有分區(qū):fastboot flashall
注意:此命令會在當(dāng)前中查找所有img文件,將這些img燒寫到所有目錄的文件中,然后重新啟動手機。
sudo fastboot flashall
2.5 一次燒寫boot,system,recovery分區(qū):fastboot update <*.zip>
創(chuàng)建包含boot.img,system.img,recovery.img文件的update.zip。
sudo fastboot update update.zip
2.6重啟手機
sudo 快速啟動重啟
2.7 以指定的img或bin啟動系統(tǒng),通常用于調(diào)試
除了刷入 eMMC,F(xiàn)astboot 還可以用來從已經(jīng)刷入 eMMC 的文件啟動。為此,請在目標(biāo)上啟動 Fastboot,然后在主機 PC 上運行命令,例如啟動 u-boot:
sudo fastboot 引導(dǎo) u-boot.bin
2.8 更新eMMC分區(qū)
eMMC 中的區(qū)域被命名。它們的偏移量和大小在您正在使用的板目錄的 mmc.c 文件中的 u-boot 中設(shè)置。例如,對于 Blaze,此文件為 u-boot/board/omap4430sdp/mmc.c:
static struct partition partitions[] = { { "-", }, { "xloader", }, { "bootloader", }, /* "misc" partitions is required for recovery */ { "misc", }, { " -", }, { "efs", }, { "recovery", * }, { "boot", * }, { "system", * }, { "cache", * }, { "userdata", } , { , }, };
修改上面的內(nèi)容,然后執(zhí)行:
sudo fastboot oem 格式
2.9 退出fastboot
- 拔usb
- Ctrl+C
- 辭職命令
#fastboot 100 或 #fastboot </span></span>
2.10 獲取信息客戶端(手機端)
sudo fastboot getvar version:version-bootloader:version-baseband:product:serialno:secure
getvar 后和參數(shù)使用:單獨使用,它們的含義如下:
版本 | 客戶端支持的fastboot協(xié)議版本 |
版本引導(dǎo)加載程序 | Bootloader的版本號 |
版本基帶 | 基帶版本 |
產(chǎn)品 | 產(chǎn)品名稱 |
序列號 | 產(chǎn)品序列號 |
安全的 | 返回yes 表示在刷機時需要獲取簽名 |
2.11 如何查看fastboot是否成功
fastboot通常支持環(huán)境nand flash時,fastboot為變量寫入中,命名量和大小和寫入環(huán)境變量
- <分區(qū)名稱>_nand_offset
- <分區(qū)名稱>_nand_size
例如,內(nèi)核燒寫完成后printenv可以看到:
- kernel_nand_offset=0x140000
- kernel_nand_size=0x1f70000
2.12 u-boot中定義的偏移和地址
姓名 | 抵消 | 尺寸 | 文件類型 | 普通文件 |
加載器 | 0x00000000 | 0x00080000 | xloader 二進制文件 | MLO |
引導(dǎo)加載程序 | 0x00080000 | 0x00180000 | uboot 二進制 | u-boot.bin |
環(huán)境 | 0x001C0000 | 0x00040000 | 文本文件 | 要設(shè)置的變量列表 |
核心 | 0x00200000 | 0x01D00000 | 內(nèi)核或內(nèi)核+ ramdisk | uImage、uMulti |
系統(tǒng) | 0x02000000 | 0x0A000000 | yaffs2 | 系統(tǒng).img |
用戶數(shù)據(jù) | 0x0C000000 | 0x02000000 | yaffs2 | 用戶數(shù)據(jù).img |
緩存 | 0x0E000000 | 0x02000000 | yaffs2 | ? |
fastboot重用內(nèi)核的nand地址分配,并且對象是可以變化的方式,但是xloader、bootloader、環(huán)境地址是不變的。
2.13 文件大小限制
最大下載文件大小為240M。
到此這篇關(guān)于Android燒錄指令fastboot簡介的文章就介紹到這了,更多相關(guān)android fastboot命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android實戰(zhàn)教程第四篇之簡單實現(xiàn)短信發(fā)送器
這篇文章主要為大家詳細(xì)介紹了Android實戰(zhàn)教程第四篇之簡單實現(xiàn)短信發(fā)送器,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11cocos2d-2.0-x-2.0.3 交叉編譯到android報錯解決
我用的是cocos2d-2.0-x-2.0.3 之前弄了一天也沒成功 今天來了下載了最新的ndk8 更新了sdk 又重新是了一遍 居然成功了,不知道是工具的版本問題還是哪一步出錯誤了,在這里詳細(xì)的整理一下,感興趣的朋友可以了解下2013-01-01Android自定義控件實現(xiàn)icon+文字的多種效果
這篇文章主要為大家詳細(xì)介紹了Android自定義控件實現(xiàn)icon+文字的多種效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01Android canvas畫圖操作之切割畫布實現(xiàn)方法(clipRect)
這篇文章主要介紹了Android canvas畫圖操作之切割畫布實現(xiàn)方法,通過clipRect方法實現(xiàn)canvas畫布的切割操作,需要的朋友可以參考下2016-10-10