找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 5319|回复: 33

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

[复制链接]
发表于 2010-11-29 01:18 | 显示全部楼层 |阅读模式
收了一台砖机,折腾刷rom。
9 m% F3 s7 L- u( W5 m现象是,在palm界面下反复重启。8 I2 j2 h# b: r4 N6 ]; h
按音量键可以进入修复模式。
( X5 E% k: }) u4 |但刷rom的时候,由于在3%会重启机器,又会陷入重启的死循环。
" M, v. f, I9 I1 C# e2 o
6 I( V/ D) ~1 f0 x  c现在进展。+ M( C! E/ g9 w7 K! g: O
boot应该是正常的
8 w. ]8 ~; N1 o9 x7 p3 M; V通过novaterm可以进入修复模式。
# \; }0 G% G# B1 o3 S$ j$ H也可以通过novacom boot mem:// < /tmp/nova-installer-image-castle.uImage
( f: F  W4 _$ l5 A. B; r加载ram的修复模式吧。/ E# ^& V+ J! |6 u
% w6 ?; g. o/ h* v% X; x$ k
具体的链接
5 V" O3 d1 B% dhttp://www.webos-internals.org/w ... BootLoader_Recovery4 U# b) a2 {" c- }% b

8 e( P( @! ]9 d* k4 a现在疑问的是,& M; T) A( g8 s
机器应该是flash的分区有问题了,可以发现6个分区,但是挂载会失败,如果强行挂载,就会重启。
9 _" @* X# B+ G4 b, }想尝试刷写nvram区来解决。+ Q6 _& ]' `* b7 w5 X5 s
但上面的那个网站给的方法不明了,没找到如何刷nvram来更新分区这些东西的地方。  |5 Z+ `* s% i# Z4 T# w% K" f" N( t: E
现在的进展就是这些
. R% a0 _) f8 r# ~$ R4 q: u) O
9 z0 p9 y( d4 b$ ]4 u顺便说下; j9 Q9 ~8 ^1 T
按音量键向上,插数据线,开机后,会进入恢复模式。" i+ t. H; v& m9 i6 G
8 O  h4 P9 F+ ^9 ?5 G
如果通过novaterm来设置的话
# ]. O( c5 T2 |2 z# {diag boot命令( L- N" Y6 g7 L. x; S& h
会进入工程机检测界面。
3 z1 ~- r4 ?6 K手机会有0-8个选项,是检测屏幕,键盘,摄像头,触摸等几个选项,也蛮好玩的。
4 T9 L& ^5 a  ~; u( D! N大家可以实验下。

评分

参与人数 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 | 显示全部楼层
可能找到症结了,但是却没有个办法解决。
8 Q. ^: K* @; @' @6 i" C+ T9 b! h6 ~一般来说,webdoctor.jar在3%的时候,会运行ramdisk,一个虚拟盘,pre会挂载虚拟盘然后重启,再接着根据castle.xml的配置来刷机。
4 A: l! O: d7 W- C但我这个pre,不知道为什么,挂载ramdisk重启后,貌似没有成功挂载,重启后又是反复重启。/ F0 o1 a5 |, j: Y* [  q
尝试wiki里提到的重建bootie,也成功了,但是只要刷机时重启,就挂载不上ramdisk) U5 L; Q5 _( L* r

+ l4 a, O7 d" h" s4 i8 c0 BleftToWrite 0
) p9 \$ v  _( A  u3 M7 zJun 11, 2009 6:45:50 PM com.palm.nova.installer.recoverytool.CardController logPrint% d& I  O; [" k5 {" C9 N/ ]) X, V
INFO: Loading Ramdisk: Booting9 ~' D2 x- U* P& g
( z9 A# U) L2 l5 n% k
update Loading Ramdisk507 l2 \2 Y1 x- r
Jun 11, 2009 6:45:50 PM com.palm.nova.installer.recoverytool.CardController logPrint
% l% K9 g4 N9 G6 VINFO: Loading Ramdisk: Waiting for device to come back
7 f; {; z8 T# D/ V! c3 \" y  g9 N
Jun 11, 2009 6:46:08 PM com.palm.nova.installer.recoverytool.CardController logPrint
* s8 J" Q6 M" {INFO: Loading Ramdisk: Ramdisk has booted!
+ I8 u/ B  S1 w
4 p2 W( [- S& a; x. W4 `( bJun 11, 2009 6:46:08 PM com.palm.nova.installer.recoverytool.CardController logPrint( R5 U* {7 \: x7 a& ^2 M" f6 c
INFO: Finished: Loading Ramdisk( @/ I- N8 q; v- @
; A4 a1 f: t4 q8 k5 W$ _
./
& w. ^: E8 F) a6 A2 V./BadSys.tga8 z: t" J, m# A* B4 C5 S
./BootLogo.tga( l$ k) x' l+ i/ w8 v4 t4 K0 w
./Charging.tga' k. ]+ H& `  S1 k4 }
./NoBatt.tga
6 u* j' Z* Y; j./NoPower.tga
& `2 N8 n+ I& z5 Z7 U4 w3 C./NoSys.tga
; ~! ^0 t+ g1 D2 X' |./Sync.tga
2 ^% i, C6 Q/ q; @7 ], f: K./Panic.tga. D* J4 n( j) E+ C. M) a  r
./Disk.tga. G! l/ U* |3 C* U9 H/ [: j
./boot-castle.bin# a$ V3 L7 L* M) R9 x
./castlecdma_evt1_fw.tar4 N9 p0 Y7 m: x2 D1 _
./castleumtsfw.tar
" ]3 Y5 y5 M5 T) c/ X$ n./castle.xml
/ s3 Q# I8 y9 p! Y# [  \  m0 KJun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint% D' i0 X' K: }0 ?, A: V
INFO: Starting: Trenchcoat
0 N+ x; [! u/ H0 e. n
# z7 k& u9 _' @! y1 v( ]8 L  o6 CJun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint
" h3 E, s# k& NINFO: Trenchcoat: Starting /sbin/trenchcoat+ l$ Q  O. ?4 }

4 y: j- q9 z5 A, tJun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint# \  p: j% ~% |7 o4 X0 n
INFO: Trenchcoat: Starting Stream Reader8 _; N+ L! G) B9 {* v
3 P8 T8 L, C0 M# ~& V# }
具体就是这个步骤卡住了。
7 Z$ Q% g( B- A" R# f/ p; V* z) |0 o& q9 c7 i
其实到了这一步,只要你刷机不是反复重启,而是卡到palm界面上,那几乎是80%能够通过修改castle.xml来修复的。
, [$ g: I: {, t3 k  X8 |( V至于我这种情况,暂时没有办法。
$ l+ X9 s1 S" ^3 c当时想通过novacom boot mem:// < nova-xxxxxxxxxxxxxxxxx.uimg- g& t' |2 i$ W& ^# E8 S7 }
这样的方式手动挂载,虽然这样挂载,就不重启了,但是webdoctor不认啊,:-)
! k& m4 J; `% [6 _, B5 f" l5 q! e. _9 p0 J0 H
抛砖引玉,几个大佬快来看看,讨论讨论
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-29 13:37 | 显示全部楼层
现在就是在找有没有手动分区的方法。8 a* o( R. ~) {- m6 i* e
原来的几个分区都没法读取,一读就重启,:-)
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-29 14:25 | 显示全部楼层
原帖由 freeworkzz 于 2010-11-29 13:54 发表
. O' C. X( C7 R3 d. z5 ~3 d用LVM手工重建一下所有的分区试试。。

2 ?5 x9 ]( y" J* k
/ W) [8 F+ H  X现在加载的是webos doctor自带的uimge  U4 _6 L7 b& g. S, k
# `' E. M0 N% K1 S: T
尝试
; d6 ^" U& [/ f- u( w" e) oroot@palm-webos-device:/tmp# lvm.static pvscan
6 n  M/ p2 S2 j1 E. DFile descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh
  w7 ^; \. x, ~8 u# Z9 K  PV /dev/mmcblk0p3   VG store   lvm2 [15.27 GB / 16.00 MB free]7 l) y& i' R! _
  Total: 1 [15.27 GB] / in use: 1 [15.27 GB] / in no VG: 0 [0   ]0 D0 f$ _" b1 \% l
root@palm-webos-device:/tmp# lvm.static vgscan
  {0 d; Y% A9 HFile descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh
( J- ~' a" u* O  Reading all physical volumes.  This may take a while...7 W+ Y' w6 H/ y; \) J) }
  Found volume group "store" using metadata type lvm2
+ m- y" L5 }7 s+ J* B2 q% Aroot@palm-webos-device:/tmp# lvm.static lvscan, _! R# a1 Z9 H( V
File descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh+ J1 ?  {& m: A( z
  ACTIVE            '/dev/store/root' [456.00 MB] inherit% x% g0 [. W5 Y% r
  ACTIVE            '/dev/store/var' [256.00 MB] inherit$ U6 A1 ^1 q; e) O. {3 j/ Q/ A4 w
  ACTIVE            '/dev/store/update' [56.00 MB] inherit
6 p. X/ G3 k; T  ACTIVE            '/dev/store/log' [40.00 MB] inherit1 p' \6 U  S$ M* T
  ACTIVE            '/dev/store/media' [14.34 GB] inherit. @6 R! B/ i- l$ H/ }+ g+ H5 r
  ACTIVE            '/dev/store/swap' [128.00 MB] inherit
7 a. l" @* O/ H) n$ M# u
: Z* T( N" C" W分区是能看到的,但是无法操作,只要操作就重启,只要能搞定分区,我感觉其他都没问题了。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-30 12:30 | 显示全部楼层
有这样一个修复的思路; H2 P5 \- ~/ F2 z8 m$ d  E) T
现在可以
5 Y# h0 B# z; F3 P, jnovatcom boot mem:// <nova-xxxxxxxxxxxxx.uimage; W& D  E* W9 q+ U

$ ^4 v- p6 a+ N7 A+ J7 E挂载一个ramdisk上去,正在找资料看能否定制一个uimage出来。2 x# Q# b+ t; A8 T

0 X7 S& d- O2 [6 `& I+ S! u1 W然后通过正常的pre,进入pre的后台0 _3 }" }: q) s+ U& ~% y0 J; ^5 X
运行
; {2 S3 R9 d" K* Ed if=/dev/mmcblk0 of=/tmp/mbr.back bs=512 count=1
: M* h/ D4 q+ S. O备份出pre 正常的mbr镜像  U) `% ~) K1 d" l3 X' i
. x, X! r+ ^' I3 }7 V) u$ Y0 H6 e
然后将这个mbr镜像打包到定制的uimage里$ S" y  z# V/ B% V
0 G, I: f' n4 m; m& i$ G; {* V
然后让砖头pre挂载这个uimage
# ?* H" X" X4 M" Y) M1 S" f8 z1 |5 K3 H5 U5 V7 Q) D5 d( _, v9 E
再dd mbr 到坏的pre里面。7 x/ i& y; x' s- d0 f9 K3 d4 `

$ y; R3 P- g. F现在在外面,没机会实验,如果uimge里有dd命令,哈哈哈哈,很有可能能恢复。9 s* T" C/ G7 j) W# V: D

9 k5 J! y) |/ u理论上,也可以将rootfs分区也dd出来,其他都可以,只是不知道这个uimage大小有没有限制。
% k8 R3 P& J& x- x4 O
; ]! y. f8 ?, M* Y8 r  q2 }pre有512m内存,理论上这个ramdisk大小可以设置的比较大吧。呵呵
3 O+ a) T6 ]( Y% I  ^6 q! D5 X; Z, ]7 I
/ `, n$ C& T. [  p6 l还没有实验,仅仅是想法,供大家参考。' J& [$ g6 S, H( s: E  a5 Q; g  Q. k

; [# ^* j% W5 z; p2 F这几天有点走火入魔了。。哈哈哈啊哈哈和
* A7 r8 c3 c+ x( ~; p2 ^
! @% a9 l5 e1 |  S: ~[ Edited by netxport on 2010-11-30 12:33 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 15:51 | 显示全部楼层
以上猜想部分实现。
* U# {3 C5 f; q8 F0 W可以上传ok的mbr文件上去,甚至其他分区的img文件。8 s5 _2 A8 S) y1 O% g
但是老问题,dd回灌的时候,kernel出错,重启。老样子。
  }; n8 z, ~8 j; T* U:-),这个就有点不知如何操作了。0 |7 q2 s/ \4 M3 @0 M/ ]9 T" T( T

# N  F& e3 Q" k0 M( P) C. g不过现在通过dd把pre plus的磁盘从mbr到后面50m的拉了下来。+ D$ L( L+ h+ Q% I
6 c2 k+ D, h, {7 ^8 e5 r
不过不知道该怎么处理了。
回复 支持 反对

使用道具 举报

发表于 2010-11-30 16:56 | 显示全部楼层
ramdisk k包含了busybox和一些脚本,如果只是分区问题可以修复的
! a( [* ^9 C- r$ F+ Y需要kernel和ramdisk的话,我这里有
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-30 17:16 | 显示全部楼层
waooooooo,已经联系楼主了,现在只要kernel不崩溃,重新分区都无所谓的。" l: n' z+ O8 X! d  \, }4 r
哈哈哈,本来就是砖,怕什么
7 E. M+ J+ S. y( P再说也有办法恢复boot.bin
( b$ X% t1 p0 f9 @4 m# I应该问题不大
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:25 | 显示全部楼层
原帖由 netxport 于 2010-11-30 17:16 发表 9 H  L3 [" q+ H0 R2 Z. ~
waooooooo,已经联系楼主了,现在只要kernel不崩溃,重新分区都无所谓的。. o. f$ y# ~2 k! y( f
哈哈哈,本来就是砖,怕什么! _5 }% u/ f2 y3 t# |
再说也有办法恢复boot.bin8 s+ W( i1 o% b% V* n; b0 w
应该问题不大
+ Z5 B' a& u  G
崩溃与否还真不好说,pre这机器没法远程gdb,很多时候崩溃的莫名其妙,就比如,你没法手动启动usbnet一样,已设置参数,马上崩溃。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 17:44 | 显示全部楼层
原帖由 woshithb123 于 2010-11-30 17:25 发表
# F2 `7 F) N; B8 ^# f3 j$ ?4 i
/ @$ ^7 H( x9 S! U* {崩溃与否还真不好说,pre这机器没法远程gdb,很多时候崩溃的莫名其妙,就比如,你没法手动启动usbnet一样,已设置参数,马上崩溃。。
% F6 j& z& _. `( e2 l2 D
恩,我现在也在纳闷,磁盘无法操作为什么kernel会崩溃呢,
, k7 k; w6 y4 A* s! w尝试国外有编译的什么fso的uimage,也无法引导。呵呵7 f( U2 c2 J, R) q8 G/ D
如果能在工程模式下,那个DIAG write 不知道是做什么的,只知道DIAG boot 是启动一个小型的测试系统,如果能在这个模式下,重建分区的话,应该有戏,不知道工厂刷rom是采用什么工具还是什么模式。唉。
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:48 | 显示全部楼层
分区部分每次刷机系统都会重置除media之外的其他分区,2.0稍有改动,所以需要摧毁数据) |* p3 \+ u, q# \% h8 K7 z
你能否尝试dd去摧毁分区表?
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:49 | 显示全部楼层
mmcblk0p1应该是bootloader部分% U6 `1 c- B9 b4 f) Q* X) x
mmcblk0p2是放kernel的部分
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-12-4 16:20 | 显示全部楼层
再跟进一下
4 \+ D' Q) L- J4 X  r9 B% ?经过测试,挂载ramdisk后7 W2 [( S- \+ V* X
mount -o ro /dev/mapper/store-root /tmp 8 d' F1 v7 t1 j; s- h
设置只读挂载各个分区,可以正常挂载上。可以查看其他分区的内容。
7 V+ J' g# n7 k! v) a. l: C, s但是如果设置mount 为rw
# Q5 j) F4 W- y7 Q9 Ekernel会崩溃。
) a% f" @2 Z. ^6 r& b不知到是哪里出的问题。难道是nand控制器有问题,只能读不能写?1 n$ s( V# \; F! P. u* X$ k
不了接mount 为rw会涉及到那些底层操作哦。。
4 G/ ^& q: V4 ]$ Z3 P# g' m+ G! F: j: r4 e# h+ 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, 2024-11-5 11:44 , Processed in 0.403911 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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