電視盒子 E900V22C S905L3A 備份鏡像并安裝 Armbian Linux
摘要
- 介紹 Armbian 系統的基本知識;選擇 Linux 內核和發行版本;下載和燒錄系統鏡像;開啟電視盒子 ADB 功能;獲取分區表和備份鏡像;從 U 盤啟動和安裝 Armbian 系統;解決啟動、安裝、恢復系統過程中的問題;進行初次配置;說明 E900V22C TF 卡相關元器件的參數。
背景說明
- Armbian 系統是基于 Debian/Ubuntu 而構建的專門用于 ARM 芯片的輕量級 Linux 系統。兼容并繼承了 Debian/Ubuntu 系統的功能和豐富的軟件生態,可以安全穩定地運行在 TF/SD/USB 及設備的 eMMC 里。
- Armbian 系統支持在使用 TF/SD/USB 啟動時對電視盒子的 eMMC 分區進行備份和恢復。
- Ubuntu 軟件包更新速度快,主流版本為 Jammy(22.04) 和 Noble(24.04)。
- Debian 軟件包相對更穩定,主流版本為 Bullseye(11) 和 Bookworm(12)。
操作步驟
燒錄 Armbian 系統鏡像
選擇 Linux 內核
- 查看 Linux 內核的支持狀態,訪問 The Linux Kernel Archives 網頁。

- 查看 Armbian 系統可用的 Linux 內核,訪問 kernel/README.cn.md at main · ophub/kernel 網頁。

- 查看 Armbian 發布的 Amlogic S9xx 電視盒子的服務器鏡像,訪問 Amlogic S9xx TV Box - Armbian 網頁。

- 綜合以上三個網頁的信息,建議選擇版本為 5.15 或 6.12 的內核。
下載 Armbian 鏡像
- 前往發布 S9xxx 電視盒子 Armbian 系統的 Releases · ophub/amlogic-s9xxx-armbian 網頁。
- 找到 Armbian_jammy 發行版,點擊 Assets。
- 搜索基于 amlogic_S905l3a 的系統鏡像文件。
- 下載需要的系統鏡像文件。建議使用加速源下載以加快下載速度。

燒錄 Armbian 鏡像
- 在電腦插入一個大于 8GB 的 U 盤。
- 將下載完成后的
.img.gz格式的鏡像文件解壓為.img格式。 - 下載并打開 Rufus 軟件。
- 在 設備 中選擇要燒錄鏡像的目標 U 盤。
- 在 引導類型選擇 中選擇 鏡像文件 ,點擊 選擇 按鈕。
- 在彈出的 打開 對話框中選擇要燒錄的
.img格式的鏡像文件,點擊 打開 按鈕。 - 點擊 開始 按鈕,等待 Armbian 系統鏡像燒錄完成。

獲取分區表并備份分區鏡像
開啟電視盒子 ADB 功能
- 將電源線和網線插入電視盒子,安裝并打開 電視應用管家 軟件。
- 選擇 實驗室 后按確認鍵。

- 選擇 永久開啟無線adb 或 臨時開啟無線adb 后按確認鍵。

通過 ADB 連接電視盒子
- 在電視盒子的 ADB 功能開啟的情況下,在電腦打開 開心電視助手 軟件。
- 在軟件中點擊 首頁 面板,在 登錄 功能區中的 設備 IP 地址 后的輸入框中輸入在路由器中查到的電視盒子的 IP 地址,端口保持默認,點擊 連接 按鈕。

獲取安卓 TV 系統分區表
- 在電腦已通過 ADB 連接到電視盒子的情況下,在開心電視助手軟件中點擊 首頁 面板,在 常用操作 功能區中點擊 AdbShell 按鈕,在彈出的窗口中執行命令。
- 顯示塊設備目錄的目錄內容列表以查看分區信息,執行
ls -al|grep 179|sort -t6 /dev/block命令。塊設備分區中需要關注的內容為 主設備號 和 子設備號 以及 分區名稱。其中的grep命令用于篩選匹配指定正則表達式的行;其中的sort命令用于對文本中所有的行進行排序。

- 如果需要進一步查看系統信息中的分區信息,可以執行以下命令。
- 對于 MTD 設備查看分區信息,執行
cat /proc/mtd命令。信息項為 設備編號、分區大小、擦除大小 和 分區名稱。 - 對于 eMMC 設備查看分區信息,執行
cat /proc/emmc命令。信息項為 設備編號、分區大小、擦除大小 和 分區名稱。 - 對于 MMC 設備查看分區信息,執行
cat /proc/partitions命令。信息項為 主設備號、子設備號、分區大小 和 分區編號。
- 對于 MTD 設備查看分區信息,執行
- 如果需要查看 分區編號 和 分區名稱 之間的對應關系,可以執行
ls -al /dev/block/by-name命令。
備份電視盒子分區鏡像
- 通過軟件插件備份分區鏡像。在電腦已通過 ADB 連接到電視盒子的情況下,在開心電視助手軟件中點擊 插件 面板,在 晶晨芯片 插件列表中雙擊 備份固件 插件。備份完成后,固件存放在開心電視助手軟件根目錄下的backup目錄中。

