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