找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 5323|回复: 33

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

[复制链接]
发表于 2010-11-29 01:18 | 显示全部楼层 |阅读模式
收了一台砖机,折腾刷rom。' L' a; _3 F; c
现象是,在palm界面下反复重启。4 x( S- v7 c* f6 v3 L
按音量键可以进入修复模式。
5 ^- P$ x0 l7 h+ O8 ]但刷rom的时候,由于在3%会重启机器,又会陷入重启的死循环。4 o% m  u5 c5 i. E

0 l& I8 ~1 a2 @  t3 P8 a9 H现在进展。, V1 S2 B4 ~! Q% a
boot应该是正常的% ?  j6 O5 M0 a
通过novaterm可以进入修复模式。6 A3 x0 ~4 O7 a: A2 Y" I
也可以通过novacom boot mem:// < /tmp/nova-installer-image-castle.uImage 1 S  z5 t" o- }! K6 ?
加载ram的修复模式吧。" \/ s! _  u3 |7 Q1 S/ K

1 H! G$ Q- P+ S; H具体的链接4 I* O+ g2 W' |& C
http://www.webos-internals.org/w ... BootLoader_Recovery
$ V0 b+ j  @2 W# [6 P/ s6 X" [) k3 A7 c9 I2 M" l6 N3 b
现在疑问的是,: d! L, D2 P- T) M# i
机器应该是flash的分区有问题了,可以发现6个分区,但是挂载会失败,如果强行挂载,就会重启。4 k1 w2 Y: l: g* u6 ?8 k
想尝试刷写nvram区来解决。4 N0 P4 |( d! T6 X; |" I1 ?9 L
但上面的那个网站给的方法不明了,没找到如何刷nvram来更新分区这些东西的地方。
+ V4 |3 y; t2 S; m4 H; |现在的进展就是这些
9 L( G) ^' K3 X6 w; b: I) h- Q' w6 k0 @7 m/ N1 a$ f" l  p! @
顺便说下
- v; m, Z: f! l9 h& t; |, `按音量键向上,插数据线,开机后,会进入恢复模式。
( ~  j6 U9 t! [; A$ i; ~! a, T8 h7 @& \( j# I6 n, w3 t  ^1 o6 e7 G
如果通过novaterm来设置的话
; N3 N1 ?6 ^$ j. i, Y$ w: ydiag boot命令4 s3 \+ Y8 a7 H* C: h9 N1 U6 t: ^
会进入工程机检测界面。
% f* c! ?0 q" s3 C3 F% W手机会有0-8个选项,是检测屏幕,键盘,摄像头,触摸等几个选项,也蛮好玩的。8 T0 Q2 P& K6 C3 d. n; Q3 [2 F
大家可以实验下。

评分

参与人数 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 | 显示全部楼层
可能找到症结了,但是却没有个办法解决。
: p% i: J2 r9 ]& U) Z) J2 S/ M# {一般来说,webdoctor.jar在3%的时候,会运行ramdisk,一个虚拟盘,pre会挂载虚拟盘然后重启,再接着根据castle.xml的配置来刷机。
& O8 a; A; p) A+ h' V9 g但我这个pre,不知道为什么,挂载ramdisk重启后,貌似没有成功挂载,重启后又是反复重启。, Q4 O* C  ]. W  y
尝试wiki里提到的重建bootie,也成功了,但是只要刷机时重启,就挂载不上ramdisk
( R6 Q7 _4 r  l) Y/ X1 t7 h1 F, c: w5 u1 m" p7 n; m0 R
leftToWrite 0/ e- _8 d, T9 ]; s
Jun 11, 2009 6:45:50 PM com.palm.nova.installer.recoverytool.CardController logPrint  c; f( s* _' j
INFO: Loading Ramdisk: Booting
! f0 k7 |1 {1 H
" ^3 t6 @! r6 u( c) s! M4 d+ Bupdate Loading Ramdisk50
7 E) r, _$ h, z0 [, k9 P  hJun 11, 2009 6:45:50 PM com.palm.nova.installer.recoverytool.CardController logPrint
: I6 d1 I! W6 Q6 k1 m3 N4 ?: D3 YINFO: Loading Ramdisk: Waiting for device to come back- F7 m) I# B/ |' @- c. u# \- g
. i0 C  r& ^# q4 Y$ }# g
Jun 11, 2009 6:46:08 PM com.palm.nova.installer.recoverytool.CardController logPrint' [! K, F: o4 A& j/ U
INFO: Loading Ramdisk: Ramdisk has booted!
7 d" d" q. J7 i- O2 n4 U) `. Q
: A. E! I1 h' W* n5 m# q, y4 RJun 11, 2009 6:46:08 PM com.palm.nova.installer.recoverytool.CardController logPrint6 Y7 i" A& H$ P3 X
INFO: Finished: Loading Ramdisk( |+ v4 ?' @3 N' r0 J/ P

& Z2 G% f3 j5 H- i./  a1 a, `, p: ?0 X$ m" S, d
./BadSys.tga1 \1 m2 `  ^5 o& G( x+ u2 b
./BootLogo.tga. k- k4 S5 g/ m" w
./Charging.tga$ d3 J, Z* q  i& {$ D
./NoBatt.tga
2 Y) U. ]4 v0 G./NoPower.tga6 q' i3 o7 r: Q8 k, G* x
./NoSys.tga- _6 i6 p0 S! [5 Z+ e
./Sync.tga
5 X! F8 z& G% f6 u./Panic.tga  M9 _. f- n' ^# u& }/ ?3 Q7 L
./Disk.tga1 \" V2 E3 B9 g, q. \/ F
./boot-castle.bin) m5 D# C+ o9 U8 _8 U2 {* v6 P7 T
./castlecdma_evt1_fw.tar5 ?, k2 }$ z" F
./castleumtsfw.tar
" T( N+ G  y  G' s6 ~  D2 I( z./castle.xml& ?+ V% I% \5 [4 F
Jun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint
3 n% s0 W2 I) [8 P5 w0 JINFO: Starting: Trenchcoat
' ^% p' n/ T  n# s  @8 ]/ |# C" v" U: c" {- R- M) K
Jun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint+ ]( z2 ^& a) ]/ b. i: b! Y
INFO: Trenchcoat: Starting /sbin/trenchcoat
. o0 g/ |; E( }1 P/ f' q
' V9 u8 F. C* f9 Y; {, \Jun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint7 e. ]' `' H( n+ k
INFO: Trenchcoat: Starting Stream Reader
/ p5 e% e5 e+ O( s# ^! [& ]6 _1 S
具体就是这个步骤卡住了。  K$ U4 \& z" v
3 _& h- |- Q+ g5 _3 K( w# u' x8 F
其实到了这一步,只要你刷机不是反复重启,而是卡到palm界面上,那几乎是80%能够通过修改castle.xml来修复的。7 v  F2 f* i( P8 G. Z% v1 X
至于我这种情况,暂时没有办法。
: R, l* z/ v' X( Q4 i当时想通过novacom boot mem:// < nova-xxxxxxxxxxxxxxxxx.uimg: V; A. Y! x2 m! U% E
这样的方式手动挂载,虽然这样挂载,就不重启了,但是webdoctor不认啊,:-)
$ E2 b2 V# d0 Z5 g4 V
4 R% ?5 n- u% M- G抛砖引玉,几个大佬快来看看,讨论讨论
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-29 13:37 | 显示全部楼层
现在就是在找有没有手动分区的方法。
& E, a1 f; X/ ^6 t" H  z0 }! y原来的几个分区都没法读取,一读就重启,:-)
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-29 14:25 | 显示全部楼层
原帖由 freeworkzz 于 2010-11-29 13:54 发表 / q/ t7 M+ |5 m8 P8 u
用LVM手工重建一下所有的分区试试。。

3 L5 A4 T, X  X: T: p! z
. G& u" w; d7 U现在加载的是webos doctor自带的uimge- X0 O' O7 a6 q/ c+ k+ ]! _, Q

- H2 h' @' v. J% i8 z尝试3 E4 A/ C5 s6 e0 G4 _7 o3 k
root@palm-webos-device:/tmp# lvm.static pvscan
% V5 _: {3 N( a" A2 {) ^File descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh
7 i- c* f# }% y  PV /dev/mmcblk0p3   VG store   lvm2 [15.27 GB / 16.00 MB free]
+ C- M( L* O; c! H" l/ a: i9 W  Total: 1 [15.27 GB] / in use: 1 [15.27 GB] / in no VG: 0 [0   ]
, E9 A( B7 c; W6 Z8 Qroot@palm-webos-device:/tmp# lvm.static vgscan
  t; K# j/ h' a: U- {; ?1 _  _File descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh
3 c5 a8 C0 b5 W5 B* m3 I+ ^: l  Reading all physical volumes.  This may take a while...
) x. F0 a( i( F7 A# M% `4 |# q  Found volume group "store" using metadata type lvm2% J' ^2 [7 B6 ?0 \: B1 O
root@palm-webos-device:/tmp# lvm.static lvscan
0 f' V4 ]) a$ b1 _File descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh
' x. M8 `4 Z/ h1 S/ ?  ACTIVE            '/dev/store/root' [456.00 MB] inherit, d, C6 ~# }( t7 |7 T$ d# O" u/ {
  ACTIVE            '/dev/store/var' [256.00 MB] inherit, d3 @" I) }7 r8 K. d  e
  ACTIVE            '/dev/store/update' [56.00 MB] inherit
) V# K4 K3 P* ^: S0 T  ACTIVE            '/dev/store/log' [40.00 MB] inherit, K' N8 T1 Q# C, a
  ACTIVE            '/dev/store/media' [14.34 GB] inherit1 Y; v2 r) }- i
  ACTIVE            '/dev/store/swap' [128.00 MB] inherit5 d+ G# `9 U3 {
