找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 5327|回复: 33

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

[复制链接]
发表于 2010-11-29 01:18 | 显示全部楼层 |阅读模式
收了一台砖机,折腾刷rom。- u+ g" W: Z6 L8 t
现象是,在palm界面下反复重启。
3 i3 C* ]) G% S0 i按音量键可以进入修复模式。0 a& ~2 e4 r) N+ L0 y  i6 F- {
但刷rom的时候,由于在3%会重启机器,又会陷入重启的死循环。
+ l: E9 H5 |$ Q: c
+ F2 c* v0 v+ [# t$ w+ M现在进展。: y7 C5 n1 y/ U5 k3 S" {! h
boot应该是正常的# {4 Q; B' G9 ?' W4 U! U
通过novaterm可以进入修复模式。
5 o; F, p! r& U9 f0 j: u也可以通过novacom boot mem:// < /tmp/nova-installer-image-castle.uImage 0 I, z) V. x: y* H$ v
加载ram的修复模式吧。
* ^7 z3 l8 J. ?% h: h1 u# R4 ?! u: @
1 U9 h* Y+ g5 Y7 K1 w" ]( w具体的链接! B6 x/ v: b0 t! v
http://www.webos-internals.org/w ... BootLoader_Recovery
6 s$ j/ {! ?: B  `  V0 d" t+ G/ d  U' O/ L: l$ n) j
现在疑问的是,
1 ]: ~7 L9 C2 D* o& J# V机器应该是flash的分区有问题了,可以发现6个分区,但是挂载会失败,如果强行挂载,就会重启。
- N+ u2 x" q- m$ u  V+ d, }- q: _想尝试刷写nvram区来解决。5 c6 t$ K& n2 h; a1 u
但上面的那个网站给的方法不明了,没找到如何刷nvram来更新分区这些东西的地方。- s5 J/ |! C' _. w! l
现在的进展就是这些5 b3 h0 Z* Y" a4 Q$ O/ T$ p1 E

2 x' p& r3 \* p4 h5 e* A; Z, z3 v顺便说下
6 Z, P; n2 P' t0 j& e按音量键向上,插数据线,开机后,会进入恢复模式。
; @* m8 }: Z  k" @# q( }3 w1 i' ^3 t  P. c+ G8 ~
如果通过novaterm来设置的话
  I. U3 \7 k( z& D3 `: i$ odiag boot命令( s) S+ D' R4 \* M
会进入工程机检测界面。1 ^, ?0 C4 h/ o; a
手机会有0-8个选项,是检测屏幕,键盘,摄像头,触摸等几个选项,也蛮好玩的。
3 I- E; l  F. u; ^; K0 f( e1 z大家可以实验下。

评分

参与人数 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 | 显示全部楼层
可能找到症结了,但是却没有个办法解决。+ x* Y2 d. k4 q9 J3 h, x5 M
一般来说,webdoctor.jar在3%的时候,会运行ramdisk,一个虚拟盘,pre会挂载虚拟盘然后重启,再接着根据castle.xml的配置来刷机。
# ^7 F3 L/ Z8 ^" w9 x但我这个pre,不知道为什么,挂载ramdisk重启后,貌似没有成功挂载,重启后又是反复重启。
* `, B% D* q& M尝试wiki里提到的重建bootie,也成功了,但是只要刷机时重启,就挂载不上ramdisk
; M1 b' k' C* D( }- m
% G- v) x( _  ZleftToWrite 0
  M: M9 e& a* q, G* EJun 11, 2009 6:45:50 PM com.palm.nova.installer.recoverytool.CardController logPrint1 R" l/ Q5 l9 h. F( @- W1 M2 J! s& u4 M
INFO: Loading Ramdisk: Booting
! S. O# O7 {; @/ |/ P% d1 t8 y. i3 q9 v! j- g7 g
update Loading Ramdisk50. f  c: M0 n: ?; p) w
Jun 11, 2009 6:45:50 PM com.palm.nova.installer.recoverytool.CardController logPrint; X9 D5 @' e& B6 c7 [; X2 H' B
INFO: Loading Ramdisk: Waiting for device to come back
/ {7 g! W, \3 R  ?7 R) L
" d' u+ r3 n9 q& R& {Jun 11, 2009 6:46:08 PM com.palm.nova.installer.recoverytool.CardController logPrint
2 g7 N: o8 Z! _' Q% A; S: o. ?INFO: Loading Ramdisk: Ramdisk has booted!
3 j9 f8 N- q- p- _3 [) P1 z: ^4 {: R% X
Jun 11, 2009 6:46:08 PM com.palm.nova.installer.recoverytool.CardController logPrint
' [# t3 J$ c1 D; W4 }+ I7 FINFO: Finished: Loading Ramdisk7 Q, F  H8 l; D( I( S6 \
- S, |! a) Q' z6 f+ f7 {
./
2 k6 P. _& ]1 v; z  K./BadSys.tga* M1 t# y7 E' t* [* ^
./BootLogo.tga
# p# d* _4 R. `6 s6 s2 b' I./Charging.tga3 p! H8 o$ B6 [" X0 a
./NoBatt.tga  M) S3 W: f/ C) j9 d, ?
./NoPower.tga
9 v$ i. c+ ~* F% ~- M./NoSys.tga
2 Q% K" s8 s" k* E8 V) X2 s) P./Sync.tga
1 b8 l% N/ E" O8 r) j! F3 o./Panic.tga
. ^) _6 z( F. |8 C1 g/ @2 W./Disk.tga
! R0 h2 [( `" C+ `5 y./boot-castle.bin2 u) H  `9 M+ i% P/ c
./castlecdma_evt1_fw.tar' C( A3 l1 J0 m9 S: o' _
./castleumtsfw.tar
  y  z) O8 g+ W./castle.xml! S, a( W; w" w8 W
Jun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint% I" Q  Z- d0 e9 J
INFO: Starting: Trenchcoat8 F; H6 i! W8 E3 ?

+ v$ \! L) w8 B1 u4 y. q$ W8 RJun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint
2 k% C: u5 k: }; }INFO: Trenchcoat: Starting /sbin/trenchcoat6 @* M/ @8 W4 W, ~$ i
# G# a; |2 v2 v- W2 g
Jun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint
- y9 k: x4 ?$ JINFO: Trenchcoat: Starting Stream Reader9 N% m& ~5 Y/ [3 u( q" p
+ n. t* o* W/ H' y0 u7 b7 M
具体就是这个步骤卡住了。
# _) W. l$ r( \+ ^7 q  y7 s
6 I5 {, ?& D& N% ]( ~其实到了这一步,只要你刷机不是反复重启,而是卡到palm界面上,那几乎是80%能够通过修改castle.xml来修复的。
+ j" D, u- B4 Z. u# o( }/ l5 `至于我这种情况,暂时没有办法。% T9 ]2 C: g2 {9 g7 X8 c
当时想通过novacom boot mem:// < nova-xxxxxxxxxxxxxxxxx.uimg
2 [7 f! N( c3 k. k6 Y' Q+ ^$ D9 x这样的方式手动挂载,虽然这样挂载,就不重启了,但是webdoctor不认啊,:-)
* o3 L- m5 N2 G) W
4 P0 d/ P& D) k) P, p+ i1 h抛砖引玉,几个大佬快来看看,讨论讨论
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-29 13:37 | 显示全部楼层
现在就是在找有没有手动分区的方法。
1 M9 T7 b& ]& H. W3 u3 [/ {7 i原来的几个分区都没法读取,一读就重启,:-)
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-29 14:25 | 显示全部楼层
原帖由 freeworkzz 于 2010-11-29 13:54 发表
  O- z; r& y# k5 S: b  F: V用LVM手工重建一下所有的分区试试。。

$ |, J4 z- R+ ~( q7 U) B4 D2 S+ A& a
现在加载的是webos doctor自带的uimge
, H7 e7 S5 V1 ]% R& ?. S3 c
( o9 ?! z1 M; z* k: j- m9 U5 j尝试
6 _: g. o" o9 I6 Z9 z- z& }root@palm-webos-device:/tmp# lvm.static pvscan' ^7 M+ v" c# Q5 [. ]+ s
File descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh3 ?( C. r% ~8 r  g& b# D5 K
  PV /dev/mmcblk0p3   VG store   lvm2 [15.27 GB / 16.00 MB free]
3 T2 S! g% h+ T5 N2 k  Total: 1 [15.27 GB] / in use: 1 [15.27 GB] / in no VG: 0 [0   ]7 t9 T; S, S* [# s9 }
root@palm-webos-device:/tmp# lvm.static vgscan
# u* i/ e: }4 x* _2 D5 h- \4 O  X! HFile descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh
: Z9 l4 |2 k& j  Reading all physical volumes.  This may take a while...
; u: ~5 C; L/ d. e* r4 Q+ f  Found volume group "store" using metadata type lvm2# {9 S$ r+ o0 f
root@palm-webos-device:/tmp# lvm.static lvscan
  Z2 B# W9 [' |/ ]$ wFile descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh
' _- O# p" x2 M! h9 Z) f9 K4 s  ACTIVE            '/dev/store/root' [456.00 MB] inherit- u0 N7 n! A5 [. _
  ACTIVE            '/dev/store/var' [256.00 MB] inherit& k9 f9 u3 p1 F6 D, e1 a
  ACTIVE            '/dev/store/update' [56.00 MB] inherit9 A# y& a5 e( X6 w& i( X8 u
  ACTIVE            '/dev/store/log' [40.00 MB] inherit4 }7 B  A6 S+ B3 Q8 O
  ACTIVE            '/dev/store/media' [14.34 GB] inherit
' d9 O: _# E4 V, G/ t+ A, Z7 x  ACTIVE            '/dev/store/swap' [128.00 MB] inherit2 k2 h1 O  g6 \* W( [! m3 Z3 Q
7 m. K" y6 U" ]7 S2 ], D
分区是能看到的,但是无法操作,只要操作就重启,只要能搞定分区,我感觉其他都没问题了。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-30 12:30 | 显示全部楼层
有这样一个修复的思路9 Z: o6 P- e2 O* U! `( W" w; G
现在可以
( x4 e( f  f: unovatcom boot mem:// <nova-xxxxxxxxxxxxx.uimage- w4 `2 \' P) y) j+ B, b) E
' S% s7 N: `" i' Z3 i; G& u
挂载一个ramdisk上去,正在找资料看能否定制一个uimage出来。
$ x2 n. G; t4 q5 k4 {5 ^2 Q& n
8 l& t! G9 Z8 u, T, K然后通过正常的pre,进入pre的后台
5 z1 V8 [" ?* j$ Z: M1 k运行/ q/ I  w( I( w6 h: p( |, H/ _( n
d if=/dev/mmcblk0 of=/tmp/mbr.back bs=512 count=1# n% c$ I; a0 o" d
备份出pre 正常的mbr镜像0 G7 B) B, \9 Q0 m; C; T2 h

: r8 i& H8 a4 }* T: W3 J4 l然后将这个mbr镜像打包到定制的uimage里* z* K& M) j( \* C/ v

4 V1 n) V& j9 T- r/ R; L然后让砖头pre挂载这个uimage9 v. H+ t3 e6 {- y$ {% G

) W6 k9 X% `" ^! r5 s再dd mbr 到坏的pre里面。
9 g9 I2 e2 s7 h( w8 Y
: p* n8 M. _, H: p1 c) {" b现在在外面,没机会实验,如果uimge里有dd命令,哈哈哈哈,很有可能能恢复。0 v9 k: o) C$ x9 S5 M

4 l% g4 q2 D# M: W理论上,也可以将rootfs分区也dd出来,其他都可以,只是不知道这个uimage大小有没有限制。0 N8 p! Y  d( J5 B  E5 O

# M2 ^2 E, U3 e: n' Z9 Lpre有512m内存,理论上这个ramdisk大小可以设置的比较大吧。呵呵. c; A1 s7 }" ?; f
9 L* q- b, ^* Q$ A1 X+ B& H/ M
还没有实验,仅仅是想法,供大家参考。$ X) w0 U  w' \. `
+ R6 C8 ?' E( z9 @
这几天有点走火入魔了。。哈哈哈啊哈哈和) P  e3 m& b% c0 ]" U
) t! j& Y% y: O, ^
[ Edited by netxport on 2010-11-30 12:33 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 15:51 | 显示全部楼层
以上猜想部分实现。# ]9 X1 H- [; {- d5 R6 m: ?
可以上传ok的mbr文件上去,甚至其他分区的img文件。+ W6 z- r( h% z, D) _
但是老问题,dd回灌的时候,kernel出错,重启。老样子。
9 K+ s" a+ S1 l% U# O, K:-),这个就有点不知如何操作了。
  T$ G1 X- b6 e% K% [/ X) A* O3 o4 u: s  X5 _
不过现在通过dd把pre plus的磁盘从mbr到后面50m的拉了下来。6 O; |. ]* n+ A! Q( ~' X
* A; P& S2 Z! O' G+ D
不过不知道该怎么处理了。
回复 支持 反对

使用道具 举报

发表于 2010-11-30 16:56 | 显示全部楼层
ramdisk k包含了busybox和一些脚本,如果只是分区问题可以修复的
, r' P7 l' B$ Z- y7 U1 w需要kernel和ramdisk的话,我这里有
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-30 17:16 | 显示全部楼层
waooooooo,已经联系楼主了,现在只要kernel不崩溃,重新分区都无所谓的。
) [) d; m, J; C哈哈哈,本来就是砖,怕什么" I+ f7 `  n; N1 l
再说也有办法恢复boot.bin0 N! {' h* r4 h
应该问题不大
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:25 | 显示全部楼层
原帖由 netxport 于 2010-11-30 17:16 发表 2 W1 [$ z1 \( [. h2 R* k
waooooooo,已经联系楼主了,现在只要kernel不崩溃,重新分区都无所谓的。0 g" B) m6 r4 ]4 V/ ^
哈哈哈,本来就是砖,怕什么& Q/ D( |; [' c5 K
再说也有办法恢复boot.bin- {0 @4 d" |# B2 A2 h
应该问题不大
0 s$ {# v/ \. \' e& h
崩溃与否还真不好说,pre这机器没法远程gdb,很多时候崩溃的莫名其妙,就比如,你没法手动启动usbnet一样,已设置参数,马上崩溃。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 17:44 | 显示全部楼层
原帖由 woshithb123 于 2010-11-30 17:25 发表 " }+ ~+ E( L. E3 j

4 M  o- u9 {$ h0 g' n崩溃与否还真不好说,pre这机器没法远程gdb,很多时候崩溃的莫名其妙,就比如,你没法手动启动usbnet一样,已设置参数,马上崩溃。。

! O' N8 v* ~9 N8 R  |# K恩,我现在也在纳闷,磁盘无法操作为什么kernel会崩溃呢,3 I5 [1 J9 n+ E9 ~! F2 ~
尝试国外有编译的什么fso的uimage,也无法引导。呵呵
: e4 B- I0 i8 s0 d& {如果能在工程模式下,那个DIAG write 不知道是做什么的,只知道DIAG boot 是启动一个小型的测试系统,如果能在这个模式下,重建分区的话,应该有戏,不知道工厂刷rom是采用什么工具还是什么模式。唉。
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2010-11-30 17:49 | 显示全部楼层
mmcblk0p1应该是bootloader部分7 l% p. h2 n  E
mmcblk0p2是放kernel的部分
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-12-4 16:20 | 显示全部楼层
再跟进一下8 X0 X8 X" k. F9 n# m$ F
经过测试,挂载ramdisk后. x2 V7 F1 Y5 }1 S# @* w
mount -o ro /dev/mapper/store-root /tmp
  t* v1 G8 ]  j" @( }. R- I8 T0 b设置只读挂载各个分区,可以正常挂载上。可以查看其他分区的内容。4 j' G' X" Q! ]6 K' N
但是如果设置mount 为rw6 M# w  B$ W9 s4 L
kernel会崩溃。& j( K  Y+ d: F- e
不知到是哪里出的问题。难道是nand控制器有问题,只能读不能写?
) L( [$ _; F' A1 G% @1 k0 Z不了接mount 为rw会涉及到那些底层操作哦。。
& u+ v' {: h8 J0 f: B1 K
. n# R" v8 K. ?希望大牛们指点
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 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-1-22 12:19 , Processed in 0.380835 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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