CM311-1A 卡刷 + 线刷、刷安卓与 Armbian 教程
使用到的工具軟件與固件下載地址:
下載地址1:https://ddf888.ddnsto.com/tmp/CM311-1A
下載地址2:https://41ws38-my.sharepoint.com/:f:/g/personal/ddf_41ws38_onmicrosoft_com/EgDMIeHWnvJOmZGTzio2P1kBh34wthDLCTKibXTFPtCClA?e=CN5ski
不能下載,帖子下面評論。
準備工作
- 設備 / 硬件:CM311-1a YST 電視盒子 + 電源適配器 + 遙控器、網線、HDMI 線、USB 公對公刷機線、個人電腦 PC、顯示屏(可以買視頻采集卡代替顯示屏)、USB 鍵盤、U 盤、線刷工具(螺絲刀 + 短接工具)。
- 工具軟件:USB Burning Tool V2.2.0、開心電視助手 V4.0、U盤鏡像寫入工具:balenaEtcher。
- 固件:安卓卡刷或線刷包、Armbian 系統鏡像。
卡刷方法
買來的 CM311-1A 是原生系統,刷成第三方安卓操作系統,使用更方便。刷入的安卓系統最好默認開啟了 ADB(未開啟,可參見附錄一),默認獲取了 root 更好(沒有也可以)。
1.下載卡刷包
卡刷包一般都有下圖所示的三個文件。
2.卡刷包移到 U 盤
下載好后的卡刷包無需解壓,直接原封不動的移到 U 盤根目錄(卡刷包有幾個文件就都移到 U 盤根目錄下)。
3. 刷入卡刷包
CM311-1A 關機,將 U 盤插入靠近網口的一側。然后開機,同時不停的按遙控器左鍵(上下左右的左鍵),出現正在安裝系統更新進度條時馬上關機,然后迅速開機,這樣刷機包就會繼續刷下去直到刷機成功。成功后會自動開機進入電視安卓系統,這時就可以拔掉 U 盤了。
一定要看準,只有下面這個圖片才是進入到了卡刷模式,如果沒有進入到卡刷模式,多試幾次。第一次看到下面的圖片時,馬上關閉電源開關,然后迅速打開電源開關,第二次看到下面的圖片時,耐心等待進度條走完就可以了。
4. 進系統正常使用
卡刷完成,會自動進入系統。如果要刷 Armbian 系統,請記下機頂盒的 IP 地址,用于從 U 盤啟動(可選,也可使用附錄一其他方法使機頂盒從 U 盤啟動)。
線刷方法
一般情況下,插上 U 盤,重新插入電源,如果可以從 USB 中啟動,只要重新安裝即可,多試幾次。
如果接入顯示器后,屏幕是黑屏狀態,且無法從 USB 啟動,就需要進行盒子的短接初始化了。先將盒子恢復到原來的安卓系統,再重新刷入 Armbian 系統。首先下載 amlogic_usb_burning_tool 系統恢復工具并安裝好。準備一條 USB 雙公頭數據線,準備一個曲別針。在盒子的主板上確認短接點(參見附錄二)的位置,下載盒子對應的 Android TV 固件包。
amlogic_usb_burning_tool 系統恢復工具下載地址:https://github.com/ophub/kernel/releases/tag/tools
Android TV 固件包下載地址:https://github.com/ophub/kernel/releases/tag/tools
1. USB Burning Tool
打開刷機軟件 USB Burning Tool。
文件 → 導入燒錄包
[ 選擇 ]:擦除 flash
[ 選擇 ]:擦除 bootloader
點擊 [ 開始 ] 按鈕。
刷機時,線刷包文件名不要出現中文,否則線刷過程中會出現各種錯誤。
2. 電源適配器插電 + 短接
電源適配器插電,盒子接上電源線,不打開電源開關(有的盒子不接電源線也可以),
使用 [ 曲別針 ] 將盒子主板上的 [ 兩個短接點進行短接連接 ],
并同時使用 [ USB 雙公頭數據線 ] 將 [ 盒子 ] 與 [ 電腦 ] 進行連接。
兩選三接,兩選是擦除 flash、擦除 bootloader;三接是插電源線、HDMI 免拆神器、USB 雙公頭數據線。
3. 開始線刷
打開電源開關。
當看到 [ 進度條開始走動 ] 后,拿走曲別針,不再短接;
當看到 [ 進度條 100% ],則刷機完成,盒子已經恢復成 Android TV 系統。
如果進度條沒有走動,可以嘗試插入電源。通長情況下不用電源支持供電,只 USB 雙公頭的供電即可滿足刷機要求。
如果以上某個步驟失敗,就再來一次,直至成功。
4. 進入 Android TV 系統
點擊 [ 停止 ] 按鈕,關閉 USB Burning Tool 軟件,
然后拔掉 [ 盒子 ] 和 [ 電腦 ] 之間的 [ USB 雙公頭數據線 ] 。
關閉電源開關,并再次通電重啟盒子 CM311-1A。
運行 Armbian 系統
一、制作 Armbian 啟動盤
1. 下載自己盒子型號對應的固件
CM311-1A 選擇文件名含有 s905l3a 的固件。( Jammy 是 Ubuntu 22.04 的代號;bullseye 是 Debian 11 的代號)
Armbian 系統下載地址:https://github.com/ophub/amlogic-s9xxx-armbian
2. 使用 balenaEtcher 將 Armbian 寫到 U 盤
下載好后的壓縮包解壓,然后使用 balenaEtcher 將 Armbian 寫到 U 盤。
balenaEtcher 下載地址:https://www.balena.io/etcher
二、機頂盒運行 Armbian 系統
1. 把制作好的啟動盤插到機頂盒 USB 接口上
2. 修改機頂盒從 U 盤啟動
使用開心電視助手,遠程連接機頂盒。
點擊【 調試 】 → 【 從 U 盤 / SD 卡啟 】即可。(大佬可參見附錄一,查看其他方式來設置從 U 盤啟動。)
開心盒子助手下載地址:http://www.kaixindianshi.com/thread-2241-1-1.html
3. 進入 U 盤的 armbian 系統
然后顯示器會出現突然花屏,然后再進入跑開機命令的頁面,即是成功進入 U 盤的 armbian 系統。
4. 刷入系統到 eMMC(可選)
eMMC 可籠統的理解為硬盤,把操作系統寫進 CM311-1A 的硬盤上,覆蓋了原系統(實際上此表述不正確)。如果需要機頂盒的安卓系統的話,可以選擇不刷入。(雙系統:第三方系統刷在 U 盤里面,不插 u 盤啟動機頂盒系統,插上 u 盤啟動 u 盤系統,不會變磚。)
以下為刷入 eMMC 教程!!!
第三方系統直接寫入 emmc,可以脫離 u 盤運行,有變磚風險,變磚后需要線刷恢復。建議備份現在的安卓系統。
等待差不多兩分鐘后,在路由器上查看機頂盒的 IP。使用 SSH 遠程連接 Linux 系統,默認賬號 root、密碼 1234。然后需要你進行修改密碼,輸入兩遍密碼后,直接斷開連接。
重新登錄 Armbian 系統 → 輸入命令:
armbian-install
這里首先要選擇盒子型號,這里一定要看仔細,選擇 CM311A-YST 版本,因為不同版本的 ARMBIAN 固件序號會有微調,在這一版本為305,就是 s905l3a 的選項。然后選擇系統主要文件的存儲格式,其中 1 為 ext4 格式、2 為 btrfs 格式,我這里選擇了 ext4(常見),輸入1。之后耐心等待寫入完成。
完成后會有寫入成功的提示文字。此時可以關閉電源,拔下 U 盤,并再次通電重啟盒子。
最后一步很重要!!!(2022.11.26 的 armbian 不會出現此情況了)刷完系統到 EMMC 后的第一次盒子斷電拔 U 盤重啟會出現黑屏現象,別著急,第二次給盒子斷電、插回 U 盤、通電操作盒子又會正常引導系統。系統引導完成后(盒子指示燈變綠),第三次給盒子斷電拔下 U 盤再插電,盒子就能正常從 EMMC 引導并進入 armbian 系統了。
5. 網絡設置(可選)
5.1 采用網線
網絡配置文件在 /etc/network/interfaces 文件中。默認采用 DHCP 動態分配 IP 的策略(方法1),由 Armbian 所接入的網絡路由器自動分配 IP。如果想改為靜態 IP,可以把設置方法 1 禁用或刪除,啟用方法 2 的靜態 IP 設置。
方法 1 參考:由 DHCP 動態分配 IP 地址
source /etc/network/interfaces.d/*
auto eth0
iface eth0 inet dhcp
方法 2 參考:手動設置靜態 IP 地址
source /etc/network/interfaces.d/*auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
5.2 采用無線 WIFI
需要購買無線 USB 網卡,編譯安裝驅動。
5.2.1 通過 nmcli 連上 WIFI
nmcli 是一個命令行工具,用于控制 NetworkManager;還可以用來顯示網絡設備狀態;創建、編輯、開啟/關閉和刪除網絡連接 。Armbian 系統默認自帶 nmcli, 這里不介紹安裝方法。
通過 nmcli 直接連上 WIFI 后,系統會記錄已保存的 AP。下面是具體的連接方法:
- 查看設備狀態
這里 wlp2s0 類型為 wifi,表示我們的無線網卡,狀態為 disconnected,還沒有連上 WIFI 熱點。$ nmcli device status DEVICE TYPE STATE CONNECTION enp1s0 ethernet connected Wired connection 1 wlp2s0 wifi disconnected -- lo loopback unmanaged -- - 檢查 radio
$ nmcli radio WIFI-HW WIFI WWAN-HW WWAN enabled enabled enabled enabled - 查看附近無線網絡信號
第 5 列表示信號情況,信號越好的 AP,會越靠前。$ nmcli dev wifi list SSID MODE CHAN RATE SIGNAL BARS SECURITY MYSSID Infra 11 54 Mbit/s 100 ▂▄▆█ WPA2 MYSSID Infra 132 54 Mbit/s 100 ▂▄▆█ WPA2 SOMEOTHERSSID Infra 52 54 Mbit/s 49 ▂▄__ WPA2 MYSSID Infra 149 54 Mbit/s 45 ▂▄__ WPA2 MYSSID Infra 11 54 Mbit/s 42 ▂▄__ WPA2 SOMEOTHERSSID Infra 1 54 Mbit/s 27 ▂___ WPA2 - 連上 AP 熱點
- 如果是無密碼的 WIFI, 執行以下連接命令,SSID 就是我們所說的 WIFI 名。
$ nmcli device wifi connect <SSID|BSSID> - 加密的 AP,使用以下命令。
$ nmcli device wifi connect <SSID|BSSID> password <password>執行命令沒有報錯后,再 Ping 下百度是否可達,能 Ping 通就表明已經連上 AP,可以正常上網。
- 如果是無密碼的 WIFI, 執行以下連接命令,SSID 就是我們所說的 WIFI 名。
5.2.2 更新 WIFI 系統配置,連上 WIFI
更新 /etc/network/interfaces 文件
- 備份 interface :
cd /etc/network && cp interfaces interfaces.bak - 更新 interface:
# armbian-config created source /etc/network/interfaces.d/*# Local loopback auto lo iface lo inet loopbackauto eth0 allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp更新 /etc/wpa_supplicant/wpa_supplicant.conf
- 備份 wpa 配置文件:
cd /etc/wpa_supplicant/ && cp wpa_supplicant.conf wpa_supplicant.conf.bak - 更新 wpa_supplicant.conf:
network={ssid="網絡 ID"psk="密碼" } - 重啟網絡,ping 百度試下是否連通,正常應該可以成功連網。
5.2.3 通過其他方法,連上 WIFI
Armbian 配置工具:終端中輸入 armbian-config 。
網絡管理 TUI:終端中輸入 nmtui 。
使用 armbian-config 時,請先連接有線網絡,因為 armbian-config 有幾處需要通過網絡獲取一些數據。
常見問題
收錄一些刷入 armbian 系統的問題及解決方法。
1. 如何恢復原安卓 TV 系統
通常使用 armbian-ddbr 備份恢復,或者使用 Amlogic 刷機工具恢復原安卓 TV 系統。
方法一:使用 armbian-ddbr 備份恢復
建議在全新的盒子里安裝 Armbian 系統前,先對當前盒子自帶的原安卓 TV 系統進行備份,以便在需要恢復系統時使用。請從 TF/SD/USB 啟動 Armbian 系統,輸入 armbian-ddbr 命令,然后根據提示輸入 b 進行系統備份,備份文件的存放路徑為 /ddbr/BACKUP-arm-64-emmc.img.gz ,請下載保存。在需要恢復安卓 TV 系統時,將之前備份的文件上傳至 TF/SD/USB 設備的相同路徑下,輸入 armbian-ddbr 命令,然后根據提示輸入 r 進行系統恢復。
方法二:使用 Amlogic 刷機工具恢復
參見線刷方法。
注意:方法一僅支持刷入的系統為 O 大( ophub )的 Armbian 系統。
2. SSH 連接不上解決方法
SSH 連接不上、寫入 EMMC 后,22 端口默認關閉了、網卡不工作,幾秒后就斷開、SSH 運行一段時間后無法登錄等。
amlogic-s9xxx-armbian/build-armbian/common-files/rootfs/etc/custom_service/start_service.sh
在 /etc/custom_service/start_service.sh 中,把 26、27 兩行反向修改,有人是刪除兩行的 # 可以工作正常,有人是加上 # 注釋了正常。我是刪除 # 正常。這個問題是因為啟動時沒有生成 sshd 目錄,但各盒子現象不一樣。
# [[ -d "/var/run/sshd" ]] || mkdir -p -m0755 /var/run/sshd
# [[ -f "/etc/init.d/ssh" ]] && /etc/init.d/ssh start 2>/dev/null
# 這個腳本的作用是在啟動的最后一步,會自動重啟下 ssh 服務,確保 ssh 服務起來。(不放心可以添加以下命令)
[[ -f "/etc/init.d/ssh" ]] && sleep 5 && /etc/init.d/ssh restart 2>/dev/null
附錄
附錄一、設置盒子從 USB / TF / SD 中啟動
方法一:命令版
- 把刷好固件的 USB/TF/SD 插入盒子。
- 開啟開發者模式:設置 → 關于本機 → 版本號,在版本號上快速連擊 5 次鼠標左鍵, 看到系統顯示
開啟開發者模式的提示。 - 開啟 USB 調試模式:系統 → 高級選選 → 開發者選項(設置
開啟USB調試為啟用)。啟用ADB調試。 - 安裝 ADB 工具:下載 adb 并解壓,將
adb.exe,AdbWinApi.dll,AdbWinUsbApi.dll三個文件拷?到c://windows/目錄下的system32和syswow64兩個文件夾內,然后打開cmd命令面板,使用adb --version命令,如果有顯示就表示可以使用了。 - 進入
cmd命令模式。輸入adb connect 192.168.1.102命令(其中的 ip 根據你的盒子修改,可以到盒子所接入的路由器設備里查看),如果鏈接成功會顯示connected to 192.168.1.102:5555。 - 輸入
adb shell reboot update命令,盒子將重啟并從你插入的 USB/TF/SD 啟動,從瀏覽器訪問固件的 IP 地址,或者 SSH 訪問即可進入固件。
adb 下載地址:https://github.com/ophub/kernel/releases/tag/tools 或者
adb 下載地址:https://developer.android.google.cn/studio/releases/platform-tools?hl=zh-cn#downloads
方法二:Root 版
刷入的卡刷包帶 ROOT。安裝 Reboot to LibreELEC 1.1 Apk 到系統里面打開就會進入 recovery 模式。recovery 模式后系統會自動重啟進入 u 盤啟動。
Reboot to LibreELEC APK 下載地址:https://apkdownloadforandroid.com/download/1000534/2
方法三:軟件版
開心電視助手。參見機頂盒運行 Armbian 系統這小節。
附錄二、短接方法
拆機找到 4R32(就在主板四周邊緣找),用導電體(如:鑷子、鉗子、曲別針、剪刀等)連接這兩個點。也可以使用免拆機神器,插到 HDMI 接口上。
總結
以上是生活随笔為你收集整理的CM311-1A 卡刷 + 线刷、刷安卓与 Armbian 教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客题霸 [滑动窗口的最大值] C++题
- 下一篇: 牛客题霸 [在转动过的有序数组中寻找目标