<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      海思機頂盒Hi3798使用Hitool和TTL備份并燒錄海納思Linux服務器系統固件

      海思機頂盒Hi3798使用Hitool和TTL備份并燒錄海納思Linux服務器系統固件

      摘要

      • 介紹了使用海思 CPU 的機頂盒的固件備份和燒錄。通過 USB-TTL 串口燒錄器 CH340 連接機頂盒,使用華為海思刷機工具 HiTool 創建和修改分區表文件,備份和燒寫固件,通過升級包升級系統。在海納思系統中安裝homeassistant,通過 FTP、WebDAV、Alist云盤訪問文件,真實的 CPU 型號和 reg name 的確定,以及加快燒寫速度的方法。

      背景說明

      • 使用 Home assistant(后文縮寫為 HA)需要個人服務器,根據不同的情況有不同的家用 Linux 服務器方案。

        服務器方案 優點 缺點
        舊手機 體積小、功耗低、價格低 性能低、網絡受限
        機頂盒 體積小、功耗低、價格低 性能低、網絡受限
        樹莓派 體積小、功耗低 價格貴、性能中、網絡受限
        迷你主機 體積小、價格中 功耗中、性能中、網絡受限
        NAS 體積中、價格中 功耗高、性能高、網絡受限
        電腦/服務器 性能高 價格貴、體積大、功耗高、網絡受限
        云服務器 網絡不受限,性能高 價格貴
      • 舊手機可用于簡單的功能驗證,安裝較為復雜,也容易出現問題。目前常用的方案有termuxtermux+prootAlpine Term+dockerlinux deploy(需要 root 權限)。termux 和 termux+proot 方案主要是通過安裝 Python 來安裝 HA。經過嘗試,termux 安裝 HA 會出現依賴報錯;termux+proot+debian 啟動 HA 時會出現版本錯誤的提示;Alpine Term+docker 安裝 HA 后可以正常運行,但性能極低卡頓嚴重。

      • 機頂盒可用于簡單的個人使用,安裝難度一般,不容易出現問題。目前常用的有Armbian海納思系統這兩種方案,主要是通過安裝 docker 來安裝 HA。海納思系統 主要支持海思芯片中的 Hi3798MV100Hi3798MV200Hi3798MV300 ,不支持Hi3798MV300H 等帶后綴的處理器。Armbian 主要支持晶晨芯片中的 S9xx 系列。

      • 原本是打算對型號為CM211-2的機頂盒進行刷機,后來發現 CPU 型號為Hi3798MV300H。于是改為對型號為HG680-j且 CPU 為Hi3798MV100的機頂盒進行刷機。

      操作實踐

      前提要求

      獲取系統信息

      1. 使用網線將接機頂盒和電腦連接到網絡,使用導線連接機頂盒和 USB-TTL 串口燒錄工具。
        HiTool主界面

      2. 打開HiTool后點擊HiBurn
        HiTool主界面

      3. 設置PC 與板端配置參數。設置 本地 PC 配置下的串口服務器 IP板端配置下的IP 地址網關串口 為 USB-TTL 串口燒錄器所使用的端口號(查看方式:控制面板 -> 設備管理器 -> 端口(COM 和 LPT)),服務器 IP 為電腦的 IP 地址。 IP 地址 為機頂盒的 IP 地址,網關一般保持默認即可 。傳輸方式 選擇 網口(推薦)
        PC與板端配置

      4. 獲取中央處理器型號和管腳配置表。點擊 打開終端工具 ,然后點擊連接,最后給機頂盒上電。啟動信息中的 Reg Name 包含管腳配置表、中央處理器型號、內存規格、PCB 板層數、閃存類型。
        打開終端工具

      5. 查看分區表。對于型號為CM211-2且 CPU 為Hi3798MV300H的機頂盒,啟動信息中會顯示分區表信息。而對于型號為HG680-j且 CPU 為Hi3798MV100的機頂盒,啟動信息中不會顯示分區表,需要執行cat /proc/cmdline命令查看分區表信息。
        啟動信息中顯示分區表
        執行命令查看分區表

      6. 查看掛載信息。執行mount命令查看系統中所有的掛載文件系統。
        執行命令查看掛載信息

      7. 查看閃存塊分區。對于型號為CM211-2機頂盒,執行cd /dev/block/platform/soc/by-namels -al命令查看閃存塊分區所指向的分區名。而對于型號為HG680-j機頂盒,執行cd /dev/block/platform/hi_mci.1/by-namels -al命令查看閃存塊分區所指向的分區名。對于其它機頂盒,可在/dev/block/platform下的目錄的子目錄中尋找by-name文件夾。
        執行命令查看閃存塊分區

      8. 查看文件系統信息。執行df命令查看系統中分區的大小和使用量。
        執行命令查看文件系統信息

      9. 根據系統中分區的使用量,清理無用信息為數據備份做準備。軟件卸載可使用開心電視助手軟件,此軟件還可以便捷的獲取分區表、掛載信息、文件系統信息等。
        使用開心電視助手獲取系統信息

      創建和修改分區表

      1. 設置芯片型號。點擊芯片 -> 切換芯片 -> Hi3798MV100
        設置芯片型號

      2. 點擊 燒寫 eMMC,點擊表格右側的綠色的加號以創建新的分區。

      3. 點擊名稱項,根據分區表輸入分區名,并遵循閃存塊分區中的區塊順序(從mmcblk0p1mmcblk0p17)。

      4. 點擊文件項里面的右側的文件夾圖標(選中時出現),在彈出的對話框中選擇文件路徑并在輸入文件名后點擊打開,建議文件名與分區名一致。

      5. 點擊長度項,根據分區表設置對應分區的大小。

      6. 點擊文件系統項,根據掛載信息選擇對應分區的文件系統。此項只影響燒錄的速度。

      7. 勾選要操作的分區前面的復選框。

      8. 點擊eMMC分區表文件右側的瀏覽,在彈出的對話框中選擇文件路徑并在輸入文件名后點擊打開,然后點擊保存。建議文件名包含設備的 CPU 型號和閃存類型。
        創建分區表文件

      操作固件

      備份固件

      方法一:TTL+HiTool

      1. 在創建和修改分區表的最后一步點擊上載

      2. 彈出對話框后關閉機頂盒電源。

      3. 開啟機頂盒電源。

      4. 等待對話框中的上載的進度條結束。
        上載固件

      方法二:TTL+U 盤

      1. 點擊 打開終端工具 ,然后點擊連接,最后給機頂盒上電。

      2. 執行df命令查看系統中分區的使用情況。

      3. 插入 U 盤(FAT32 格式)后執行df命令查看系統中分區的使用情況,新出現的/mnt/sda/sda1表示 U 盤掛載成功。

      4. 執行cd /dev/block/platform/soc/by-namels -al命令查看閃存塊分區所指向的分區名。

        root@Hi3798MV300:/ # cd /dev/block/platform/soc/by-name
        root@Hi3798MV300:/dev/block/platform/soc/by-name # ls -al
        lrwxrwxrwx root    root    1970-01-01 08:00 baseparam -> /dev/block/mmcblk0p5
        lrwxrwxrwx root    root    1970-01-01 08:00 boot -> /dev/block/mmcblk0p9
        lrwxrwxrwx root    root    1970-01-01 08:00 cache -> /dev/block/mmcblk0p14
        lrwxrwxrwx root    root    1970-01-01 08:00 fastboot -> /dev/block/mmcblk0p1
        lrwxrwxrwx root    root    1970-01-01 08:00 fastplay -> /dev/block/mmcblk0p8
        lrwxrwxrwx root    root    1970-01-01 08:00 logo -> /dev/block/mmcblk0p7
        lrwxrwxrwx root    root    1970-01-01 08:00 misc -> /dev/block/mmcblk0p10
        lrwxrwxrwx root    root    1970-01-01 08:00 partition -> /dev/block/mmcblk0p2
        lrwxrwxrwx root    root    1970-01-01 08:00 pqparam -> /dev/block/mmcblk0p6
        lrwxrwxrwx root    root    1970-01-01 08:00 recovery -> /dev/block/mmcblk0p3
        lrwxrwxrwx root    root    1970-01-01 08:00 securestore -> /dev/block/mmcblk0p12
        lrwxrwxrwx root    root    1970-01-01 08:00 swdb -> /dev/block/mmcblk0p13
        lrwxrwxrwx root    root    1970-01-01 08:00 swdevinfo -> /dev/block/mmcblk0p4
        lrwxrwxrwx root    root    1970-01-01 08:00 system -> /dev/block/mmcblk0p15
        lrwxrwxrwx root    root    1970-01-01 08:00 trustedcore -> /dev/block/mmcblk0p11
        lrwxrwxrwx root    root    1970-01-01 08:00 userdata -> /dev/block/mmcblk0p16
        
      5. 執行cd /mnt/sda/sda1命令以切換當前工作目錄為/mnt/sda/sda1,執行mkdir FW_BK命令以在當前工作目錄創建名為FW_BK的文件夾。

      6. 使用下面的dd命令備份分區。對于比較大的分區,應執行dd if=/dev/block/platform/soc/by-name/userdata | gzip > /mnt/sda/sda1/FW_BK/userdata.bin.gz命令以先壓縮后輸出。

        dd if=/dev/block/platform/soc/by-name/fastboot of=/mnt/sda/sda1/FW_BK/fastboot.bin
        dd if=/dev/block/platform/soc/by-name/partition of=/mnt/sda/sda1/FW_BK/partition.bin
        dd if=/dev/block/platform/soc/by-name/recovery of=/mnt/sda/sda1/FW_BK/recovery.bin
        dd if=/dev/block/platform/soc/by-name/swdevinfo of=/mnt/sda/sda1/FW_BK/swdevinfo.bin
        dd if=/dev/block/platform/soc/by-name/baseparam of=/mnt/sda/sda1/FW_BK/baseparam.bin
        dd if=/dev/block/platform/soc/by-name/pqparam of=/mnt/sda/sda1/FW_BK/pqparam.bin
        dd if=/dev/block/platform/soc/by-name/logo of=/mnt/sda/sda1/FW_BK/logo.bin
        dd if=/dev/block/platform/soc/by-name/fastplay of=/mnt/sda/sda1/FW_BK/fastplay.bin
        dd if=/dev/block/platform/soc/by-name/boot of=/mnt/sda/sda1/FW_BK/boot.bin
        dd if=/dev/block/platform/soc/by-name/misc of=/mnt/sda/sda1/FW_BK/misc.bin
        dd if=/dev/block/platform/soc/by-name/trustedcore of=/mnt/sda/sda1/FW_BK/trustedcore.bin
        dd if=/dev/block/platform/soc/by-name/securestore of=/mnt/sda/sda1/FW_BK/securestore.bin
        dd if=/dev/block/platform/soc/by-name/swdb of=/mnt/sda/sda1/FW_BK/swdb.bin
        dd if=/dev/block/platform/soc/by-name/cache of=/mnt/sda/sda1/FW_BK/cache.bin
        dd if=/dev/block/platform/soc/by-name/system of=/mnt/sda/sda1/FW_BK/system.bin
        dd if=/dev/block/platform/soc/by-name/userdata of=/mnt/sda/sda1/FW_BK/userdata.bin
        

      燒錄固件

      方法一:TTL+HiTool

      1. 解壓海納思系統固件包TTL-hi3798mv100-202301.zip

      2. 點擊eMMC分區表文件右側的瀏覽,在彈出的對話框中選擇海納思系統固件包中的 eMMC 分區表文件后點擊打開

      3. 勾選需要燒錄的分區前面的復選框。

      4. 點擊燒寫

      5. 彈出對話框后關閉機頂盒電源。

      6. 開啟機頂盒電源。

      7. 等待對話框中的燒寫的進度條結束。
        燒寫固件

      方法二:TTL+U 盤

      1. 點擊 打開終端工具 ,然后點擊連接,最后給機頂盒上電。

      2. 執行df命令查看系統中分區的使用情況。

      3. 插入 U 盤(FAT32 格式)后執行df命令查看系統中分區的使用情況,新出現的/mnt/sda/sda1表示 U 盤掛載成功。

      4. 執行cd /dev/block/platform/soc/by-namels -al命令查看閃存塊分區所指向的分區名。

        root@Hi3798MV300:/ # cd /dev/block/platform/soc/by-name
        root@Hi3798MV300:/dev/block/platform/soc/by-name # ls -al
        lrwxrwxrwx root    root    1970-01-01 08:00 baseparam -> /dev/block/mmcblk0p5
        lrwxrwxrwx root    root    1970-01-01 08:00 boot -> /dev/block/mmcblk0p9
        lrwxrwxrwx root    root    1970-01-01 08:00 cache -> /dev/block/mmcblk0p14
        lrwxrwxrwx root    root    1970-01-01 08:00 fastboot -> /dev/block/mmcblk0p1
        lrwxrwxrwx root    root    1970-01-01 08:00 fastplay -> /dev/block/mmcblk0p8
        lrwxrwxrwx root    root    1970-01-01 08:00 logo -> /dev/block/mmcblk0p7
        lrwxrwxrwx root    root    1970-01-01 08:00 misc -> /dev/block/mmcblk0p10
        lrwxrwxrwx root    root    1970-01-01 08:00 partition -> /dev/block/mmcblk0p2
        lrwxrwxrwx root    root    1970-01-01 08:00 pqparam -> /dev/block/mmcblk0p6
        lrwxrwxrwx root    root    1970-01-01 08:00 recovery -> /dev/block/mmcblk0p3
        lrwxrwxrwx root    root    1970-01-01 08:00 securestore -> /dev/block/mmcblk0p12
        lrwxrwxrwx root    root    1970-01-01 08:00 swdb -> /dev/block/mmcblk0p13
        lrwxrwxrwx root    root    1970-01-01 08:00 swdevinfo -> /dev/block/mmcblk0p4
        lrwxrwxrwx root    root    1970-01-01 08:00 system -> /dev/block/mmcblk0p15
        lrwxrwxrwx root    root    1970-01-01 08:00 trustedcore -> /dev/block/mmcblk0p11
        lrwxrwxrwx root    root    1970-01-01 08:00 userdata -> /dev/block/mmcblk0p16
        
      5. 使用下面的dd命令燒錄分區。備份的固件所在的位置為FW_BK文件夾。對于比較大的分區,應執行gzip -dc /mnt/sda/sda1/FW_BK/userdata.bin.gz | dd of=/dev/block/platform/soc/by-name/userdata命令以先解壓后輸出。

        dd if=/mnt/sda/sda1/FW_BK/fastboot.bin of=/dev/block/platform/soc/by-name/fastboot
        dd if=/mnt/sda/sda1/FW_BK/partition.bin of=/dev/block/platform/soc/by-name/partition
        dd if=/mnt/sda/sda1/FW_BK/recovery.bin of=/dev/block/platform/soc/by-name/recovery
        dd if=/mnt/sda/sda1/FW_BK/swdevinfo.bin of=/dev/block/platform/soc/by-name/swdevinfo
        dd if=/mnt/sda/sda1/FW_BK/baseparam.bin of=/dev/block/platform/soc/by-name/baseparam
        dd if=/mnt/sda/sda1/FW_BK/pqparam.bin of=/dev/block/platform/soc/by-name/pqparam
        dd if=/mnt/sda/sda1/FW_BK/logo.bin of=/dev/block/platform/soc/by-name/logo
        dd if=/mnt/sda/sda1/FW_BK/fastplay.bin of=/dev/block/platform/soc/by-name/fastplay
        dd if=/mnt/sda/sda1/FW_BK/boot.bin of=/dev/block/platform/soc/by-name/boot
        dd if=/mnt/sda/sda1/FW_BK/misc.bin of=/dev/block/platform/soc/by-name/misc
        dd if=/mnt/sda/sda1/FW_BK/trustedcore.bin of=/dev/block/platform/soc/by-name/trustedcore
        dd if=/mnt/sda/sda1/FW_BK/securestore.bin of=/dev/block/platform/soc/by-name/securestore
        dd if=/mnt/sda/sda1/FW_BK/swdb.bin of=/dev/block/platform/soc/by-name/swdb
        dd if=/mnt/sda/sda1/FW_BK/cache.bin of=/dev/block/platform/soc/by-name/cache
        dd if=/mnt/sda/sda1/FW_BK/system.bin of=/dev/block/platform/soc/by-name/system
        dd if=/mnt/sda/sda1/FW_BK/userdata.bin of=/dev/block/platform/soc/by-name/userdata
        

      升級固件

      • 方法一:使用 TTL+HiTool+U 盤。燒寫recoveryrecovery,燒寫emmcmisc,然后重啟機頂盒以進入恢復模式,最后在恢復模式中選擇apply update from external storage后選擇 U 盤中的update.zip刷機包進行刷機。

      • 方法二:使用 TTL+U 盤或者ADB+U 盤。使用dd命令輸出recoveryrecoveryemmcmisc,然后執行reboot命令以重啟進入恢復模式,最后在恢復模式中選擇apply update from external storage后選擇 U 盤中的update.zip刷機包進行刷機。

      • 方法三:使用ADB或TTL或TTL+HiTool燒寫recovery后安裝原生版本的設置軟件包,進入原生版本的設置后選擇本地升級以升級系統。升級包必須被命名為update.zip并位于 U 盤的根目錄。軟件包一般被命名為SWProductCheck.apk,可在卡刷救磚相關教程中搜尋。

      • 方法四:把fastboot.binbootargs.binrecovery.img三個文件復制到U盤根目錄。短接強制刷機的短接點,然后打開機頂盒的電源,等待幾秒后松開短接。機頂盒就會加載U 盤中的fastboot.bin并引導 U 盤中的recovery.img進入恢復模式,最后在恢復模式中選擇apply update from external storage后選擇 U 盤中的update.zip刷機包進行刷機。

      • 方法五:把fastboot.binbootargs.binrecovery.img三個文件復制到U盤根目錄。使用ADB或TTL或TTL+HiTool擦除fastboot.bin分區。重啟后機頂盒就會加載U 盤中的fastboot.bin并引導 U 盤中的recovery.img進入恢復模式,最后在恢復模式中選擇apply update from external storage后選擇 U 盤中的update.zip刷機包進行刷機。

      使用簡述

      • 在瀏覽器輸入機頂盒的IP地址以進入海納思系統首頁。

      • 在首頁點擊外網,然后點擊終端管理,初始用戶名和密碼分別為rootecoo1234,可通過passwd root命令修改當前系統 root 賬號的密碼。

      • 終端管理頁面輸入apt install minidlna安裝 MiniDLNA 軟件。系統內置有基本功能的軟件安裝腳本, 輸入以下命令即可自動安裝并自動配置軟件。Portainer 是可視化的容器鏡像圖形管理工具,青龍面板是支持 Python3、JavaScript、Shell、Typescript 腳本的定時任務管理平臺,Home Assistant 是基于 Python 3 開發的集成現有智能家居生態的開源家庭自動化平臺。

        install-portainer.sh        安裝 Docker 容器管理面板
        install-qinglong.sh         安裝 Docker 應用: 青龍面板
        install-homeassistant.sh    安裝智能家居控制面板
        
      • 支持通過 FTP 或 SCP 等方式對服務器文檔進行管理,初始用戶名和密碼分別為ubuntuecoo1234。SFTP 模式的 22 端口可訪問根目錄, FTP 模式的 21 端口則只能訪問/home 目錄。

      • 內置的 WebDAV 服務器在 8081 端口,初始用戶名和密碼分別為adminadmin,默認存儲位置在 /home/ubuntu/webdav

      • 內置的Alist云盤支持多種存儲,支持網頁瀏覽和 WebDAV 訪問。初始用戶名和密碼分別為adminadmin123

      • 執行recoverbackup命令可以還原備份系統, 根分區內的數據將全部被原備份系統清除并覆蓋。

      注意事項

      • 關于芯片型號:魔百盒 CM211-2 的 CPU 型號有 MV100、MV300、MV300H。實際的 CPU 型號以reg name中包含 CPU 型號或芯片本身的絲印為準。

      • 關于reg name:芯片待燒錄固件的fastboot中的reg name與機頂盒現有的fastboot中的reg name在管腳配置表和中央處理器型號上應保持一致,否則無法燒錄fastboot。啟動信息中顯示的reg name僅供參考,實際的管腳配置表以機頂盒現有的fastboot中的reg name包含的管腳配置表為準。
        CPU型號與reg name

      • 關于HiBurn中的傳輸方式:無論傳輸方式選擇串口還是網口,燒寫fastboot時,實際上都是通過串口來傳輸數據,因此非常慢。

      • 關于HiBurn中的文件系統:如果實際上存在文件系統但軟件中的文件系統被設置為none時,在進行燒寫操作時,分區鏡像將會以二進制的形式進行傳輸;如果設置為一個確定的文件系統,如ext3/4時,在進行燒寫操作時,分區鏡像將會以壓縮包的形式進行傳輸,即對鏡像先壓縮后傳輸,最后解壓并寫入分區。因此,在進行燒寫操作時,設置文件系統可以減少分區鏡像傳輸所需要的時間,最終加快總體的燒寫速度。對于上載操作,無論是否設置軟件中的文件系統,上載的分區鏡像總是以二進制的形式進行傳輸,不會改變上載速度。

      • 關于壓縮:userdata分區的鏡像大小會超過 4GB,超過 FAT32 文件系統限制,所以需要壓縮。在使用dd命令時,結合分區的大小和使用量來決定是否進行壓縮可以有效的節省空間占用和傳輸時間。

      • 關于終端內容被覆蓋丟失:點擊窗口 -> 首選項 ,點擊終端后修改終端緩存行數。

      • 關于使用 HiTool 燒錄和備份固件失敗:點擊窗口 -> 首選項,然后點擊HiBurn,修改TFTP設置和命令設置。根據控制臺的報錯信息來修改對應的參數。有時重新操作一次也會恢復正常。
        修改工具參數

      參考資料


      版權聲明:本文為「夢幻之心星」原創,依據 CC BY-NC-SA 4.0 許可證進行授權,轉載請附上原文出處鏈接及本聲明。


      博客園地址:http://www.rzrgm.cn/Sky-seeker
      微信公眾號:關注微信公眾號,獲取即時推送
      微信名:夢幻之心星 微信號:Sky-seeker


      posted @ 2023-04-10 15:16  夢幻之心星  閱讀(27980)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 中文字幕久久国产精品| 日韩人妻一区中文字幕| 一区二区三区精品偷拍| 中文区中文字幕免费看| 国产成人亚洲精品狼色在线| 亚洲欧洲精品一区二区| 中文字幕av无码一区二区三区| 噜妇插内射精品| 福利视频在线一区二区| 久久中文骚妇内射| 国产一区二区三区无遮挡| 丁香婷婷色综合激情五月| 欧美成人精品三级在线观看| 偷拍一区二区三区在线视频| 久久三级中文欧大战字幕| 中文无码热在线视频| 国产成人无码区免费内射一片色欲| 蜜臀av在线一区二区三区| 毛片久久网站小视频| 亚洲一区二区三区四区| 少妇尿尿一区二区在线免费| 永久免费精品性爱网站| 九九成人免费视频| 国产自拍在线一区二区三区| 中国女人内谢69xxxx| 日本大片在线看黄a∨免费| 国产一区精品在线免费看| 2020久久香蕉国产线看观看| 好紧好爽好湿别拔出来视频男男| 四虎库影成人在线播放| 亚洲熟女乱色综合一区| 深夜av免费在线观看| 亚洲男人av天堂久久资源| 亚洲免费的福利片| 国产日韩一区二区在线| 国产精品一区二区三粉嫩| 久久96热在精品国产高清| 一区二区三区四区五区自拍| 国产精品夫妇激情啪发布| 377人体粉嫩噜噜噜| 国产高清无遮挡内容丰富|