# L5 J# y+ e# }0 l7 w+ w& ~  v
分区是能看到的,但是无法操作,只要操作就重启,只要能搞定分区,我感觉其他都没问题了。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-30 12:30 | 显示全部楼层
有这样一个修复的思路
6 n: H7 r3 w% E现在可以, ^6 `1 i% v2 ~2 C2 L
novatcom boot mem:// <nova-xxxxxxxxxxxxx.uimage. y% X( K" h- g/ J- k3 i: f
( q8 b* o  O6 K: U$ X6 h
挂载一个ramdisk上去,正在找资料看能否定制一个uimage出来。% M- f' |, O" G% r+ t8 t+ W

# @1 X+ D" W3 Q& ^7 l* O& R. x1 {然后通过正常的pre,进入pre的后台
/ m  w5 v8 Z/ \- y9 k运行
, t3 W  T! o  m7 q0 `+ F& z, z* |d if=/dev/mmcblk0 of=/tmp/mbr.back bs=512 count=10 b$ ?5 n! t8 d1 B- U
备份出pre 正常的mbr镜像1 n$ X! Q# l& t3 d% y2 ~
% V" u, T: S- W6 ^) I
然后将这个mbr镜像打包到定制的uimage里" }  {  b4 U6 L- n
7 I% o' k* P! o3 N7 Y# S
然后让砖头pre挂载这个uimage
) }! [8 `. C$ A# `+ }
' k* K- j) d" ]& m4 k: {# E# X再dd mbr 到坏的pre里面。  H) ^% _! Y& X5 T! J% }

