宽带技术网

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14371|回复: 42

中兴 F460 F660 深度定制报告

  [复制链接]
发表于 2013-12-16 21:10:30 | 显示全部楼层 |阅读模式
光进铜退几年了没见到比 中兴 F460 F660 更强性能的板子,不过听说华勤 HGU420G 也是 Marvell 88F6560 了,那么谁有这个猫眯,可以把固件提取出来玩玩。1 m- o8 {2 n: @) b/ s) o

, Y9 I5 Q' a4 \4 [: D好的硬件却没有自由的软件系统,着实可惜,于是开始自己动动手。先找找论坛网友的肩膀,发现1位前辈已做好一个集成busybox的版本,刷上一试,不错。但还是不甘心,flash 剩余空间太小,发挥余地不大。
" x& v# R) `% b" L, t' E. X  i7 }+ m" z# d5 \7 H3 D
看了眼分区布局,kernel0 kernel1 互相备份,那就舍去这个可靠性,利用其中一个12兆的空间。先去掉原来kernel中的 ramdisk 集成的 rootfs , 将 kernel 恢复到 2M以内,再把原来所有根系统文件制作成 jffs2 ,写入到 kernel 分区后面,这样 root空间一共约 22兆,足以利用 open-wrt 那么多现成的优秀应用程序了。       + U  l  Z# C% S, n2 U6 L# V6 t- ^

) y2 }2 i1 e/ y# E8 W接下来 MOD uboot,发现这里面也有中兴定制的一堆校验逻辑,本来人家 u-boot 源码只是要去执行 bootcmd 的指令。先分析分析原始 u-boot 代码,在对比一下现在的uboot反汇编后的结果,最终还是恢复了原来启动的流程,跳过了中兴的那些小动作。  这下在 bootcmd 把新的 mtdparts 布局写好,传给kernel 就基本正常启动到 login 了。& s: I& x. ?( `1 e$ i
& v7 h. c3 y2 m' U0 z. K
7 w7 \% r% ~$ H9 L. n8 O$ l
但可惜 u-boot 本身还被 Marvell 的 BootROM 给保护了一下,一开始刷上修改 u-boot 竟然被拒绝引导,幸好提前在某个空闲 flash 的 0x4000 整数倍地址处留了一个原始的 u-boot 备份。  呵呵,BootROM 还是比较放水的,0x0 的 u-boot 不给执行,它还热心的帮我查找所有0x4000 整数倍地址,只要发现认可的 u-boot 都给放行。
. q" o8 [% n# ~- v7 D, H4 x9 n  Q" f% t3 }& \
/ C/ N3 I, N: O% T3 r# N9 c5 p% K
BootROM 即没有开源的代码,也是只读的,修改不了,好在 Marvell 的同一个开源硬件系列提供了 pdf 指导,看了看知道了对 u-boot 的要求只是一个  32位的 Rolling Checksum。 u-boot 大概有 240kB ,当然不能自己心算,又不想写 c代码,嫌麻烦, 老美的Google 一搜,哈,发现著名的 谷歌光纤 gufiber 110 也是用的这个芯片,并且开源了,赶紧拖回来,找到里面有个 doimage.c 包含了我需要的代码,自己添加一个 printf 把计算出的校验和显示出来即可。/ v6 C# J6 D3 ?/ Q1 }
" P% j  r$ w8 j& M. K6 [' d
从 rootfs 到 kernel 再到 uboot 最后 BootROM 都吃透了,这游戏也就可以告一段落。最后赞一下 Marvell 的 BootROM , 它的 UART 方式可以很方便的引导任何程序,不论 flash 怎样乱刷,总可以最后恢复,设备永不变砖。 仔细看看板子就会发现,除了 TTL 那4个针脚,还有一个 2 Pin 的东东,帅啊,这个就是 UART 开关哦,通向自由的大门。
- A# J/ L1 C# O# q6 |1 W* M
2 ^4 F& u$ D- T5 ]2 w$ ]  r1 ~( P* }: N; S7 x) l
, E4 [2 J$ N/ J7 J) ^2 m' C

