如何将IMG解包及重新打包
一、修改中文化菜单,以及修改开机画面都需要将IMG解包unpack,修改后重新打包repack。解包、打包都需要Dreambox的linux环境,当时你也可以自己配置一个支持squashFS的linux来搞。
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
解压缩后,和原版IMG文件一起放到NFS磁盘下,一共有五个文件:
- mkcramfs
- mkdreamboxfs
- mksquashfs
- uncramfs
- undreamboxfs
为这几个文件增加执行权限:
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即可。
三、如何修改启动画面?
对于pli及gemini等img来说,启动画面是IMG里的文件bild,位于root/platform/kernel/下,