[原创]1073固件(Frameware)详细分和破解,常用软件安装和配置,并以海美迪HD...

来源:百度文库 编辑:神马文学网 时间:2024/04/28 11:17:41
[原创]1073固件(Frameware)详细分析和破解,常用软件安装和配置,并以海美迪HD300A为例解析
前言:很多信息和程序都来自互联网,在此感谢那些为了压榨设备每一分使用可能的热心人,还有,此文中不在赘述如何刷Frameware,因为设备提供商的手册和官网里已经写的非常清楚了。
--------------------------------------------------------------------------------
一、1073芯片播放器的硬件配置
主晶片:RTD1073DD
RAM: 128MB
ROM: 256MB
CPU: MIPS 400Mhz
电源: 3A
目前所有采用1073芯片的播放器都是这个公版的硬件配置,而且据说首版国内固件(Frameware)是由Himedia开发的,其他家是基于HiMedia基础进行修改后的结果。
这里最重要的是ROM这个参数,1073播放器的ROM一共是256M,这里存放着播放器的核心---固件。未来我们将采取的所有操作都是针对ROM里嵌入式的Linux进行的。因此,建议操作者具备一些Linux系统的经验,这样会比较有的放矢。
--------------------------------------------------------------------------------
二、深入浅出的看固件
注:未经特别说明,均以HD300A的固件信息为例
2.1、首先去HiMedia的官方网站下载最新版固件,目前的最新版本是1.0.3.28(截至到发文时),http://himedia-tech.cn/himedia/version/20100202/HD300A_1.0.3.28.rar,将此RAR文件解压后是一个HD300A_1.0.3.28.img的IMG文件,不要被后缀img迷惑了,其实它就是一个Linux下的TAR文件。用winrar或者7zip或者…… 把这个文件解压到某个目录里。
2.2、解压完成后在目录里会看到如下文件
2010-03-19  11:11              .
2010-03-19  11:11              ..
2010-02-04  19:14           143,300 arial.ttf
2010-02-04  19:14         1,773,344 audio_firmware.install.bin
2010-02-04  19:14             1,841 configuration.xml
2010-02-04  19:14            43,400 flash_erase
2010-02-04  20:58       141,127,680 HD300A_1.0.3.28.img
2010-02-04  19:14         1,819,620 install_a
2010-02-04  19:14           163,948 mkfs.jffs2
2010-02-04  19:14            56,936 nandwrite
2010-03-19  11:11              package2
2010-02-04  19:14         1,623,760 video_firmware.install.bin
9 个文件    146,753,829 字节
放心,你看到的绝对会和我看到的一样。目录package2里的内容是这样的
2010-03-19  11:11              .
2010-03-19  11:11              ..
2009-10-07  13:27         1,777,416 bluecore.audio
2009-10-19  16:29         2,155,536 video_firmware.bin
2009-11-16  22:03         4,067,461 vmlinux.develop.avhdd.mars.nand.bin
2010-02-04  19:14       127,435,968 yaffs2_1.img
2010-02-04  19:14            50,688 yaffs2_2.img
5 个文件    135,487,069 字节
2.3、第一层目录中包括的刷写ROM的程序,刷写ROM的配置文件(configuration.xml)等,package2目录包括Linux的内核和2个img文件, yaffs2_1.img和yaffs2_2.img就是嵌入式linux应用部分的镜像文件,这种镜像文件时采用yaffs格式打包的,winzip、winrar、7zip等就无能为力了。主攻的对象就是刷写ROM的配置文件以及yaffs格式的IMG文件。
2.4、详细分析configuration.xml
2.4.1、先完整的看一下这个XML的内容,I Love XML,哈哈~~~~~~~~~~~~~~~~~~~~~~~



Realtek Semiconductor Corp.
This image file contains 2 Mars packages. One is for AVHDD on NOR and the other is for AVHDD on NAND.
0.0.1
02/04/10 19:14
MARS AVHDD on NOR or NAND