, ?. B( n: l& l3 }* P8 J
$ f" a( b1 u5 {, G7 @) V! ^------------------------------------------------------------------------- 【纯粹发发牢骚,望坛友包涵】
1 O6 B+ E- M3 V
/ f3 j9 ?% x5 n. g* O
/ X! J2 `  F1 ~& `8 x. ?: j2 x  p4 v" @
8 U0 k. m: W% J( t" P  H8 @( L5 u, G

8 K% K1 E+ R7 g2 u* H' X
& G9 o. `& K: j& ]1 N
 楼主| 发表于 2013-12-16 22:12:50 | 显示全部楼层
mr_la 发表于 2013-12-16 21:57( }, F. j; f0 B3 c3 n/ S: ~% B
不明觉厉,是自己编译的内核吗?版本号是?有SDK?
+ g" E6 S* c6 g7 ^! @, ^# @9 J
当然不是正向的。源码不会有的,顶多有国外类似的硬件。 版本号不重要,一般 V2.3.0 都差不多。0 W5 S# P2 n# e3 i$ S- _
) r9 t7 M: X* H( C! ?; |5 R# v1 ]
SDK 比较有意思, ARM 架构似乎有一定通用性。 以后有机会用 crosstool-ng 生成 toolchain 试试
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2013-12-16 22:00:59 | 显示全部楼层
其实只要花点时间慢慢研究一番,总会有不同程度收获
7 _- S: A9 n+ w0 [+ M% x: x3 R9 a! R* q, z$ }8 S# s, ~/ ]/ m2 a
以前 ADSL 那10年,不知出了多少 xxx-wrt 类的定制途径, 为啥 xPON 时代就没有了呢
. E1 y8 j  U) y  U9 [% h* D& {/ a  p" X9 x, F7 f
也许是没有 光模块 的内核源码吧
/ Y# s+ ~0 n" H9 K
" d, }; s6 _2 r8 [9 m% Q; z
回复 支持 1 反对 0

使用道具 举报

发表于 2013-12-16 21:57:13 | 显示全部楼层
不明觉厉,是自己编译的内核吗?版本号是?有SDK?

点评

wka
当然不是正向的。源码不会有的,顶多有国外类似的硬件。 版本号不重要,一般 V2.3.0 都差不多。 SDK 比较有意思, ARM 架构似乎有一定通用性。 以后有机会用 crosstool-ng 生成 toolchain 试试  详情 回复 发表于 2013-12-16 22:12
回复 支持 1 反对 0

使用道具 举报

发表于 2013-12-16 21:52:41 | 显示全部楼层
高手啊,膜拜!
回复 支持 1 反对 0

使用道具 举报

发表于 2013-12-17 13:02:28 | 显示全部楼层
没有电路图,不知怎么操作GPIO,如果是ARM核的可以上嵌入式LINUX呀~如果要是找到了电路图和驱动就想怎么玩就怎么玩了。
发表于 2013-12-17 16:22:11 | 显示全部楼层
高手啊。。。。。你们一软一硬,要是结合 一下,定出精品。。。。。
9 g2 S: A7 L; w4 b不过小弟还是看得云里雾里的,希望以后两位高手多多指点指点。。。。; b. v9 Q$ S- r! c& a  J' a
Q65688252,电18980032737
发表于 2014-4-4 08:17:47 | 显示全部楼层
有点像玩手机的感觉。 不明。
发表于 2014-6-28 16:06:32 | 显示全部楼层
看不懂就不看了。反正只关心自己关注那点就行。吃通就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|宽带技术网 |网站地图

粤公网安备 44152102000001号

GMT+8, 2021-9-23 11:46 , Processed in 0.027950 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表