文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>DM500-s的IMG修改方法

DM500-s的IMG修改方法

时间:2007-07-01  来源:joiner

如何将IMG解包及重新打包
一、修改中文化菜单,以及修改开机画面都需要将IMG解包unpack,修改后重新打包repack。解包、打包都需要Dreambox的linux环境,当时你也可以自己配置一个支持squashFS的linux来搞。
DM500S的存储空间十分有限,故需要mount一个NFS磁盘来操作。为什么一定要NFS磁盘?windows机器共享出来的CIFS磁盘不行吗?不行!只有NFS磁盘上才可以执行解包、打包工具,而且解包后的IMG里,有很多是符号连接文件,也只有NFS磁盘才能支持。mount NFS及swap的方法见satfan大侠的文章,已经写得很详细:
http://www.dm7000s.com/thread-2070-1-2.html
root@dreambox:/var/mnt/nfs> df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 3.8M      3.8M         0 100% /
/dev/mtdblock/1           2.8M    444.0k      2.3M  16% /var
192.168.1.8://home/nfs     9.2G    516.4M      8.2G   6% /var/mnt/nfs
root@dreambox:/var/mnt/nfs> dd if=/dev/zero of=/var/mnt/nfs/ram bs=1M count=128
128+0 records in
128+0 records out
root@dreambox:/var/mnt/nfs> mkswap -c /var/mnt/nfs/ram
Setting up swapspace version 1, size = 134213632 bytes
root@dreambox:/var/mnt/nfs> losetup /dev/loop/0 /var/mnt/nfs/ram
root@dreambox:/var/mnt/nfs> free
              total         used         free       shared      buffers
  Mem:        30116        29612          504            0          760
Swap:       131064            0       131064
Total:       161180        29612       131568
root@dreambox:/var/mnt/nfs> cat /proc/meminfo
MemTotal:        30116 kB
MemFree:           504 kB
Buffers:           760 kB
Cached:          20012 kB
SwapCached:          0 kB
Active:           9408 kB
Inactive:        16576 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:        30116 kB
LowFree:           504 kB
SwapTotal:      131064 kB
SwapFree:       131064 kB
Dirty:               4 kB
Writeback:           0 kB
Mapped:           9220 kB
Slab:             2176 kB
Committed_AS:    44240 kB
PageTables:        168 kB
VmallocTotal:   475136 kB
VmallocUsed:     28748 kB
VmallocChunk:   443900 kB
root@dreambox:/var/mnt/nfs>
解包、打包工具见附件压缩包 http://blogimg.chinaunix.net/blog/upfile/070701130716.rar
解压缩后,和原版IMG文件一起放到NFS磁盘下,一共有五个文件:
- mkcramfs
- mkdreamboxfs
- mksquashfs
- uncramfs
- undreamboxfs
为这几个文件增加执行权限: [Copy to clipboard] [ - ]CODE:
root@dreambox:/var/mnt/nfs> chmod +x *
OK,接下来就可以做解包及打包工夫了。
将原版的pli IMG解包到img1这个目录下:
[Copy to clipboard] [ - ]CODE:
root@dreambox:/var/mnt/nfs> ./undreamboxfs pli-Helenite-dm500-20070417-2696.img ./img1
9928+0 records in
9928+0 records out
Done!
root@dreambox:/var/mnt/nfs>
将完成修改的IMG重新打包,这个步骤挺费时间的:

root@dreambox:/var/mnt/nfs> ./mkdreamboxfs img1 new.img
Directory data: 164 bytes
Everything: 1000 kilobytes
Super block: 76 bytes
CRC: 72538600
155648+0 records in
155648+0 records out
Ready to make the squashFS part! This can take 1 or 2 minutes!
Creating big endian 2.1 filesystem on tmp_mkdreambox_3, block size 65536.

Big endian filesystem, data block size 65536, compressed data, compressed metadata, compressed fragments
Filesystem size 4963.29 Kbytes (4.85 Mbytes)
        35.86% of uncompressed filesystem size (13840.55 Kbytes)
Inode table size 6016 bytes (5.88 Kbytes)
        24.73% of uncompressed inode table size (24324 bytes)
Directory table size 7914 bytes (7.73 Kbytes)
        50.69% of uncompressed directory table size (15614 bytes)
Number of duplicate files found 49
Number of inodes 1086
Number of files 788
Number of fragments 57
Number of symbolic links  199
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 99
Number of uids 1
        root (0)
Number of gids 0
Done!
root@dreambox:/var/mnt/nfs>
为什么要mount上swap呢?因为dm500的内存容量很小,不增加swap的话,打包时就会因为内存不足而无法完成。 root@dreambox /mnt # ./mkdreamboxfs img2 new.img
Directory data: 164 bytes
Everything: 1000 kilobytes
Super block: 76 bytes
CRC: cfc8e1f0
155648+0 records in
155648+0 records out
Ready to make the squashFS part! This can take 1 or 2 minutes!
Creating big endian 2.1 filesystem on tmp_mkdreambox_3, block size 65536.
FATAL ERROR:zlib::compress failed, not enough memory
cat: tmp_mkdreambox_3: No such file or directory
Done!

二、如何中文化菜单?

中文化菜单需要修改如下文件:
1、IMG解包后,修改share/locale/locale.alias 这个文件,增加一行内容:
Chinese zh_CN
2、汉化菜单文件,在share/locale/zh/LC_MESSAGES这个目录下有两个mo文件:
plisetup.mo       tuxbox-enigma.mo
用工具转换成po文件,再用po编辑器进行编辑,完成后转换回mo文件,替换原文件,重新打包IMG即可。 转换工具见附件:http://blogimg.chinaunix.net/blog/upfile/070701132001.rar   三、如何修改启动画面? 对于pli及gemini等img来说,启动画面是IMG里的文件bild,位于root/platform/kernel/下, root@dreambox:/var/mnt/nfs/img1/root/platform/kernel> ls -l
-rwxr-xr-x    1 500      244         60193 Jul  1  2007 bild
-rwxr-xr-x    1 500      244        976416 Jul  1  2007 os
准备一幅720*576分辩率的图片,用TMPGenc压缩成MPEG2格式,只要视频部分,保存后的文件改为bild,替换root/platform/kernel/里的同名文件,再重新打包成IMG即可。
 
相关阅读 更多 +
排行榜 更多 +
一剑灭天

一剑灭天

角色扮演 下载
戮仙战纪

戮仙战纪

角色扮演 下载
头号海贼王手机版

头号海贼王手机版

棋牌卡牌 下载