install_a



This is Mars AVHDD on NAND
N/A



package2/vmlinux.develop.avhdd.mars.nand.bin
0x80100000
SVN:2615


package2/bluecore.audio
0x81b00000
N/A


package2/video_firmware.bin
0x81d80000
N/A


package2/yaffs2_1.img
/
N/A


package2/yaffs2_2.img
/usr/local/etc
N/A
0x1000000




2.4.2、先看这几段:

package2/vmlinux.develop.avhdd.mars.nand.bin
0x80100000
SVN:2615

* 这段是将Linux的内核写入ROM

package2/bluecore.audio
0x81b00000
N/A

* 这段是将声音处理的程序写入ROM

package2/video_firmware.bin
0x81d80000
N/A

* 这段是将视频处理的程序写入ROM
2.4.3、重点看如下两段:

package2/yaffs2_1.img
/
N/A

* 将嵌入式Linux的第一块扩展部分写入到ROM,mount点是“/“

package2/yaffs2_2.img
/usr/local/etc
N/A
0x1000000

* 将将嵌入式Linux的第2块扩展部分写入到ROM,mount点是”/usr/local/etc“
这两段XML配置略有些区别,区别就在写入package2/yaffs2_1.img的配置没有这个配置节点。
缺少这个节点会产生什么样的影响呢?
答案就是:按照yaffs2_1.img具体大小写入ROM,写完后按照这个大小mout到”/“上。(具体mount可以参考一下Linux的手册),这样”/“的空间可用率就是0,如果用df -h查看卷的使用情况,显示将会是100%。
而yaffs2_2.img就不同,写入ROM时会请求一块空间大小就是0x1000000Bytes=16M,在df -h查看时会显示有使用空间。但是重点中的重点就是”/“的大小和可用空间。
2.4.4、占用空间解析
首先整个ROM是256M,究竟有多大的空间可用呢?
ROM里要写入的文件:
package2/vmlinux.develop.avhdd.mars.nand.bin 约3.9M
package2/bluecore.audio 约1.7M
package2/video_firmware.bin 约2.1M
这3部分总共占用了3.9+1.7+2.1=7.7M,为了保证程序写入稳妥,地址上分配都不是连续的。因此写入程序大概分配了28M左右给这3部分的核心。那ROM里还剩250-28-16=206M,也就是说我们的yaffs2_1.img可以利用的空间在200M左右。后续就是如何利用它了。
--------------------------------------------------------------------------------
三、破解固件的几种方法
为什么要破解固件?因为,默认情况下用户对固件只有只读的权限,不能修改固件的设置和增删内容,这就阻止了我们DIY此类播放器,为了更大限度的发挥播放器的作用,首要的任务就让嵌入式的Linux可以读写,其次有空间来安装我们需要的软件。
3.1、第一种破解(违禁词语-已隐藏)
这种方法是最简单的,直接去找一个网上高手提供的破解固件刷入,现在taobao上还有提供定制服务的,花些钱就搞定了。这个不在此讨论。因为要DIY!
3.2、第二种破解(违禁词语-已隐藏)
[删除(违禁词语-已隐藏)]
用telnet登录播放器,然后找到里面没什么用的文件,删除掉以后获取可用空间,来安装自己所需要的软件和程序。
* tenlent 192.168.0.11(此处为播放器的IP)
HD300A的root初始是没有密码的
*重新mount”/“使其可以读写
mount -o remount,rw /
* 删除字体文件
cd /usr/local/bin/Resource
rm  arial.ttf
ln -s yahei.ttf arial.ttf
*删除PPS
rm -fr /usr/local/bin/IMS_Modules/pps
这样操作后,大概能获得约30M的空间,已经可以安装一些基本的软件了。但是有些人觉得不够用,那继续看……
3.3、第三种破解(违禁词语-已隐藏)
[增强删除(违禁词语-已隐藏)]
这个办法能获取更大的空间供你使用,但是前提是需要安装一个Linux环境,因为需要把yaffs2_2.img这个镜像包打开,进行操作。一般情况下都是安装一个虚机来跑Linux,我用的是VitrualBox+Ubuntu8.1,如何安装虚机和相关的OS可以自行参考一下其他教程。
启动Linux
将HD300A_1.0.3.28.img上传到Linux中,可以采用ftp或者虚机的共享文件夹,然后进行操作:
*首先建立一个目录
mkdir hd300a(目录名随意)
*然后将img文件解压
cd hd300a
tar -xvf ../HD300A_1.0.3.28.img
cd package2
*解压yaffs的镜像
mkdir yimg1
cd yimg1
unyaffs ../yaffs2_1.img
*将一个50M的空文件添加到此目录中
dd if=/dev/zero of=50m.iso bs=1024k count=50
目录中就多了一个50m.iso的空文件
*然后重新打包yaffs2_1.img
cd ..
mkyaffs2image yimg1 yaffs2_1_new.img
rm yaffs2_1.img
mv yaffs2_1_new.img yaffs2_1.img
*重新打安装包
cd ..
tar -cvf ../install.img *
用这个新的固件包刷机,登录以后删除了字体文件、PPS再把这个50m.iso删了,就比第一种方法额外多出50M来,有了70-80M的可用空间,OMG,足够折腾了。
但是这个办法需要一个Linux环境以及yaffs的解包以及打包程序(yaffs and mkyaffs2image),不是很方便。那咱们继续往下看。
3.4、第三种破解(违禁词语-已隐藏)
[配置修改法]
不需要Linux环境,只要有个UltraEdit就行了,用winrar或7zip打开HD300A_1.0.3.28.img,我使用的是7zip,在7zip打开压缩文件的窗口里直接用UltraEdit直接编辑configuration.xml文件,修改如下:
原始的
-----------------------------------------------------------------

