天龙八部手游畅易阁

高清范

百度 論壇搜索
東家
跳轉到指定樓層
發表于 2011-8-2 12:03 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 hdpdiy 于 2011-8-11 21:56 編輯

        在Linux中的squashfs格式固件解包、修改和封包過程改進版

        高清播放機的固件解包、修改和封包過程現在成為一個系列,都是完全鼠標圖形化操作過程。這個系列中,單一格式固件的在Linux系統中有2個,在Windows系統中也有2個,還有2個是混合格式多核固件的:

1.  在Linux中的squashfs格式固件解包、修改和封包過程改進版

2.  在Linux中的yaffs格式固件解包、修改和封包過程改進版

3.  在Windows中的squashfs格式固件解包、修改和封包過程改進版

4.  在Windows中的yaffs格式固件解包、修改和封包過程改進版

5.  在Linux中的y+s混合格式多核固件的解包、修改和封包過程改進版

6.  在Windows中的y+s混合格式多核固件的解包、修改和封包過程改進版


        整個squashfs格式固件的解包、修改和封包過程,都是在Ubuntu10.04LTS的圖形界面中點擊移動鼠標完成的。實際過程做起來很簡單,主要有以下幾步:

1.  把要修改的squashfs格式固件install.img復制粘貼到hdp文件夾;

2.  進到hdp文件夾,雙擊open-squashfs,自動生成解壓文件夾squashfs-root;

3.  打開解壓文件夾squashfs-root,相當于進到播放機的根目錄,在其中根據需要修改;

4.  修改完解壓文件夾squashfs-root后,回到hdp文件夾,雙擊make-squashfs,自動生成修改后的squashfs格式固件install.img。

        這里的解包和封包過程,基本上是自動完成的,這樣實際使用更方便。在圖解squashfs格式固件的解包、修改和封包過程一文中的解包和封包過程,基本上是手動一步一步進行的,這樣有助于對過程的理解。如果沒有安裝使用Ubuntu,可以用在Windows中的squashfs格式固件解包、修改和封包過程改進版中的方法。如果要解包、修改和封包yaffs格式的固件install.img,可以參考在Linux中的yaffs格式固件解包、修改和封包過程改進版或參考在Windows中的yaffs格式固件解包、修改和封包過程改進版

        下面的實際過程是藍鉅T10S的1.3_1128修正版固件解包、修改和封包的實際過程。另外,在T10S使用squashfs格式的通用固件V1.6時,也進行過同樣的解包、修改和封包的實際過程,針對T10S修改remote_key和menu.rss。


準備
        
        
游客,如果您要查看本帖隱藏內容請回復或點擊我就看看,不說話!


在Linux中的squashfs格式固件解包、修改和封包過程改進版

        進到hdp文件夾,雙擊copy-tools,在顯示的菜單中點擊“在終端中運行” ,接著在顯示的終端命令窗口中,輸入安裝Ubuntu10.04LTS時設置的密碼后回車,這樣就把tools中的unsquashfs和mksquashfs復制到了Ubuntu系統的/usr/bin中了。

        如果雙擊copy-tools,沒有顯示“在終端中運行”的運行菜單,可能是前面解壓復制文件時改變了文件屬性,這時可以鼠標右擊文件(夾),在屬性窗口中重新設置執行權限。

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版


解包

        打開u盤,把要修改的squashfs格式固件install.img復制到hdp文件夾。然后回到hdp文件夾,雙擊open-squashfs,在顯示的菜單中點擊“運行”,自動生成兩個解壓文件夾install.img_FILES和squashfs-root。這樣就可以在其中修改了。同時自動把修改前的install.img改為install.img_old。

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版


修改

        打開解壓后的文件夾squashfs-root,相當于進到播放機的根目錄,我們可以根據需要在其中修改增加內容。例如,如果要修改usr/local/bin/scripts中的rss文件,可以依次雙擊打開usr、local、bin、scripts,進到usr/local/bin/scripts中,再選擇要修改的文件進行修改。除非是固件程序本身功能上的要求,在修改時不用mount -o bind綁文件之類的命令繞來繞去,直接修改要修改的文件就可以了。現在修改squashfs格式固件就像修改yaffs格式固件一樣方便。

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

        固件解包后的install.img_FILES/package2/usr.local.etc.tar.bz2壓縮文件中的內容,就是強刷升級固件后播放機/usr/local/etc的內容。要想修改強刷升級固件后播放機/usr/local/etc的內容,就要修改固件解包后的usr.local.etc.tar.bz2壓縮文件中的內容。現在的改進版是可以直接在解壓后的文件夾squashfs-root/usr/local/etc中修改,封包時把修改后的內容自動復制到usr.local.etc.tar.bz2壓縮文件中。強刷修改后的固件時,在播放機中/usr/local/etc目錄所見即所得。


封包

        修改完squashfs-root后,回到hdp文件夾。雙擊make-squashfs,在顯示的菜單中點擊“運行”,生成修改后的squashfs格式固件install.img,同時自動刪除前面解包時生成的兩個解壓文件夾install.img_FILES和squashfs-root。把新生成的install.img拖拽復制到u盤的根目錄,就可以把u盤插到播放機刷機了。

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版

在Linux中的squashfs格式固件解包、修改和封包過程改進版