- 通過手動操作備份分區鏡像。其中
data分區和cache分區無需備份。-
在開心電視助手軟件中點擊 首頁 面板,在 常用操作 功能區中點擊 AdbShell 按鈕,根據獲取的分區表信息,在彈出的窗口中執行以下命令。
dd if=/dev/block/bootloader of=/sdcard/backup/bootloader.img dd if=/dev/block/reserved of=/sdcard/backup/reserved.img dd if=/dev/block/env of=/sdcard/backup/env.img dd if=/dev/block/logo of=/sdcard/backup/logo.img dd if=/dev/block/recovery of=/sdcard/backup/recovery.img dd if=/dev/block/misc of=/sdcard/backup/misc.img dd if=/dev/block/dtbo of=/sdcard/backup/dtbo.img dd if=/dev/block/cri_data of=/sdcard/backup/cri_data.img dd if=/dev/block/param of=/sdcard/backup/param.img dd if=/dev/block/boot of=/sdcard/backup/boot.img dd if=/dev/block/rsv of=/sdcard/backup/rsv.img dd if=/dev/block/metadata of=/sdcard/backup/metadata.img dd if=/dev/block/vbmeta of=/sdcard/backup/vbmeta.img dd if=/dev/block/tee of=/sdcard/backup/tee.img dd if=/dev/block/odm of=/sdcard/backup/odm.img dd if=/dev/block/product of=/sdcard/backup/product.img dd if=/dev/block/vendor | busybox gzip -4 > /sdcard/backup/vendor.img dd if=/dev/block/system | busybox gzip -4 > /sdcard/backup/system.img -
在開心電視助手軟件中點擊 管理 面板,在 下載文件到本地 功能區中,在 文件保存位置 后的輸入框中,輸入電腦保存電視盒子分區鏡像的位置,在 要下載的文件 后的輸入框中,輸入
/sdcard/backup目錄,最后點擊 下載 按鈕。

-
獲取分區表并備份全盤鏡像
- 在電腦已通過 ADB 連接到電視盒子的情況下,將燒錄好系統鏡像的 U 盤插入電視盒子靠近電源接口側的 USB 接口。
- 在開心電視助手軟件中點擊 調試 面板,在 晶晨芯片 功能區中點擊 從U盤/SD卡啟動 按鈕。

- 通過 SSH 登錄 Armbian 系統。打開終端連接工具軟件,協議 選擇 SSH2,主機名 為在路由器中查到的電視盒子的 IP 地址,端口 為默認的
22,點擊 連接 按鈕 。默認用戶為root,默認密碼為1234。

- 連接并登錄電視盒子的 Armbian 系統后,重新設置
root用戶的密碼,選擇默認的系統命令shell為bash,按 Ctrl + C 鍵跳過創建新用戶賬戶。 - 獲取安卓 TV 系統分區信息,包括 DTB 分區信息和 eMMC 分區信息,執行
ampart /dev/mmcblk2 --mode webreport 2>/dev/null命令。復制輸出的鏈接到瀏覽器打開即可查看詳細分區信息。


- 備份 eMMC 全盤鏡像,執行
armbian-ddbr命令。在之后的選項選擇中輸入b后按 Enter 鍵以備份系統鏡像,等待電視盒子的安卓 TV 系統備份完成。

- 通過 SFTP 登錄 Armbian 系統。打開文件傳輸工具軟件,協議 選擇 SFTP,主機名 為在路由器中查到的電視盒子的 IP 地址,端口 為默認的 22 ,點擊 連接 按鈕 。用戶名為默認用戶
root,密碼為新設置的密碼。 - 連接并登錄電視盒子的 Armbian 系統后,將
ddbr目錄下的BACKUP-arm-64-emmc.img.gz文件下載到電腦保存電視盒子 eMMC 鏡像的位置。
寫入 Armbian 系統到電視盒子
-
通過 SSH 連接并登錄 Armbian 系統。

-
安裝 Armbian 系統到電視盒子的 eMMC 塊設備,執行
armbian-install命令。在之后的選項選擇中,輸入304后按 Enter 鍵以選擇對應的 DTB 文件,輸入1后按 Enter 鍵以選擇ext4文件系統類型,在此之后開始安裝,等待安裝完成。

