實(shí)戰(zhàn):從刷機(jī)到救磚全指南)
前陣子清理柜子翻出一臺(tái)吃灰很久的運(yùn)營(yíng)商定制機(jī)頂盒主板一查是晶晨S905L3B方案安卓9系統(tǒng)桌面全是推流廣告內(nèi)存長(zhǎng)期只剩幾百兆說(shuō)實(shí)話連當(dāng)電視盒子用都嫌卡。但這顆芯片本身并不差四核A53配Mali-G31硬解4K性能放現(xiàn)在做播放器、小服務(wù)主機(jī)、游戲模擬器都?jí)蛴脝?wèn)題全出在廠商定制固件上。于是我把目標(biāo)定成先拿到Root權(quán)限清掉垃圾再在這臺(tái)盒子上跑Armbian而且要和安卓9共存實(shí)現(xiàn)真正的雙系統(tǒng)。這篇就把整個(gè)改造過(guò)程、原理和翻車(chē)點(diǎn)都寫(xiě)清楚適合手里剛好有這類(lèi)盒子、想折騰又不想走彎路的朋友。1. 先認(rèn)清手上的芯片和固件否則后邊全是坑1.1 S905L3B這顆芯片到底什么水平S905L3B是晶晨基于12nm工藝的一顆四核芯片CPU部分用的是Cortex-A53核心最高主頻在1.9GHz左右GPU是Mali-G31 MP2。放到2025年看這個(gè)性能跑大型游戲肯定不夠但它贏在硬件解碼能力非常完整主流4K視頻格式基本都能硬解功耗又低加上安卓9系統(tǒng)對(duì)老電視的兼容性比安卓11更好所以它成了很多電視盒子、游戲模擬器玩家眼里的“甜點(diǎn)級(jí)”方案。很多運(yùn)營(yíng)商定制盒子選這顆芯片是因?yàn)槌杀緣旱玫偷珜?shí)際使用體驗(yàn)完全是另一回事。2GB內(nèi)存被系統(tǒng)UI和預(yù)裝應(yīng)用吃掉大半存儲(chǔ)只有8GB還得裝一堆無(wú)法卸載的“內(nèi)置推薦”最后用戶感受到的卡頓大部分不是芯片弱而是固件塞了太多不該有的東西。搞清楚這一點(diǎn)就會(huì)明白R(shí)oot和刷Armbian的價(jià)值都在哪里。1.2 主流機(jī)型與硬件批次識(shí)別S905L3B最常見(jiàn)的機(jī)器是CM311-1A、CM311-1S、5621DS這些型號(hào)它們外觀可能不同但內(nèi)部主板的方案非常接近。你手上如果是類(lèi)似盒子先別急著找刷機(jī)包建議拆開(kāi)看一眼主板絲印因?yàn)橥粋€(gè)型號(hào)在不同批次可能用不同芯片。有些CM311-1A后期批次換成了S905L3AB雖然只差一個(gè)字母但固件、dtb、CPU調(diào)頻邏輯都不通用拿L3B的包硬刷很可能翻車(chē)。不開(kāi)拆的話在系統(tǒng)設(shè)置里找到“關(guān)于本機(jī)”看內(nèi)核版本、build版本號(hào)再到網(wǎng)上搜對(duì)應(yīng)固件的關(guān)鍵詞組合判斷手頭的軟件版本屬于哪一代。也可以裝AIDA64一類(lèi)的硬件檢測(cè)應(yīng)用直接讀SoC型號(hào)、內(nèi)存容量、WiFi芯片型號(hào)。這些信息后面選Armbian鏡像、選dtb、判斷無(wú)線網(wǎng)卡是否容易驅(qū)動(dòng)時(shí)全部用得上。1.3 開(kāi)啟ADB確認(rèn)安卓版本和bootloader刷機(jī)前第一步不是急著找包而是先打開(kāi)盒子的ADB調(diào)試口。常見(jiàn)做法是設(shè)置—關(guān)于本機(jī)—連續(xù)點(diǎn)擊版本號(hào)7次進(jìn)入開(kāi)發(fā)者模式然后到開(kāi)發(fā)者選項(xiàng)里打開(kāi)“USB調(diào)試”和“網(wǎng)絡(luò)調(diào)試”。部分固件需要在系統(tǒng)信息界面用遙控器按鍵組合進(jìn)入工廠菜單不同固件路徑不一樣但成品固件基本都在設(shè)置下能找到。連上ADB之后先做三件事adb connect 192.168.1.100:5555 adb shell getprop ro.build.version.release adb shell getprop ro.product.cpu.abi確認(rèn)安卓版本是9ABI是arm64-v8a就說(shuō)明這是一臺(tái)標(biāo)準(zhǔn)S905L3B盒子也意味著社區(qū)里大多數(shù)現(xiàn)成資源都能用。如果顯示安卓11或者OpenHarmony那后面的方案得換一套不要硬套。2. Root路線怎么選先弄清三個(gè)可行方案的區(qū)別2.1 方案一直接刷一個(gè)預(yù)Root的第三方固件對(duì)于大多數(shù)S905L3B盒子來(lái)說(shuō)最省事的Root方式不是去破解原廠固件而是直接刷一個(gè)已經(jīng)做好Root的精簡(jiǎn)第三方固件。這類(lèi)固件通常去掉了預(yù)裝廣告、保留了遙控器碼表燒錄完成后自帶Magisk或SuperSU之類(lèi)的權(quán)限管理開(kāi)箱就是root狀態(tài)。下載固件時(shí)要注意來(lái)源。優(yōu)先選那些發(fā)帖記錄多、評(píng)論區(qū)反饋活躍、發(fā)布時(shí)間近、打包過(guò)程有說(shuō)明的固件不要看來(lái)路不明的加密包。很多第三方固件會(huì)捆綁桌面App或推廣位這一點(diǎn)無(wú)法完全避免但你至少要知道自己裝了什么。刷法以Amlogic平臺(tái)的線刷為主電腦安裝好USB Burning Tool導(dǎo)入img鏡像用雙公頭USB線連接盒子進(jìn)入燒錄模式后點(diǎn)“開(kāi)始”。燒錄時(shí)有個(gè)關(guān)鍵點(diǎn)如果不確定線刷包自帶引導(dǎo)是否完整不要勾選“擦除bootloader”寧可先默認(rèn)參數(shù)跑一遍失敗再對(duì)癥下藥。2.2 方案二Magisk修補(bǔ)boot鏡像如果不想換系統(tǒng)或者你的盒子固件本身是userdebug版本、ADB權(quán)限夠高那就走M(jìn)agiskxBoot修補(bǔ)路線。說(shuō)白了就是把當(dāng)前boot分區(qū)提取出來(lái)用Magisk給它“打補(bǔ)丁”再刷回去這樣既能保住原廠系統(tǒng)也能拿到Root。操作流程不復(fù)雜adb shell su -c dd if/dev/block/boot of/sdcard/boot.img bs1M adb pull /sdcard/boot.img在安卓端裝好Magisk應(yīng)用選擇“安裝—修補(bǔ)boot文件”選中剛才的boot.img修補(bǔ)完會(huì)生成magisk_patched.img。把這個(gè)文件傳回盒子再執(zhí)行adb push magisk_patched.img /sdcard/ adb shell su -c dd if/sdcard/magisk_patched.img of/dev/block/boot adb reboot重啟后打開(kāi)Magisk應(yīng)用能看到已安裝版本就說(shuō)明Root成功。這套方案的前提是當(dāng)前系統(tǒng)允許你讀、寫(xiě)boot分區(qū)如果原廠固件把a(bǔ)db權(quán)限鎖死了那就得回到方案一或方案三。2.3 方案三借助現(xiàn)成Root工具或第三方Recovery第三種方式是直接卡刷一個(gè)第三方Recovery再用Recovery刷入Root權(quán)限包。S905L3B的TWRP資源沒(méi)有手機(jī)平臺(tái)那么多但幾款熱門(mén)機(jī)型是有對(duì)應(yīng)版本的。先解鎖Bootloader相關(guān)的限制把Recovery刷進(jìn)recovery分區(qū)然后開(kāi)機(jī)進(jìn)Recovery卡刷Magisk或者SuperSU的zip包。這個(gè)方案適合已經(jīng)刷過(guò)第三方固件、當(dāng)前系統(tǒng)還能啟動(dòng)的情況。缺點(diǎn)是Recovery版本和固件內(nèi)核如果匹配不好可能進(jìn)Recovery后觸屏、遙控器都沒(méi)反應(yīng)只能通過(guò)ADB在線刷。對(duì)我來(lái)說(shuō)它更像是一個(gè)備用手段而不是首選。2.4 我的建議三條路不沖突甚至應(yīng)該按順序考慮。如果你只是想讓盒子變好用直接選口碑好的預(yù)Root固件最省心如果你對(duì)當(dāng)前系統(tǒng)有感情、想保留原廠桌面Magisk修補(bǔ)boot最溫和如果你已經(jīng)做好變磚準(zhǔn)備、想徹底掌控分區(qū)走第三方Recovery。方案對(duì)比可以看這張表方案操作難度風(fēng)險(xiǎn)適用場(chǎng)景刷預(yù)Root固件低中怕固件有私貨能接受換系統(tǒng)、想省事Magisk修補(bǔ)boot中低可逆想保留原廠已有ADB權(quán)限第三方RecoveryRoot包中高中Recovery與固件兼容性進(jìn)不了系統(tǒng)時(shí)救回來(lái)再Root3. 備份分區(qū)是這次折騰最重要的一步?jīng)]有之一3.1 用ADB查看盒子分區(qū)結(jié)構(gòu)很多人刷機(jī)翻車(chē)后連后悔的機(jī)會(huì)都沒(méi)有是因?yàn)楦緵](méi)備份。盒子不比手機(jī)第三方固件和原廠固件之間對(duì)分區(qū)表的理解經(jīng)常不一致一旦某個(gè)關(guān)鍵分區(qū)被錯(cuò)誤覆蓋輕則系統(tǒng)循環(huán)重啟重則引導(dǎo)丟失變成“黑磚”。所以決定折騰之前第一時(shí)間先做全量鏡像備份。用ADB進(jìn)到盒子里先看分區(qū)表adb shell su -c ls -l /dev/block/by-name/ adb shell su -c cat /proc/partitionsAmlogic平臺(tái)的分區(qū)一般在by-name目錄下都有對(duì)應(yīng)軟鏈接名字通常是bootloader、boot、recovery、system、data、cache、logo、dtb、frp這些。一眼掃過(guò)去你就能大概知道這臺(tái)盒子的固件組成后面就算出問(wèn)題也能判斷壞在哪個(gè)環(huán)節(jié)。3.2 把boot、dtb、logo等關(guān)鍵分區(qū)拉回電腦單個(gè)分區(qū)備份最直接的方式是dd加adb pull。以boot和dtb為例adb shell su -c dd if/dev/block/boot of/sdcard/boot.img bs1M adb shell su -c dd if/dev/block/dtb of/sdcard/dtb.img bs1M adb pull /sdcard/boot.img adb pull /sdcard/dtb.imgboot分區(qū)放的是內(nèi)核和ramdiskdtb分區(qū)放著設(shè)備樹(shù)這兩個(gè)分區(qū)在你刷Armbian、換內(nèi)核、改啟動(dòng)參數(shù)時(shí)最容易出問(wèn)題備份它們可以讓大部分翻車(chē)場(chǎng)景得到回滾。如果空間夠把recovery和logo也一起備份。system和data分區(qū)體積大、價(jià)值相對(duì)低可以在整機(jī)鏡像里一起處理。3.3 再留一份原廠整包單分區(qū)備份只能解決部分問(wèn)題真正靠譜的雙保險(xiǎn)是下載一份和你機(jī)器固件版本對(duì)應(yīng)的原廠線刷包。線刷包是整機(jī)鏡像里面包含bootloader、boot、system、recovery等全部分區(qū)一旦機(jī)器進(jìn)不了系統(tǒng)短接進(jìn)maskrom模式重新線刷就能恢復(fù)出廠狀態(tài)。下載時(shí)注意核對(duì)版本號(hào)最好找跟你當(dāng)前系統(tǒng)build版本完全一致的包刷完md5校驗(yàn)一下文件完整性。原廠線刷包放電腦里一份放網(wǎng)盤(pán)一份別等變磚了才想起來(lái)找資源那時(shí)要么下架要么收費(fèi)非常被動(dòng)。這也是我一直堅(jiān)持的順序先備份再Root后Armbian順序顛倒的代價(jià)只有自己買(mǎi)單。4. 制作Armbian啟動(dòng)U盤(pán)以及首次啟動(dòng)常見(jiàn)的三種“假死”4.1 鏡像選型不要隨便下通用版S905L3B能用Armbian核心原因是社區(qū)有一批貢獻(xiàn)者在維護(hù)適用于Amlogic電視盒子的鏡像和引導(dǎo)適配。搜索“armbian amlogic s905l3b”或者“ophub armbian”就能找到預(yù)編譯鏡像這些鏡像一般按芯片型號(hào)命名下載時(shí)選s905l3b或s905l3b_build的版本就行比拿通用meson64版回來(lái)自己折騰dtb要省力得多。內(nèi)核版本建議選較新的長(zhǎng)期支持版很多鏡像默認(rèn)預(yù)裝了Docker、網(wǎng)絡(luò)工具、常用依賴開(kāi)機(jī)即用。1GB內(nèi)存版本和2GB內(nèi)存版本在跑Docker和桌面環(huán)境時(shí)體感差距很大如果你只有1GB版本建議老老實(shí)實(shí)跑命令行服務(wù)型應(yīng)用別強(qiáng)行裝桌面。鏡像格式一般是img.gz或者7z壓縮包解壓出來(lái)是一個(gè)完整的img文件。4.2 寫(xiě)盤(pán)和dtb文件調(diào)整寫(xiě)盤(pán)用balenaEtcher最省心Windows、macOS、Linux都有對(duì)應(yīng)版本三步完成。也可以直接用ddgzip -dc Armbian.img.gz | sudo dd of/dev/sdX bs4M statusprogress寫(xiě)完盤(pán)后U盤(pán)會(huì)被分成幾個(gè)分區(qū)其中一個(gè)FAT分區(qū)是啟動(dòng)分區(qū)。插到電腦上打開(kāi)它找到extlinux目錄下的extlinux.conf或者根目錄的uEnv.txt檢查里面指定的dtb文件路徑。S905L3B通常對(duì)應(yīng)的是FDT/amlogic/meson-sm1-s905l3b.dtb如果你拿到的鏡像里沒(méi)有這個(gè)文件只有同系列的其他dtb可以按meson-sm1-*開(kāi)頭的順序多試幾個(gè)比如sm1-x96-max、sm1-sei610這些啟動(dòng)到內(nèi)核日志再回來(lái)看哪個(gè)設(shè)備節(jié)點(diǎn)匹配。dtb選錯(cuò)的最典型表現(xiàn)就是黑屏或無(wú)限重啟這時(shí)候不要慌換一個(gè)dtb重新插卡試。4.3 三種“開(kāi)機(jī)假死”和對(duì)應(yīng)激活方法第一次插上U盤(pán)啟動(dòng)S905L3B盒子大概率會(huì)遇到下面這種“假死”情況第一種插了U盤(pán)開(kāi)機(jī)后電視一直黑屏。這不一定代表系統(tǒng)沒(méi)跑很可能是u-boot根本沒(méi)去掃描U盤(pán)而是在等待默認(rèn)啟動(dòng)流程。你可以先在安卓系統(tǒng)里執(zhí)行adb reboot update讓盒子帶著“進(jìn)入升級(jí)/外設(shè)啟動(dòng)”標(biāo)志重啟很多盒子的u-boot看到這個(gè)標(biāo)志就會(huì)主動(dòng)掃描USB設(shè)備并引導(dǎo)U盤(pán)上的Armbian。第二種屏幕有輸出但停在“Starting kernel”沒(méi)反應(yīng)。這基本就是dtb或啟動(dòng)參數(shù)不對(duì)按上面說(shuō)的換dtb或者檢查extlinux.conf里的append參數(shù)有沒(méi)有包含正確的root分區(qū)UUID。第三種系統(tǒng)起來(lái)了但網(wǎng)卡沒(méi)驅(qū)動(dòng)。先用網(wǎng)線連路由不要在WiFi上死磕。很多S905L3B盒子的WiFi芯片是AP6255或類(lèi)似型號(hào)無(wú)線網(wǎng)卡在Linux下可能要額外裝firmware有線網(wǎng)絡(luò)通常原生支持先把系統(tǒng)更新完再解決無(wú)線。啟動(dòng)后通過(guò)網(wǎng)線連接路由器用命令ssh root盒子的IP輸入默認(rèn)密碼1234系統(tǒng)會(huì)強(qiáng)制讓你修改密碼。改完后第一件事是運(yùn)行apt update apt upgrade把內(nèi)核和固件同步到最新再繼續(xù)后續(xù)操作。首次升級(jí)時(shí)間可能比較長(zhǎng)2GB內(nèi)存的盒子別頻繁切任務(wù)讓它安靜跑完。4.4 電源適配器和U盤(pán)選型是隱形大坑S905L3B盒子的原裝電源通常是5V/2A但刷了Armbian滿載運(yùn)行時(shí)的電流需求比安卓系統(tǒng)更高如果供電質(zhì)量差U盤(pán)會(huì)在高負(fù)載時(shí)掉盤(pán)日志里一堆I/O error數(shù)據(jù)都可能寫(xiě)壞。建議換成5V/3A的品牌電源或者至少確認(rèn)手上電源不是虛標(biāo)貨。U盤(pán)方面Classic容易掉速的小廠U盤(pán)盡量別用換成讀寫(xiě)穩(wěn)定的品牌U盤(pán)讀取速度不需要太高但穩(wěn)定性一定要好。讀卡器加SD卡的組合我試過(guò)幾次熱穩(wěn)定性差長(zhǎng)時(shí)間掛機(jī)會(huì)丟盤(pán)不建議拿來(lái)跑長(zhǎng)期服務(wù)。5. 雙系統(tǒng)的本質(zhì)讓u-boot決定從哪塊盤(pán)引導(dǎo)5.1 一次啟動(dòng)三段接力很多朋友理解的雙系統(tǒng)是開(kāi)機(jī)時(shí)彈個(gè)菜單選進(jìn)哪一個(gè)但在這類(lèi)盒子上雙系統(tǒng)的實(shí)現(xiàn)形式要更“硬件”一些。晶晨芯片啟動(dòng)有三個(gè)階段芯片內(nèi)部BootROM先啟動(dòng)接著運(yùn)行eMMC或外部存儲(chǔ)上的u-boot引導(dǎo)程序再由u-boot加載內(nèi)核和設(shè)備樹(shù)最終進(jìn)入系統(tǒng)。所謂雙系統(tǒng)本質(zhì)上就是在u-boot階段決定“這一次啟動(dòng)到底讀哪個(gè)介質(zhì)上的哪個(gè)內(nèi)核”。安卓在eMMC上Armbian在U盤(pán)或SD卡上兩者只要不會(huì)同時(shí)搶占數(shù)據(jù)分區(qū)就可以互相切換。理解了這一點(diǎn)就不會(huì)被各種啟動(dòng)文件搞暈。你改的不是系統(tǒng)本身而是u-boot的啟動(dòng)策略。后面所有關(guān)于雙系統(tǒng)的操作追根到底都是在和“u-boot先做點(diǎn)什么、找不到再做點(diǎn)什么”這條邏輯博弈。5.2 最省事方案安卓留在eMMCArmbian放U盤(pán)我最終采用的方案很簡(jiǎn)單、也最穩(wěn)安卓9保持放在盒子eMMC不動(dòng)Armbian裝在U盤(pán)上。平時(shí)不插U盤(pán)開(kāi)機(jī)盒子就是一臺(tái)正常安卓盒子需要Linux環(huán)境時(shí)插上Armbian啟動(dòng)U盤(pán)用reboot命令重啟進(jìn)u-boot讓u-boot去外置介質(zhì)找啟動(dòng)文件不用Linux時(shí)拔掉U盤(pán)重啟又回到安卓。這樣不需要反復(fù)備份eMMC不怕Linux把安卓分區(qū)搞亂兩個(gè)系統(tǒng)物理隔離度最高。重啟到外圍啟動(dòng)的觸發(fā)方法我的實(shí)測(cè)經(jīng)驗(yàn)是adb connect 192.168.1.100:5555 adb shell reboot update執(zhí)行后盒子重啟u-boot帶著“update模式”標(biāo)志啟動(dòng)通常會(huì)優(yōu)先查找USB或SD介質(zhì)。如果盒子u-boot版本不支持外置啟動(dòng)或者原廠bootloader把外置介質(zhì)掃描關(guān)了那就要考慮刷一個(gè)帶外置啟動(dòng)支持的第三方u-boot或者干脆走下面的TTL改造路線。5.3 進(jìn)階方案改u-boot環(huán)境變量實(shí)現(xiàn)插U盤(pán)自動(dòng)引導(dǎo)如果你的盒子能進(jìn)u-boot控制臺(tái)那就可以讓“插上U盤(pán)自動(dòng)引導(dǎo)Armbian、拔掉U盤(pán)啟動(dòng)安卓”變成完全自動(dòng)的切換不需要每次手動(dòng)敲命令。常見(jiàn)做法是USB轉(zhuǎn)TTL串口模塊接主板上的串口觸點(diǎn)GND接GND、TX接RX、RX接TX電平選3.3V千萬(wàn)別接5V否則大概率燒主板。波特率一般是115200。上電后串口終端能卡在u-boot提示符先看看當(dāng)前啟動(dòng)命令printenv bootcmd不同固件的bootcmd長(zhǎng)得不一樣但思路一致把現(xiàn)有bootcmd用變量存起來(lái)再寫(xiě)一個(gè)新的bootcmd讓它在執(zhí)行原啟動(dòng)流程之前先檢查U盤(pán)上有沒(méi)有Armbian啟動(dòng)腳本有就引導(dǎo)沒(méi)有就繼續(xù)執(zhí)行原流程。類(lèi)似這樣setenv original_bootcmd run storeboot setenv bootcmd if usb start; then if fatload usb 0 1 0x1000000 boot.scr; then source 0x1000000; fi; fi; run original_bootcmd saveenv這里只是示例實(shí)際命令要看固件的變量名和U盤(pán)FAT分區(qū)里是不是有boot.scr。有些Armbian鏡像在啟動(dòng)分區(qū)提供extlinux.conf而不是boot.scr那就要用sysboot命令去讀。關(guān)鍵不是背命令而是會(huì)printenv看清現(xiàn)有環(huán)境、會(huì)ls看U盤(pán)文件結(jié)構(gòu)再?zèng)Q定自己怎么串。第一次改環(huán)境變量之前先把當(dāng)前printenv完整輸出抄一遍改掛了大不了恢復(fù)默認(rèn)。5.4 雙系統(tǒng)切換后的數(shù)據(jù)目錄規(guī)劃很多人切換系統(tǒng)后發(fā)現(xiàn)“網(wǎng)盤(pán)里下了一半的東西不見(jiàn)了”原因是安卓的/sdcard和Armbian的/root是完全隔離的。eMMC上的安卓數(shù)據(jù)在Armbian里可以通過(guò)掛載eMMC分區(qū)看到但路徑復(fù)雜還不穩(wěn)定。規(guī)劃數(shù)據(jù)時(shí)最好明確各系統(tǒng)的職責(zé)安卓管看片、直播Armbian管下載、Docker、文件共享。兩邊都用SMB訪問(wèn)放在路由或獨(dú)立存儲(chǔ)上的公共目錄數(shù)據(jù)不落地在盒子里既方便切換也降低eMMC寫(xiě)入壓力。5.5 如果想徹底換成Linux再考慮寫(xiě)eMMC如果Armbian用了一段時(shí)間覺(jué)得很順手想徹底放棄安卓可以在Armbian里執(zhí)行install-aml.sh腳本把Linux完整安裝到eMMC。這個(gè)腳本會(huì)格式化一部分eMMC分區(qū)并在里面寫(xiě)入引導(dǎo)重啟后不再需要U盤(pán)。代價(jià)是安卓系統(tǒng)從eMMC上被覆蓋想回去只能重新線刷原廠包。所以我會(huì)先確認(rèn)原廠線刷包已經(jīng)備份好、關(guān)鍵分區(qū)備份已經(jīng)拉回電腦、所有數(shù)據(jù)不在盒子里才會(huì)去執(zhí)行這個(gè)腳本。它是單系統(tǒng)操作不是雙系統(tǒng)但很多人會(huì)因?yàn)樽x了這篇文章順手問(wèn)這里一并說(shuō)清楚。6. 刷機(jī)翻車(chē)救磚流程和進(jìn)階玩法6.1 線刷救磚的標(biāo)準(zhǔn)姿勢(shì)如果你折騰過(guò)程中把bootloader搞壞了開(kāi)機(jī)完全沒(méi)畫(huà)面、網(wǎng)口燈不亮別急著扔S905L3B基本都留了maskrom模式后門(mén)。操作方法是拆開(kāi)盒子在主板上找到短接點(diǎn)通常在CPU附近或eMMC旁邊有的是兩個(gè)焊盤(pán)有的是一個(gè)測(cè)試觸點(diǎn)在通電前用鑷子短接這兩個(gè)點(diǎn)再插上電源和USB線電腦設(shè)備管理器里就能識(shí)別到Amlogic設(shè)備。此時(shí)打開(kāi)USB Burning Tool導(dǎo)入原廠線刷包燒錄選項(xiàng)保持默認(rèn)即可。驅(qū)動(dòng)方面Windows 10/11裝Amlogic USB驅(qū)動(dòng)時(shí)可能需要禁用驅(qū)動(dòng)簽名先在系統(tǒng)恢復(fù)模式里把驅(qū)動(dòng)簽名強(qiáng)制關(guān)閉再裝裝好后識(shí)別成功率會(huì)高很多。燒錄過(guò)程中不要拔線等到進(jìn)度條走完、提示成功之后再斷電重新插電開(kāi)機(jī)就是干凈的安卓9。整個(gè)救磚過(guò)程里最容易栽的坑不是燒錄軟件而是驅(qū)動(dòng)和短接點(diǎn)找錯(cuò)。驅(qū)動(dòng)不行就換個(gè)USB口、換臺(tái)電腦試短接點(diǎn)找不到就不要亂碰其他元件寧可多看兩張拆機(jī)圖再下手。6.2 Armbian穩(wěn)定后的玩法補(bǔ)充Armbian裝好之后這臺(tái)盒子的價(jià)值才算真正釋放出來(lái)。我最推薦的玩法是直接上Docker把常用服務(wù)容器化系統(tǒng)壞了容器也能快速重建Jellyfin或Emby做家庭影音服務(wù)器利用盒子硬解轉(zhuǎn)碼Home Assistant做智能家居中樞開(kāi)機(jī)自啟功耗低Samba/NFS共享把U盤(pán)或移動(dòng)硬盤(pán)變成簡(jiǎn)單NASRetroArch加USB手柄跑街機(jī)和復(fù)古主機(jī)模擬器Mali-G31正好能應(yīng)付輕量網(wǎng)站、個(gè)人網(wǎng)盤(pán)、下載機(jī)這類(lèi)用途也可以掛容器跑前提是內(nèi)存別太小。這些服務(wù)每一個(gè)單拎出來(lái)都值得寫(xiě)一篇教程但共同前提是系統(tǒng)穩(wěn)定。我的建議是先把系統(tǒng)內(nèi)核和固件升級(jí)到最新再安裝Docker然后一次性規(guī)劃好容器目錄和端口不要裝一個(gè)加一個(gè)反復(fù)改網(wǎng)絡(luò)配置最容易出問(wèn)題。6.3 幾個(gè)我踩過(guò)才記住的教訓(xùn)刷了不下十次S905L3B盒子之后有幾個(gè)經(jīng)驗(yàn)一直印在腦子里第一備份不只是刷機(jī)前做一次而是每次換系統(tǒng)、每次改u-boot環(huán)境變量之前都做一次。哪怕只是改一行啟動(dòng)參數(shù)也要保證出問(wèn)題能原樣回到上一步。第二同一個(gè)型號(hào)盒子的dtb不一定永遠(yuǎn)相同。批次變了、內(nèi)存芯片變了、網(wǎng)卡型號(hào)變了都可能影響Armbian啟動(dòng)和驅(qū)動(dòng)的正確性拿到新機(jī)器先拆開(kāi)確認(rèn)別拿舊經(jīng)驗(yàn)硬套。第三電源問(wèn)題比軟件問(wèn)題難排查十倍。遇到U盤(pán)掉盤(pán)、隨機(jī)死機(jī)、寫(xiě)入報(bào)錯(cuò)先換電源再查日志很多莫名其妙的故障都出在供電上。第四折騰節(jié)奏一定要慢。每刷一個(gè)固件、改一次啟動(dòng)邏輯都重啟驗(yàn)證一次再繼續(xù)下一步不要想著一步到位。真正耗時(shí)的是排錯(cuò)不是刷機(jī)排錯(cuò)時(shí)手里有備份心里就不慌?,F(xiàn)在這臺(tái)盒子在我手里已經(jīng)穩(wěn)定跑了好幾個(gè)月eMMC里是安卓9U盤(pán)上放著Armbian想看片開(kāi)機(jī)直接進(jìn)電視桌面想掛下載或者跑容器就插上U盤(pán)重啟進(jìn)Linux。雖然切換模式看起來(lái)原始但勝在穩(wěn)定、獨(dú)立、互不干擾?;仡^再看整個(gè)改造過(guò)程最值錢(qián)的反而不是最終跑起來(lái)的系統(tǒng)而是我在這臺(tái)機(jī)器上把晶晨芯片的啟動(dòng)鏈路摸了一遍以后再遇到任何Amlogic方案的開(kāi)發(fā)板、盒子都有底氣直接上手。