找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 5414|回复: 33

如何修复砖机,抛砖引玉吧,弄了一天,有些小发现。

[复制链接]
发表于 2010-11-29 01:18 | 显示全部楼层 |阅读模式
收了一台砖机,折腾刷rom。
/ `, h2 s" V# O4 L' m现象是,在palm界面下反复重启。
$ w1 x! \1 M) f2 B按音量键可以进入修复模式。
! c1 [1 r' a) Z  t! C但刷rom的时候,由于在3%会重启机器,又会陷入重启的死循环。
) y5 }/ o6 S4 O7 v7 H/ y: A
) E. {) l8 X8 L+ k, p2 @! O现在进展。" X4 ~: s6 S/ D! k% R! I
boot应该是正常的: J0 V4 y0 m2 |9 ]' C5 f
通过novaterm可以进入修复模式。! b3 V, o0 x: a7 u7 n$ `
也可以通过novacom boot mem:// < /tmp/nova-installer-image-castle.uImage
6 M% F9 H7 y. G7 q" T& ~. k加载ram的修复模式吧。
% F$ ]4 r. n, z0 {  J8 y4 Z, w# m+ e' X" s% @; w% n: G+ R1 D/ u
具体的链接
& F; ?  D$ L6 y- t: rhttp://www.webos-internals.org/w ... BootLoader_Recovery1 m( o4 F; x/ B  T- p! l

! {, H- c+ g* o( l& Y现在疑问的是,
+ J8 u" j4 q& P7 v: Q机器应该是flash的分区有问题了,可以发现6个分区,但是挂载会失败,如果强行挂载,就会重启。
0 V) ~. W1 p/ D" x; B8 G想尝试刷写nvram区来解决。( A# Q3 Y7 e/ Q8 i2 E
但上面的那个网站给的方法不明了,没找到如何刷nvram来更新分区这些东西的地方。8 ~' F; y, u) K( {9 U, {
现在的进展就是这些0 d- m1 |: v0 Q
5 `, [9 U; g3 S9 U! |
顺便说下
  R1 [4 x- }5 r  B+ v' p按音量键向上,插数据线,开机后,会进入恢复模式。3 \5 y4 X3 ]! w) t! m

0 N4 n) d3 |, E$ X9 M9 w& Y如果通过novaterm来设置的话
2 X' B, l8 J; S1 vdiag boot命令
$ z8 Z3 f2 d# r  Y% m" x会进入工程机检测界面。. q0 O; a9 ]$ ~
手机会有0-8个选项,是检测屏幕,键盘,摄像头,触摸等几个选项,也蛮好玩的。
6 {  ]/ q0 Z7 t) D大家可以实验下。

评分

参与人数 1威望 +5 收起 理由
CyberVsQ + 5 谢谢分享

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2010-11-29 03:23 | 显示全部楼层
明天尝试定制castle.xml,调整分区大小等,加入手机信息等内容,看看能不能过刷。
回复 支持 反对

使用道具 举报

发表于 2010-11-29 08:07 | 显示全部楼层
技术帖...
回复 支持 反对

使用道具 举报

发表于 2010-11-29 08:27 | 显示全部楼层
支持一下,成功了可以挽回好多人的机器
回复 支持 反对

使用道具 举报

发表于 2010-11-29 09:32 | 显示全部楼层
此帖有如华陀转世扁鹊再生,必定使云云众pre有起死回身之希望!顶之。
回复 支持 反对

使用道具 举报

发表于 2010-11-29 09:41 | 显示全部楼层
此帖有如华陀转世扁鹊再生,必定使云云众pre有起死回身之希望!顶之
回复 支持 反对

使用道具 举报

发表于 2010-11-29 09:45 | 显示全部楼层
这,太技术了…………看不懂
回复 支持 反对

使用道具 举报

发表于 2010-11-29 10:02 | 显示全部楼层
调整下分区大小,好像就会重新分区了,有可能能恢复吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-29 12:15 | 显示全部楼层
可能找到症结了,但是却没有个办法解决。
6 ~* U( m% Y/ s% [: n一般来说,webdoctor.jar在3%的时候,会运行ramdisk,一个虚拟盘,pre会挂载虚拟盘然后重启,再接着根据castle.xml的配置来刷机。
. D/ ?5 h. L4 w- Y1 q1 n4 o% s, d$ p但我这个pre,不知道为什么,挂载ramdisk重启后,貌似没有成功挂载,重启后又是反复重启。/ G: [' H0 H0 A! `2 [; R5 |. y
尝试wiki里提到的重建bootie,也成功了,但是只要刷机时重启,就挂载不上ramdisk; m) d6 ]$ @6 d
" h- N4 h5 |  @$ y. f- f
leftToWrite 0/ S6 `- W3 B0 S, M& ~3 y; G
Jun 11, 2009 6:45:50 PM com.palm.nova.installer.recoverytool.CardController logPrint; P! b6 ~, S6 Y1 @  V! _
INFO: Loading Ramdisk: Booting
: k  J3 g( y5 s; M) }% s. U; ?
: x2 b: Y8 G0 ~% f) p! xupdate Loading Ramdisk508 F9 E( C# Q5 T' A2 E( A8 x; x
Jun 11, 2009 6:45:50 PM com.palm.nova.installer.recoverytool.CardController logPrint
4 Q3 R4 T" d! g5 G" K" ~. VINFO: Loading Ramdisk: Waiting for device to come back+ T1 E) n, O, B. x2 z
: z) h! F1 B, Z$ ?0 f
Jun 11, 2009 6:46:08 PM com.palm.nova.installer.recoverytool.CardController logPrint
' s# a. }  _: X2 ^INFO: Loading Ramdisk: Ramdisk has booted!* k: X- j- j7 n& \9 G
9 Y7 W/ I4 Q, p9 Z* |5 t7 ~4 N
Jun 11, 2009 6:46:08 PM com.palm.nova.installer.recoverytool.CardController logPrint; q! \( R2 P# G3 }+ F% `
INFO: Finished: Loading Ramdisk% u$ J, n% z. j, O* h/ u

* z& ^/ V+ u! L./* R4 x4 Q$ |# S7 t
./BadSys.tga/ v6 g% r; y" R( I1 J7 [& n* g
./BootLogo.tga: p- l" m  [& m8 q
./Charging.tga, l% @) E4 u# S: w  R6 w
./NoBatt.tga
8 t5 Q( V- p( s# ?" E./NoPower.tga$ E3 Y. j9 {' |: n; F* F" C5 `
./NoSys.tga
- z# r) `) T4 m5 j% h# v./Sync.tga
. L9 h8 b0 C6 t. g  T3 i./Panic.tga, T" g5 q$ \1 |8 C
./Disk.tga: x9 ?# M' x5 T, B5 f  ~" \
./boot-castle.bin, p6 H  v: `; f
./castlecdma_evt1_fw.tar
# g! I2 `2 V$ T% ^: e' ?. Y./castleumtsfw.tar3 g6 d, w* f' B* u4 I% t
./castle.xml
5 O8 d9 X9 U% ]Jun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint
/ |, b  u3 {3 L' q$ m  TINFO: Starting: Trenchcoat- h) x- I7 e) K. b
+ t) Y9 B6 R9 K
Jun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint
6 `1 |0 `' f1 C" r9 N0 ]INFO: Trenchcoat: Starting /sbin/trenchcoat
  S' B+ T9 F6 f& D5 c+ _
1 m5 T0 V( i( b3 J$ [" c- ?0 M& M4 gJun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint1 a& d4 C+ ]- o0 l
INFO: Trenchcoat: Starting Stream Reader8 v* Q& H; L+ ]6 `0 ~7 B

8 Y, B* T: W" a  j0 m具体就是这个步骤卡住了。7 {5 D) ~; F. Y' g: ]: H: a

$ Q/ I* z! l; ?% i. j其实到了这一步,只要你刷机不是反复重启,而是卡到palm界面上,那几乎是80%能够通过修改castle.xml来修复的。
! ?: G# f2 f6 Q8 u* U% l5 m! q至于我这种情况,暂时没有办法。& p0 b+ Q# f  R) f: ~# h
当时想通过novacom boot mem:// < nova-xxxxxxxxxxxxxxxxx.uimg( Q: Q  L7 E' r9 J% q5 n2 g
这样的方式手动挂载,虽然这样挂载,就不重启了,但是webdoctor不认啊,:-)
$ z; u  K& H; P7 N  V0 X( ?( s/ @- q5 ]/ l% R" I% U2 m' P
抛砖引玉,几个大佬快来看看,讨论讨论
回复 支持 反对

使用道具 举报

发表于 2010-11-29 12:22 | 显示全部楼层
强悍技术贴,大家务必学习,防止变砖。
回复 支持 反对

使用道具 举报

发表于 2010-11-29 13:06 | 显示全部楼层
大佬们开会讨论下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-29 13:37 | 显示全部楼层
现在就是在找有没有手动分区的方法。
: G8 y5 ?) E( J: Y! K原来的几个分区都没法读取,一读就重启,:-)
回复 支持 反对

使用道具 举报

发表于 2010-11-29 13:54 | 显示全部楼层
用LVM手工重建一下所有的分区试试。。
回复 支持 反对

使用道具 举报

发表于 2010-11-29 13:55 | 显示全部楼层
册那 看了这个帖子我才发觉 这么久的pre算是白玩了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-29 14:25 | 显示全部楼层
原帖由 freeworkzz 于 2010-11-29 13:54 发表 " Z' N9 l( _! D& f
用LVM手工重建一下所有的分区试试。。
8 `1 H% p! [6 Q

, B7 L& z% Z5 |' P4 n0 m6 }& a现在加载的是webos doctor自带的uimge
; A7 @- ^" P% u7 S
1 P3 J! W" O- D* \" C2 O, v尝试6 v6 |. u1 C4 Y) e( J- ~
root@palm-webos-device:/tmp# lvm.static pvscan
" j/ m, ~1 N* t% ]( I2 m" kFile descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh$ P, {+ f8 a# E8 l: q5 s
  PV /dev/mmcblk0p3   VG store   lvm2 [15.27 GB / 16.00 MB free]6 u) p! g: ]3 `% g- B
  Total: 1 [15.27 GB] / in use: 1 [15.27 GB] / in no VG: 0 [0   ]- I. |2 x, o) \' w7 q$ y
root@palm-webos-device:/tmp# lvm.static vgscan
$ [3 M+ ~8 b% ~; U8 Q8 [4 ZFile descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh+ c# B3 {9 _4 X- M. b, s
  Reading all physical volumes.  This may take a while...
- Z6 u8 W& i' G" o: h) r- [  Found volume group "store" using metadata type lvm20 N! A) l; j- O: v% i" b
root@palm-webos-device:/tmp# lvm.static lvscan/ v" x$ ?! T: E0 B9 {
File descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh
! h3 g% D, z* R7 x2 b  ACTIVE            '/dev/store/root' [456.00 MB] inherit& N# s- |7 g7 S! D' h0 d+ b4 J' ?' N
  ACTIVE            '/dev/store/var' [256.00 MB] inherit
  P% c0 C% _, c$ m  ACTIVE            '/dev/store/update' [56.00 MB] inherit) `4 N2 h% [, _3 r6 Q. `! L
  ACTIVE            '/dev/store/log' [40.00 MB] inherit
) _7 s  q4 ^  z+ ^/ D5 m  ACTIVE            '/dev/store/media' [14.34 GB] inherit, I+ n( w9 r- E0 M! n/ q; }# P
  ACTIVE            '/dev/store/swap' [128.00 MB] inherit
/ M3 n7 v! K9 R" h; h; w& u
7 D0 p- R5 o5 O( R# M- f分区是能看到的,但是无法操作,只要操作就重启,只要能搞定分区,我感觉其他都没问题了。
回复 支持 反对

使用道具 举报

发表于 2010-11-29 16:25 | 显示全部楼层
玩pre玩多了,才突然发现,原来自己都快成技术员了
回复 支持 反对

使用道具 举报

发表于 2010-11-29 16:37 | 显示全部楼层
非常强悍。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 12:30 | 显示全部楼层
有这样一个修复的思路
3 H4 h; P! w& V7 p, V' |$ `现在可以. f) R9 F! |$ S' }( s' H4 L4 p) [
novatcom boot mem:// <nova-xxxxxxxxxxxxx.uimage
3 f3 Y- F# k: ~  m
8 k, |7 K9 g4 H$ A9 K- E7 E# g挂载一个ramdisk上去,正在找资料看能否定制一个uimage出来。
& o3 B8 ]. d: l( y1 A6 L. ~6 d
" q9 x  D( u1 u7 I然后通过正常的pre,进入pre的后台
( x* \. ~0 W3 G4 F+ q' c运行
+ B$ R/ U+ a7 T# P4 x$ Od if=/dev/mmcblk0 of=/tmp/mbr.back bs=512 count=18 Q6 O) H$ ?- P7 r+ P- f' g+ x
备份出pre 正常的mbr镜像
- \$ a5 A. Z4 k+ s! a. u0 w
9 J0 U* S* M2 t然后将这个mbr镜像打包到定制的uimage里
, H# X) p/ l5 c2 N" ?4 }/ S5 p. W+ z9 k
然后让砖头pre挂载这个uimage- l* _- E( [% z+ U" A- E9 r( u
: U/ r9 Z9 C1 T& C' l3 X
再dd mbr 到坏的pre里面。
4 _0 G8 Q( s& G: l$ Q4 S3 H
0 R. N$ M' J. x1 {4 Y  @现在在外面,没机会实验,如果uimge里有dd命令,哈哈哈哈,很有可能能恢复。% ~) L; O( m$ L
+ F; f1 N& o; z$ Y8 u
理论上,也可以将rootfs分区也dd出来,其他都可以,只是不知道这个uimage大小有没有限制。
9 X( K( R5 s  A/ y9 x( l
0 b$ l# X! n- g+ G$ bpre有512m内存,理论上这个ramdisk大小可以设置的比较大吧。呵呵
5 C9 f' h, `$ C6 A  j: E. J" L+ D) ^
还没有实验,仅仅是想法,供大家参考。
! {) |8 U7 @1 ^6 l& M& J8 b
2 }& z9 }: ^3 Z  {; T$ J这几天有点走火入魔了。。哈哈哈啊哈哈和$ ?0 Y! A' i8 f" ~
  b/ C( h6 L: P; w4 k& s
[ Edited by netxport on 2010-11-30 12:33 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 15:51 | 显示全部楼层
以上猜想部分实现。
5 t$ k: f4 `& A$ ?8 A& L可以上传ok的mbr文件上去,甚至其他分区的img文件。
  a4 [! d5 j# V但是老问题,dd回灌的时候,kernel出错,重启。老样子。
( L/ g; t  h* Y8 L% ~+ `:-),这个就有点不知如何操作了。) B0 N8 A( F% F" m7 l0 f

% t6 [1 I( D  B. a3 ]. f不过现在通过dd把pre plus的磁盘从mbr到后面50m的拉了下来。
( I8 _, Q5 z) T/ x1 W5 t* a: O/ D+ |8 G4 v" y3 v% A, l
不过不知道该怎么处理了。
回复 支持 反对

使用道具 举报

发表于 2010-11-30 16:56 | 显示全部楼层
ramdisk k包含了busybox和一些脚本,如果只是分区问题可以修复的7 x/ I. G) v, R. J1 K, c, D
需要kernel和ramdisk的话,我这里有
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:09 | 显示全部楼层
如果想摧毁式的恢复,我这里有2.0的,已经可以在pre上用,默认是要重新强制分区
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 17:16 | 显示全部楼层
waooooooo,已经联系楼主了,现在只要kernel不崩溃,重新分区都无所谓的。( c8 t  P/ M1 g; d' L- ]
哈哈哈,本来就是砖,怕什么
8 b. f& Y4 D; B. T7 f6 {. a: U# F再说也有办法恢复boot.bin
7 J. z0 v5 v2 M/ T9 [" E; E; v2 n$ H3 U应该问题不大
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:25 | 显示全部楼层
原帖由 netxport 于 2010-11-30 17:16 发表
' T7 V  B3 c) jwaooooooo,已经联系楼主了,现在只要kernel不崩溃,重新分区都无所谓的。5 d1 }, t$ O3 D7 ^# C! f0 G( f0 K
哈哈哈,本来就是砖,怕什么! K& w2 g' n( z  p
再说也有办法恢复boot.bin$ b) D. V3 W1 R( G3 C
应该问题不大
3 d$ Q3 J! V1 h3 s6 c% q. `. h7 t, e8 x
崩溃与否还真不好说,pre这机器没法远程gdb,很多时候崩溃的莫名其妙,就比如,你没法手动启动usbnet一样,已设置参数,马上崩溃。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 17:44 | 显示全部楼层
原帖由 woshithb123 于 2010-11-30 17:25 发表
+ ~' P# S# X; t2 ~, k7 Y
; _: I( y" M! }* L  [# W5 r崩溃与否还真不好说,pre这机器没法远程gdb,很多时候崩溃的莫名其妙,就比如,你没法手动启动usbnet一样,已设置参数,马上崩溃。。

2 |8 g+ l. {% i恩,我现在也在纳闷,磁盘无法操作为什么kernel会崩溃呢,
* B1 ]8 }0 K/ d6 }- {2 ~尝试国外有编译的什么fso的uimage,也无法引导。呵呵+ H4 \2 c) W- a
如果能在工程模式下,那个DIAG write 不知道是做什么的,只知道DIAG boot 是启动一个小型的测试系统,如果能在这个模式下,重建分区的话,应该有戏,不知道工厂刷rom是采用什么工具还是什么模式。唉。
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:48 | 显示全部楼层
分区部分每次刷机系统都会重置除media之外的其他分区,2.0稍有改动,所以需要摧毁数据4 i8 o: ]# T- [) ^5 r, F
你能否尝试dd去摧毁分区表?
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:49 | 显示全部楼层
mmcblk0p1应该是bootloader部分
$ a) |8 l, n8 L; [4 pmmcblk0p2是放kernel的部分
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 19:35 | 显示全部楼层
谢谢woshithb123的热心帮助,不过看来这个磁盘是没法操作的,怎么着都会崩溃掉
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-4 16:20 | 显示全部楼层
再跟进一下
2 E* e$ c% M4 g经过测试,挂载ramdisk后
3 O0 G6 A0 {2 V6 H5 J  Imount -o ro /dev/mapper/store-root /tmp / L- f. [) I# y. t0 b
设置只读挂载各个分区,可以正常挂载上。可以查看其他分区的内容。" G/ S; x, |* O% Z# ^2 [
但是如果设置mount 为rw
4 l( l; `. B" }, I7 ~$ A* M0 I8 okernel会崩溃。
' N7 o- y: @' ^" z% C( C不知到是哪里出的问题。难道是nand控制器有问题,只能读不能写?
, a6 l# ~% R8 F. u& [8 l" e不了接mount 为rw会涉及到那些底层操作哦。。
$ O  ~$ [  |( @, `5 ]2 N8 g3 T- m4 {4 O. \% @- B
希望大牛们指点
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2010-12-5 08:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2010-12-5 10:24 | 显示全部楼层

回复 楼主1# netxport 的帖子

我通过刷机时发现,PIXI PULS按SYM后开机与按音量键开机一样会进入大USB的恢复模式。
回复 支持 反对

使用道具 举报

发表于 2011-2-24 00:05 | 显示全部楼层
留个脚印
回复 支持 反对

使用道具 举报

发表于 2011-2-24 00:30 | 显示全部楼层
强人啊!!!!!
回复 支持 反对

使用道具 举报

发表于 2011-3-7 23:05 | 显示全部楼层
新手请教,如果我开机也开不了 按音量上键差USB也进不了模式  是不是一味着手机彻底板砖了
回复 支持 反对

使用道具 举报

发表于 2011-3-7 23:13 | 显示全部楼层
技术要求太高了,强烈顶贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2025-4-3 09:55 , Processed in 0.320250 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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