2011年10月25日 星期二

[HD-A5實驗報告]前進淡水4.0.3---以修改背景圖為例

squashfs1.img 是 install.img 中最吸引人的「叢林」,它是媒體播放機的根目錄。

您對它越了解,您能變的花樣就越多。也可說是:「越好玩」。

本文的目的是幫您了解如何解開 squashfs1.img、做一個最小程度的修改(改變主畫面的背景圖)、然後再將它封包回去。



學會修改背景圖,等於打開了改機大門。

進入這個大門,可玩的東西可多了,包括減肥、增胖、自訂 IMS 項目...等等。


以下就是完整的步驟:

1.
取出 install.img 中的 squashfs1.img。。(取得方法可以參考這一篇)

2.
在磁碟C:建立 000puppy 目錄(零零零開頭是為了排在最前頭),並將 squashfs1.img 放到這個目錄下:
 



3.
準備一張1280x720 .png 圖片,並改名為 HomeMenu_BG.fsp。(檔案不要太大,原檔只有50幾K,我的替換檔是60幾K。記憶空間有限,不宜浪費。)

4.
下載 www.puppylinux.org 的 puppy-3.01-seamonkey.iso(98.8M) ,燒成光碟。

4.
啟動 PuppyLinux 光碟

5.
進入 PuppyLinux 後,要先把硬碟 mount 進來才能看到裡面的 000puppy 目錄。先按 drives 圖示,再按mount 按鈕:



之後按 Home 圖示再按「向上箭頭」就可以找到位於 /mnt/sda2/ 的 000puppy 目錄:(/mnt/sda2 由當時電腦環境決定)






接下來,我們要做的是:
a.把 squashfs1.img 解包(會自動產生並放入squashfs-root子目錄);
b. 用自製的 HomeMenu_BG.fsp 取代 /usr/local/bin/home_menu/image 裡面的HomeMenu_BG.fsp;
c.把 squashfs-root 子目錄中的所有檔案重新打包成 squashfs1.img 。

6.
點選 Console:


在 rxvt 視窗中輸入df ,記下磁碟機目錄代號,進入 000puppy 目錄,輸入將squashfs1.img 解包的指令:

unsquashfs squashfs1.img

解包後,所有的檔案都放在 squashfs-root 目錄下:




接著用自製的 HomeMenu_BG.fsp 取代 /usr/local/bin/home_menu/image 裡的HomeMenu_BG.fsp。

然後準備重新封包squashfs-root 目錄下的所有檔案:

先進入 squashfs-root 目錄,再下封包指令:

mksquashfs * ../squashfs1.img -noappend -all-root  
(新的squashfs1.img會蓋過舊的)


mksquashfs * squashfs1.img -noappend -all-root 
 (新的squashfs1.img會放在squashfs-root目錄下)




上面箭頭指出原本檔案的長度,下方箭頭指出新檔長度。


7.
結束 PuppyLinux ,回到 Windows。用新的 squashfs1.img 取代 install.img --> installimage --> package2 裡面的 squashfs1.img 再整個封包成 install.img ,這就是您的新版韌體了。

8.
完成


000puppy 目錄下的 squashfs-root 子目錄先不用急著殺掉,有空就用 Windows 瀏覽,看看哪些檔案您最有興趣修改。


2011-11-11 補充

我在 2011-11-11 依本文重做一次新的背景:


並無問題。如果有人做不出來,應該是某個環節出了差錯。

============================
2012-08-15 補充

在執行 mksquashfs 指令時,可以在視窗中看到 Creating little endian 3.0 filesystem 字串
這是重要訊息,如果您換用別的 Linux 版本,可能會看到 Creating little endian 4.0 filesystem
或 Creating little endian 3.1 filesystem ,雖然都可以壓縮,但是壓完的 squashfs1.img 都不能用。

卡莎布蘭卡韌體解開後都可以用puppy-3.01裡面的mksquashfs來壓縮,是不是有哪個 Linux
版本也內含相同版本的 mksquashfs,這個我就不知道了。



.

15 則留言:

匿名 提到...

贊..可讓我好好學習它..謝了.....

匿名 提到...

奇怪..顯示我發的時間不一樣..實際上是2011-10-25 13:20

匿名 提到...

/usr/local/bin/home_menu/scripts/HomeMenu.rss

IsAVinDisable = "yes";
IMSDisable = "yes";
WebBrowserDisable = "yes";
flashUIDisable = "yes";
NetflixDisable = "yes";
WebKitDisableYXL = "yes";
WebKitDisableCNTV = "yes";
WebKitDisable = "yes";
CinemaNowDisable = "yes";
YoutubeXLAPDisable = "yes";
PodcastDisable = "yes";

這幾行應該可以把 隱藏的功能打開

匿名 提到...

版大..請問有封包好的軔體嗎?新的HD-A5要升級用..謝謝!

ElectronMania 提到...

之前寫這麼多,
就是希望大家都能自己生成自己的版本,
不要大家都一樣啊~

我的網路上傳只有64K,要我上傳90M的檔案是一種折磨。

賈伯斯的夢想是每個人都用他的產品,我的夢想是每個人都有自己的開機畫面。

匿名 提到...

我昨天照著做,build出了一個image load進去,結果一直停在logo(bootup)的地方,應該是build壞了,對吧??

ElectronMania 提到...

>...結果一直停在logo(bootup)的地方...

請看原文補充

匿名 提到...

請問一下照片只能用png檔下去改嗎??

ElectronMania 提到...

沒試過別種格式

匿名 提到...

多謝E大的回覆
我發現問題了,我的流程跟你的有點不一樣,我是用fedora mksquashfs 跟 nusquashfs,我換了一個200K的圖片進去,make出來的檔案竟然比較小,原因應該是出在這裡,下次用大大提供的tool再試試。

匿名 提到...

請問E大在淡水版有成功新增頻道嗎??
我想加個facebook進去,可是沒啥方向。

ElectronMania 提到...

>...我是用fedora mksquashfs 跟 nusquashfs...

不同Linux可能內含不同版本的 unsquashfs、mksquashfs,因此有可能不適用於此。

>...我想加個facebook進去,可是沒啥方向...

有待大家一起來找方向

匿名 提到...

請問我把install.img解開之後,在打包回去,發現他的檔案容量變少了,檔案也不能用了,請問是哪裡出了問題?謝謝!
PS我也試過檔案原封不動的解開之後又打包,install.img檔案也不能用,請問這是哪方面的問題 謝謝

ElectronMania 提到...

如果依
http://electronmania.blogspot.tw/2011/10/hd-a5-30.html
只是單純的 unmake 再 make 回去,就算檔案大小有出入,應該都可以正常工作。

檔案大小有出入,是因為原廠使用的應用程式與你的版本不同。

但是如果要繼續 解/封 squashfs1.img,
就一定要依
http://electronmania.blogspot.tw/2011/10/hd-a5403.html
裡面所提到的 PuppuyLinux 版本。

裡面提到哪個版本,就一定要用那個版本來做。不能任意替換自己熟悉的 Linux 版本。

也許還有其他可用的工具,但是我沒有再去找了...

匿名 提到...

amp_r10_pohd已經發表,不知是否格主能發表更改繁體字完成版本供給下載,造福大家?