說明

        最后說明一下使用條件。下載附件hdp文件夾中的解包腳本和封包腳本是參照通用固件V1.6寫的。如果播放機用的固件是squashfs格式的通用固件V1.6,可以直接采用上面的方法解包、修改和封包。從壓縮和解壓方式來說,是兩層結構。固件解包時是分兩層解包的,外面的第一層用tar -xvf命令解包,里面的第二層用unsquashfs命令解壓。固件封包時也是相應的分兩層封包的,里面的第二層用mksquashfs命令壓縮,外面的第一層用tar -cvf命令封包。解包或封包時,相對于第一層,里面的第二層文件是package2/squashfs1.img,文件夾名是package2,文件名是squashfs1.img 。大多數采用1073、1283或1185的播放機使用的squashfs格式固件都是這樣的。如果實際使用的squashfs格式固件和這有差別,如第二層的文件夾名不是package2,或者文件名不是squashfs1.img ,就要根據實際情況,在hdp文件夾中的解包腳本和封包腳本中作一些修改。
        
        第一次解包、修改和封包某個播放機的squashfs格式固件install.img時,可以把這個能正常刷機運行的install.img復制粘貼到hdp文件夾,雙擊open-squashfs運行解包,暫不做任何修改。這時可以在解包時生成的第一層解壓文件夾install.img_FILES中查看一下,第二層的文件夾名是不是package2,文件名是不是squashfs1.img 。如果不是,就不能直接采用上面的方法解包、修改和封包,這時可以根據實際情況修改一下解包腳本和封包腳本后再試。如果文件夾名和文件名是package2和squashfs1.img ,再雙擊make-squashfs運行封包,生成新的install.img。看看新生成的install.img能不能正常刷機運行。如果不能正常刷機運行,上面的解包、修改和封包過程就不適合這個squashfs格式固件。

        改進版中,除了強刷時/usr/local/etc的內容所見即所得,還增加了刷機變磚自動強刷恢復功能。如果用改進版修改的固件刷機后,開機停在開機畫面遙控器失靈成為磚機,可把官方固件或自己確信可以正常使用的其他固件install.img復制粘貼到u盤的根目錄,同時在u盤的根目錄新建一個空文件tag_install作為刷機標志。然后把這個u盤插到播放機上,開機后等一會兒就自動開始刷機了,這時會自動刪除u盤中的刷機標志tag_install,即使不拔掉u盤也不會重復刷機。刷機時播放機不需要有強刷開關,也不用TTL串口刷機線和超級終端,也不用telnet登錄播放機。

        強刷時/usr/local/etc的內容,有2種情況。一種是把usr.local.etc.tar.bz2壓縮文件中的內容復制到/usr/local/etc,這種情況的特點是刷機過程中一般沒有2次啟動。另一種是把usr.local.etc.tar.bz2壓縮文件中的內容復制到/usr/local/etc后還要判斷/usr/local/etc中有沒有刷機標志tag_xxxxxxxx,如tag_20110430。如果沒有刷機標志,就要把其中有這個刷機標志的某個目錄中的內容,如/opt/tmp中的內容,復制到/usr/local/etc,這種情況的特點是刷機過程中一般會有2次啟動。改進版強刷時的效果類似前一種情況,沒有2次啟動過程。當然,如果固件本身有把某個目錄中的內容復制到/usr/local/etc的過程,改進版解包封包固件后不會改變這個過程,這種固件刷機時的2次啟動過程不會改變。

        你現在還覺得squashfs格式固件的解包、修改和封包過程很難嗎?其實難的不是squashfs格式固件的解包、封包,真正難的是要知道怎樣修改。更多的修改實例可以參考squashfs固件DIY偶的海美迪560B安裝筆記。固件DIY的初學者還可以參考提綱攜領:高清機linux系統目錄結構及功能--基礎篇開博爾H1283固件擴充及使用技巧

        
本帖評分記錄RP值 金錢 收起 理由
lhq2277 + 5 精品文章
maxjojo + 2 + 2 讚!
總評分: RP值 + 2  金錢 + 7 
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏69 分享分享 支持支持 反對反對
沙發
發表于 2011-8-2 12:05 | 只看該作者
支持老大!占個位置!
板凳
發表于 2011-8-2 12:41 | 只看該作者
看看,學習學習!
地板
發表于 2011-8-2 17:50 | 只看該作者
原來是改進了usr.local.etc.tar.bz2修改方式啊。
5
 樓主| 發表于 2011-8-2 18:12 | 只看該作者
cxjt2002 發表于 2011-8-2 17:50
原來是改進了usr.local.etc.tar.bz2修改方式啊。

整個高清播放機固件解包、修改和封包過程系列都作了改進。固件修改后/usr/local/etc所見即所得,yaffs格式和y+s格式可以ftp播放機,增加刷機變磚自動強刷恢復功能。
6
發表于 2011-8-3 06:47 | 只看該作者
不錯。
7
發表于 2011-8-3 07:15 | 只看該作者
學習了,有空也試試,樓主厲害!
8
發表于 2011-8-3 20:41 | 只看該作者
能否直接把命令貼一下
9
發表于 2011-8-4 10:28 | 只看該作者
在Linux中的squashfs格式固件解包、修改和封包過程改進版
10
發表于 2011-8-4 10:40 | 只看該作者
謝謝分享

使用高級回帖 (可批量傳圖、插入視頻等)快速回復

您需要登錄后才可以回帖 登錄 | 注冊加范幣

本版積分規則   Ctrl + Enter 快速發布  

發帖時請遵守我國法律,網站會將有關你發帖內容、時間以及發帖IP地址等記錄保留,只要接到合法請求,即會將信息提供給有關政府機構。
快速回復 返回頂部 返回列表
天龙八部手游畅易阁