4 t$ _* ^7 J8 I& {; \现在在外面,没机会实验,如果uimge里有dd命令,哈哈哈哈,很有可能能恢复。
0 X5 T! Q! @- [6 Q1 w
4 C+ h* U5 S5 k: ]! `理论上,也可以将rootfs分区也dd出来,其他都可以,只是不知道这个uimage大小有没有限制。* e2 X) R+ X' @' X

5 y* ~9 v+ a# H& Q% b0 Zpre有512m内存,理论上这个ramdisk大小可以设置的比较大吧。呵呵7 u) v2 y' c& S: Q$ y6 p
* t' _2 E/ p  ]$ J6 z
还没有实验,仅仅是想法,供大家参考。& p" E! J+ p6 P

+ M/ V" s! ~9 m这几天有点走火入魔了。。哈哈哈啊哈哈和
4 T( K4 g  _; L1 r) X, I6 ~  ?7 `1 K1 `
[ Edited by netxport on 2010-11-30 12:33 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 15:51 | 显示全部楼层
以上猜想部分实现。  S" f. Z3 b' p! b! Q
可以上传ok的mbr文件上去,甚至其他分区的img文件。
4 s; ~; T) g% s% v8 t* A5 K+ Y. M/ _但是老问题,dd回灌的时候,kernel出错,重启。老样子。" ], m* c/ I$ m( C! ^
:-),这个就有点不知如何操作了。
( J8 o* a  d4 m& t6 p! k; {/ R4 S2 Q, L
不过现在通过dd把pre plus的磁盘从mbr到后面50m的拉了下来。
, X7 B" |& T% q) l( l5 [4 O& Z4 P! k( j& t! f1 N2 i
不过不知道该怎么处理了。
回复 支持 反对

使用道具 举报

发表于 2010-11-30 16:56 | 显示全部楼层
ramdisk k包含了busybox和一些脚本,如果只是分区问题可以修复的
9 z' y9 q9 [- k# Q6 s0 u需要kernel和ramdisk的话,我这里有
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-30 17:16 | 显示全部楼层
waooooooo,已经联系楼主了,现在只要kernel不崩溃,重新分区都无所谓的。
" B7 S# m7 o+ I% I哈哈哈,本来就是砖,怕什么
6 i" F( P/ Y' q/ `再说也有办法恢复boot.bin9 N& X% A+ j/ R
应该问题不大
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:25 | 显示全部楼层
原帖由 netxport 于 2010-11-30 17:16 发表 * A4 H- L3 r% c4 U+ W) @' z4 }/ w
waooooooo,已经联系楼主了,现在只要kernel不崩溃,重新分区都无所谓的。
: P' ?; e% P! J! R; g& B哈哈哈,本来就是砖,怕什么/ ?% v( K3 m! x# I2 V* ?7 o
再说也有办法恢复boot.bin
( c. X( ]4 ?  L3 \/ t应该问题不大

, _1 R6 O2 p& y崩溃与否还真不好说,pre这机器没法远程gdb,很多时候崩溃的莫名其妙,就比如,你没法手动启动usbnet一样,已设置参数,马上崩溃。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 17:44 | 显示全部楼层
原帖由 woshithb123 于 2010-11-30 17:25 发表
0 Y6 _, P& ]4 P! D
* _1 x3 p) c/ V+ ?8 f. w+ P崩溃与否还真不好说,pre这机器没法远程gdb,很多时候崩溃的莫名其妙,就比如,你没法手动启动usbnet一样,已设置参数,马上崩溃。。
2 u* g. r; G3 ]8 b; h, m: l$ |; p
恩,我现在也在纳闷,磁盘无法操作为什么kernel会崩溃呢,8 J  k  z1 U; k6 n5 t  B2 R
尝试国外有编译的什么fso的uimage,也无法引导。呵呵: {/ I! T2 o2 ^: Y% z. \" H
如果能在工程模式下,那个DIAG write 不知道是做什么的,只知道DIAG boot 是启动一个小型的测试系统,如果能在这个模式下,重建分区的话,应该有戏,不知道工厂刷rom是采用什么工具还是什么模式。唉。
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:48 | 显示全部楼层
分区部分每次刷机系统都会重置除media之外的其他分区,2.0稍有改动,所以需要摧毁数据. F* c' E0 }, m; M
你能否尝试dd去摧毁分区表?
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:49 | 显示全部楼层
mmcblk0p1应该是bootloader部分
9 F- A7 _/ l- n' ~7 Cmmcblk0p2是放kernel的部分
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-12-4 16:20 | 显示全部楼层
再跟进一下5 K0 q' ?& L* c; q
经过测试,挂载ramdisk后4 }. Q+ ^5 k- ?; G
mount -o ro /dev/mapper/store-root /tmp ; P* |: I# I. {
设置只读挂载各个分区,可以正常挂载上。可以查看其他分区的内容。
: X! q/ x. M. v: _. ^但是如果设置mount 为rw2 J  M$ k; Y! @/ S4 q4 n
kernel会崩溃。- W, p/ W$ [8 b- Q/ [. U
不知到是哪里出的问题。难道是nand控制器有问题,只能读不能写?
/ ]- H; I3 y- u" i  K" e9 r6 r不了接mount 为rw会涉及到那些底层操作哦。。7 z. z% w: S0 B! w3 O/ `; X  q2 A

7 `( p4 H+ U/ Q6 B& n希望大牛们指点
回复 支持 反对

使用道具 举报

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

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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