package2/yaffs2_1.img
/
N/A

-----------------------------------------------------------------
修改后的
-----------------------------------------------------------------

package2/yaffs2_1.img
/
N/A
0x9990000(这就是增加的部分)

-----------------------------------------------------------------
注意,在UltraEdit提示是否要将文件转换成dos格式的时候,一定要选择”否“,切记。改完保存,7zip会自动提示是否要更新压缩包里的文件,当然是Yes。这样你就获得一个有可用空间的固件了。
0x9990000的意思就是说,刷yaffs2_1.img的时候分配153M的空间来用,yaffs2_1.img自己只有约122M大小,这样就争取到了30M,然后再把字体文件和PPS文件删了,就有约60-70M,够用了!
别的教程里有把0x9990000改为0xA000000(160M)和0xB000000(176M),但是我不建议改这么大,首先是空间够用,其次最好别把ROM压榨到如此地步,容易出现一些意向不到的问题。因为为了使用更大的空间,硬盘才是王道。
--------------------------------------------------------------------------------
四、软件安装
在嵌入式的Linux手工安装所需要的程序其实不麻烦,最简单的办法就是利用ipkg,为了更简单的达到目的,在破解了固件后直接安装wenl出品的1073通用机型软件包即可,真的是太方便了。顺便向wenl(http://1073.konamicn.com/)表示敬意。
截至到发文时,wenl已经放出2.1版了。
软件包2.1版下载地址:分为硬盘版和rom版本,分别对应有无内置硬盘的用户。
http://u.115.com/file/f431810aad
2.1 更新说明:
1.解压缩后请分别参加2个包的说明,以选取合适的软件包。
2.修复了sina news的bug
3.支持3322动态域名,方法参见http://1073.konamicn.com/thread-249-1-1.html
4.加入了ntp自动网路对时
5.增加了mldonkey,支持电驴下载,控制页面为http://播放器ip地址:4080/,使用方法请google