-
如果系統鏡像寫入 eMMC 塊設備時出現錯誤,則需要通過修改
dtb文件來調整 eMMC 的工作速度和頻率。-
在 eMMC 中存在安卓 TV 系統時出現的錯誤信息。
[ STEPS ] Successfully partitioned internal eMMC with amaprt. [ INFO ] Start create MBR and partittion. Error: Input/output error during write on /dev/mmcblk2 Error: /dev/mmcblk2: unrecognised disk label Error: /dev/mmcblk2: unrecognised disk label [ ERROR ] Failed to partition internal eMMC using [ parted ]. -
在 eMMC 中存在 Armbian 系統時出現的錯誤信息。
[ INFO ] Delete the existing [ 2 ] partitions. Error: Input/output error during write on /dev/mmcblk2 [ ERROR ] Failed to delete partition [ 1 ]. Please try again.
-
安裝依賴,執行
apt-get install -y device-tree-compiler命令。 -
切換到 Amlogic 芯片的
dtb文件所在目錄,執行cd /boot/dtb/amlogic命令。 -
反編譯 dtb 文件(由 dtb 文件生成 dts 源碼),執行下列命令。
dtc -I dtb -O dts -o meson-g12a-s905l3a-e900v22c.dts meson-g12a-s905l3a-e900v22c.dtb -
通過 SFTP 連接并登錄 Armbian 系統后,將
/boot/dtb/amlogic目錄下的meson-g12a-s905l3a-e900v22c.dts文件下載到電腦保存電視盒子相關文件的位置。 -
降低 MMC 塊設備的工作頻率。打開
meson-g12a-s905l3a-e900v22c.dts文件,以max-frequency為關鍵詞定位 MMC 塊設備參數配置所在位置。- 如果初次寫入失敗,將
mmc@ffe07000中的max-frequency參數的值0xbebc200修改為mmc@ffe05000中的max-frequency參數的值0x2faf080。 - 如果依舊寫入失敗,將
mmc@ffe07000中的max-frequency參數的值0x2faf080修改為mmc@ffe03000中的max-frequency參數的值0x5f5e100。

- 如果初次寫入失敗,將
-
通過 SFTP 連接并登錄 Armbian 系統后,將修改后的
meson-g12a-s905l3a-e900v22c.dts文件上傳到/boot/dtb/amlogic目錄下。 -
編譯 dts 文件(由 dts 源碼生成 dtb 文件),執行下列命令。
dtc -I dts -O dtb -o meson-g12a-s905l3a-e900v22c.dtb meson-g12a-s905l3a-e900v22c.dts -
保存數據并重啟 Armbian 系統,執行
sync && reboot命令。 -
通過 SSH 連接并登錄 Armbian 系統后,執行
armbian-install命令。

-
配置 Armbian 系統
- 更換 Armbian 系統的軟件源,執行
armbian-apt命令。在之后的選項選擇中輸入1后按 Enter 鍵以切換軟件源為清華源。

- 更新 Armbian 系統的軟件列表信息,執行
apt update命令。
注意事項
-
對于已安裝 Armbian 系統后無法從 U盤/TF/SD 啟動的問題。
- 進入 eMMC 中的 Armbian 系統的
/boot目錄。 - 修改
boot.scr文件的文件名。如改為boot.scr.bak。 - 插入 U盤/TF/SD 后重新啟動 Armbian 系統。
- 進入 eMMC 中的 Armbian 系統的
-
對于系統恢復時寫入 eMMC 的速度極低的問題。

- 執行
armbian-install命令以測試對 eMMC 塊設備的寫入是否正常。 - 如果寫入出現錯誤,修改
dtb文件。 - 重新執行
armbian-ddbr命令和r選項以恢復系統。

- 執行
-
對于型號為 E900V22C 的電視盒子,電路板上留有 TF 卡槽及其相關元器件的空位。補全 TF 卡相關電路的元器件后可以使用 TF 卡功能。其中的
33Ω電阻和4.7kΩ電阻以及10pF電容為必須項。

-
一般 USB2.0 接口的 U 盤的實際寫入速度上限為 10MB/s 左右,實際讀取速度上限為 20MB/s 左右。在已加裝 TF 卡座的情況下建議使用 TF 卡燒錄鏡像。
參考資料
- E900V22C/D 等 S905L3A 機頂盒教程匯總
- Armbian 說明 · ophub/amlogic-s9xxx-armbian
- Armbian 構建及使用方法 · ophub/amlogic-s9xxx-armbian
- 查看MTD,EMMC,MMC三種設備的分區 | 碼農網
- Memory Technology Device (MTD) Subsystem for Linux.
- Linux 系統目錄結構 | 菜鳥教程
- Linux命令手冊-中文命令詳解
版權聲明:本文為「夢幻之心星」原創,依據 CC BY-NC-SA 4.0 許可證進行授權,轉載請附上原文出處鏈接及本聲明。
博客園地址:http://www.rzrgm.cn/Sky-seeker
微信公眾號:夢幻之心星 Sky-seeker
![]()
關注微信公眾號,即時獲取文章推送;訪問博客園網頁,正常顯示網址鏈接。

浙公網安備 33010602011771號