■鄭重聲明:『羅波波』這個賬號僅在znds開戶,未來也是如此 ■概述: 精簡強(qiáng)刷包的通常做法-原廠強(qiáng)刷包(tb上5元不貴)解包后修改img鏡像再打包。使用時(shí),先刷原廠強(qiáng)刷包,再刷自制精簡強(qiáng)刷包??墒牵菦]有原廠強(qiáng)刷包,或者對于版本有要求(同一機(jī)型廠家會升級多次 固件,具體哪一個固件版本好用需要自己親身體驗(yàn)才知道,你搞到的強(qiáng)刷包到底是哪一個版本,賣家即便知道也不一定是自己心儀的版本)那該怎么辦呢? 本文介紹的自制強(qiáng)刷包方法,鏡像文件來源有兩個:a-串口備份出來的,b-官方OTA 刷機(jī)包提取出來的。 看了一下5S58_K5C的官方OTA固件包,里面只升級MBOOT、boot、recovery、dtb、factory、RTPM、system、tvconfig、tvservice幾個分區(qū),若設(shè)備當(dāng)前的某分區(qū)版本和你心儀的固件版本一致,那么理論上該分區(qū)就無需再刷一次。而總計(jì)22個分區(qū)呢,剩下的分區(qū)OTA不升級也就說明其分區(qū)數(shù)據(jù)沒有變化或是由其它分區(qū)自動生成的(如MPOOL、misc),所以制作強(qiáng)刷包時(shí)可不必加入或不能加入。 那么是否有必要刷MBOOT呢,經(jīng)驗(yàn)證,刷不同版本的MBOOT,Uboot和安卓系統(tǒng)均可正常啟動。所以也可以不刷。不刷的考慮是:萬一在刷入MBOOT的過程中突然斷電,那么就會導(dǎo)致Uboot無法進(jìn)入! 在一臺安卓9.0Mstar機(jī)頂盒實(shí)測,強(qiáng)刷包必須包含boot、recovery、system、vendor分區(qū),否則只有system分區(qū)的話-會出現(xiàn)啟動黑屏無法進(jìn)入系統(tǒng)的現(xiàn)象。在本人5S58_K5C安卓6.0設(shè)備上,強(qiáng)刷包可以單獨(dú)刷入system分區(qū)。論壇里下了幾個創(chuàng)酷精簡強(qiáng)刷包安卓6.0&5.0,都是只刷system分區(qū)。若是uboot下刷機(jī),上面兩個設(shè)備都可以單獨(dú)刷入某個分區(qū)。若要單獨(dú)刷入非system分區(qū),不建議用強(qiáng)刷包的方式,大概率會出問題,建議uboot或系統(tǒng)shell刷。 5S58_K5C191223版固件,單獨(dú)刷入180524版system鏡像(已精簡),系統(tǒng)可正常運(yùn)行。 ■工具M(jìn)StarBinTool-GUI(這個應(yīng)該是俄羅斯大神制作的,它和MStarBinToolMaster命令行工具肯定不是Mstar官方工具) ■所有路徑為英文路徑 ■強(qiáng)刷的本質(zhì):自動進(jìn)入uboot模式執(zhí)行包內(nèi)自動化腳本來完成刷機(jī),不會驗(yàn)證是否匹配本機(jī)型。 ■實(shí)測32位WIN7會打包出錯 ■配置文件Config.xml 不限品牌機(jī)型,任意下載一個MstarUpgrade.bin強(qiáng)刷包,僅解包「腳本+配置」:
解包-1.png (20.15 KB, 下載次數(shù): 245)
下載附件
保存到相冊
2024-10-28 15:48 上傳
工具Notepad++打開MStarBinTool-GUI所在目錄...\work\xxxx\下的Config.xml文件。 <Configuration>:
Config.xml-1.png (9.92 KB, 下載次數(shù): 246)
下載附件
保存到相冊
2024-10-28 15:48 上傳
各字段的默認(rèn)值通常如圖所示,基本無需更改。里面的TypeCRC設(shè)置為0是不起作用的,MStarBinTool-GUI會自動設(shè)置為1(可以是2、3)。也就是說,MStarBinTool-GUI打包生成的MstarUpgrade.bin刷機(jī)包是有CRC校驗(yàn)的,用WinHex替換里面的分區(qū)文件是不行的,刷機(jī)時(shí)CRC校驗(yàn)失敗會報(bào)錯導(dǎo)致無法刷入。 16進(jìn)制RamAddress:刷機(jī)包內(nèi)img文件的Ram存放起始地址,單位字節(jié)。 下載了非5S58_K5C的6個創(chuàng)酷強(qiáng)刷包(安卓5.0、6.0、8.0),還有 TCL(安卓6.0)、烽火(安卓9.0)、移動(安卓4.x)各1個,總計(jì)9個包,只有1個創(chuàng)酷安卓8.0的RamAddress是28A00000,其它8個都是20200000。 對于5S58_K5C,自測了一下,20200000、20220000、20200200都可以成功刷入,22200000刷到50%失敗。其它數(shù)值沒有試驗(yàn),具體有什么講究不清楚。 <UserPartTable>:
Config.xml-2.png (26.15 KB, 下載次數(shù): 245)
下載附件
保存到相冊
2024-10-28 15:52 上傳
這一部分配置了-重新分區(qū),通常情況下自己的設(shè)備分區(qū)是完好的,所以沒有必要,把配置區(qū)域刪掉即可:
Config.xml-3.png (1.02 KB, 下載次數(shù): 242)
下載附件
保存到相冊
2024-10-28 15:53 上傳
若要重新分區(qū),務(wù)必要按照原廠修改,Size單位字節(jié)。 <ImageList>:
Config.xml-4.png (49.59 KB, 下載次數(shù): 249)
下載附件
保存到相冊
2024-10-28 15:54 上傳
該部分配置了如何刷入img文件。Image Name是準(zhǔn)確的分區(qū)名,Compress-壓縮,Sparse-稀疏(可以減少體積),Split-分割。Compress和Sparse若同時(shí)設(shè)置為Yes,試了一下,只能滿足Compress。通常體積較大的分區(qū)需要設(shè)置Compress或Sparse,個人習(xí)慣設(shè)置Compress-Yes,體積減少會更多。體積大的分區(qū)務(wù)必要Split-Yes,否則:例如system分區(qū)超過了1G,這樣Ram無法完整存放,會導(dǎo)致system分區(qū)無法刷入。EmptySkip沒搞明白啥意思,Yes、No都試了一下,似乎沒啥影響。Path="img文件名"一定要和實(shí)際的文件名一致。 <Environments>:
Config.xml-5.png (27.47 KB, 下載次數(shù): 243)
下載附件
保存到相冊
2024-10-28 15:56 上傳
看到這一部分,很多人都一頭霧水而被勸退,不怕,有簡單方法配置該部分。 該部分是用來配置uboot環(huán)境變量的,那么對于自己機(jī)型該如何設(shè)置呢? 找到了這個文件/system/etc/set_env:
set_env.png (22.2 KB, 下載次數(shù): 233)
下載附件
保存到相冊
2024-10-28 15:59 上傳
將其內(nèi)容復(fù)制出來,將最后兩行替換為下面兩行即可: setenv MstarUpgrade_complete 1 saveenv 而后添加到Config.xml文件里的<Environments>-<PostEnv>部分。里面沒用的環(huán)境變量可以去掉,例如BootVideo... 查看設(shè)備uboot的環(huán)境變量命令:printenv 刪除某一變量:setevn [變量名] ■<Environments>補(bǔ)充說明 事實(shí)上,只要你的設(shè)備一切正常,uboot里的環(huán)境變量必是保存設(shè)置好的,制作強(qiáng)刷包時(shí)無需特別配置環(huán)境變量,只需配置幾行就可以啦: setenv MstarUpgrade_complete 1 setenv sync_mmap 1 setenv db_table 0 saveenv 前面提到的<Environments>配置方法,(除非是環(huán)境變量丟失),起到的作用完全是-「心里踏實(shí)」,哈哈....^_^ ■一直沒搞明白u(yù)boot環(huán)境變量到底存放在什么地方,求高手指點(diǎn)。 ■制作強(qiáng)刷包 Config.xml文件已配置好,再將img鏡像文件放入Config.xml所在目錄,MStarBinTool-GUI打開配置文件:
打包-1.png (28.13 KB, 下載次數(shù): 243)
下載附件
保存到相冊
2024-10-28 16:06 上傳
「打包模式」選擇-下載。若是Config.xml里有重新分區(qū),會自動選擇「格式+下載」,點(diǎn)擊「分區(qū)」,可查看重新分區(qū)的詳情。 查看需要刷機(jī)的鏡像:
打包-2.png (19.06 KB, 下載次數(shù): 235)
下載附件
保存到相冊
2024-10-28 16:08 上傳
紅色代表危險(xiǎn),藍(lán)色代表該分區(qū)文件丟失,需確認(rèn)文件是否存在(檢查文件名)。給需要刷機(jī)的分區(qū)打上勾。MStarBinTool-GUI「配置」、「環(huán)境」是由Config.xml決定的,可以在此檢查修改。「腳本」此時(shí)為空,打包過程中會自動生成并添加到刷機(jī)包里。確認(rèn)無誤后,就可以點(diǎn)擊「打包固件」按鈕了。 新的刷機(jī)包在.../work目錄下,將其改名為MstarUpgrade.bin即可。 ■注意: U盤強(qiáng)刷過程中,任何一個環(huán)節(jié)(例如刷某個鏡像、設(shè)置某個環(huán)境變量)出錯,都會導(dǎo)致刷機(jī)過程報(bào)錯而中斷!即便后面的各環(huán)節(jié)是完全沒有問題的!所以建議強(qiáng)刷時(shí)連好串口PuTTY跑個碼,這樣才知道哪一環(huán)節(jié)報(bào)錯! ■設(shè)置串口為開啟狀態(tài) 在uboot里執(zhí)行或者在自制強(qiáng)刷包配置文件<Environments>里添加: setenv bootdelay 0 saveenv 數(shù)值0代表設(shè)備啟動時(shí)鍵盤敲鍵進(jìn)入uboot的窗口時(shí)間,單位秒,如果>0,則會增加系統(tǒng)啟動時(shí)間。若要禁止進(jìn)入uboot,可設(shè)為-1。有些設(shè)備MBOOT里是寫死的,只能是0。 或者: setenv UARTOnOff on saveenv 有些設(shè)備的MBOOT里寫死了是on,無法設(shè)置為off。
◆下期預(yù)告:(五)固件發(fā)布◆
|