找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 5331|回复: 33

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

[复制链接]
发表于 2010-11-29 01:18 | 显示全部楼层 |阅读模式
收了一台砖机,折腾刷rom。7 ~2 W: k; I$ P1 M' z4 Y7 b0 X
现象是,在palm界面下反复重启。
: ]1 T- }/ @* W, d5 g4 X% t$ t按音量键可以进入修复模式。
' t, n- |' }- k8 J$ c但刷rom的时候,由于在3%会重启机器,又会陷入重启的死循环。
( [6 k, M  M+ T& {/ _. V3 O" H/ F% B# E& o) `/ n( M0 b# _' N
现在进展。
+ p' Q5 l% Y! F& {boot应该是正常的+ W" i$ G) b2 z7 R$ P' X
通过novaterm可以进入修复模式。5 e5 x# C9 l( W# b& k9 R
也可以通过novacom boot mem:// < /tmp/nova-installer-image-castle.uImage
0 \; \& L/ y, \$ P加载ram的修复模式吧。7 t$ T- O# F& Y1 [" \

# n" Q0 t2 J5 n6 m! b具体的链接
% m1 n7 n3 I9 K) g  Z# xhttp://www.webos-internals.org/w ... BootLoader_Recovery
6 N# o+ f4 \# C8 u& v
8 t0 v, O# I6 L5 i9 t: m& L现在疑问的是,
* f# k& n- P/ P4 e; j机器应该是flash的分区有问题了,可以发现6个分区,但是挂载会失败,如果强行挂载,就会重启。) L( T4 {% s6 C7 l) g( i4 @
想尝试刷写nvram区来解决。2 A8 R8 p- @: U; v1 j9 p' R& n
但上面的那个网站给的方法不明了,没找到如何刷nvram来更新分区这些东西的地方。
, e* h% B$ [+ [; Q% v; t现在的进展就是这些8 m" X: A7 l" E) y7 f1 m& Y/ l
8 o" F6 g" H; [; f) \) Q$ N% ~! e
顺便说下* \0 X2 M+ L( p% d3 a
按音量键向上,插数据线,开机后,会进入恢复模式。
6 j6 ]9 ~7 g, d$ F- z# O" F0 P( i: E0 ~
如果通过novaterm来设置的话% B8 }/ c) R5 v6 S
diag boot命令/ V' V8 O0 o; R2 E  L2 K- Y
会进入工程机检测界面。
8 W0 j4 O  ]3 l5 A  Z7 {/ L手机会有0-8个选项,是检测屏幕,键盘,摄像头,触摸等几个选项,也蛮好玩的。
2 @7 A% f& k) b+ b) u大家可以实验下。

评分

参与人数 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 | 显示全部楼层
可能找到症结了,但是却没有个办法解决。
) S- B! W$ U' E/ u一般来说,webdoctor.jar在3%的时候,会运行ramdisk,一个虚拟盘,pre会挂载虚拟盘然后重启,再接着根据castle.xml的配置来刷机。
# B% N) k$ S8 V5 c' P& j但我这个pre,不知道为什么,挂载ramdisk重启后,貌似没有成功挂载,重启后又是反复重启。
. J" [9 L/ S; j6 t$ y  t* ~尝试wiki里提到的重建bootie,也成功了,但是只要刷机时重启,就挂载不上ramdisk
1 f: E& n9 R/ Y4 y
5 d! Q+ Z. h# e( T( BleftToWrite 0
4 u7 d) F, m: r$ ~; y. ?' ?. QJun 11, 2009 6:45:50 PM com.palm.nova.installer.recoverytool.CardController logPrint
! K- v$ c; f# V! RINFO: Loading Ramdisk: Booting3 Y7 i* ^4 ^" Z3 s

8 U. E- n! _) D8 r/ E0 |- c) h4 dupdate Loading Ramdisk506 @% c* k+ k: @
Jun 11, 2009 6:45:50 PM com.palm.nova.installer.recoverytool.CardController logPrint
: y; l8 ~  r" [! sINFO: Loading Ramdisk: Waiting for device to come back' T9 u- L+ |8 q7 H9 f- P$ a$ t+ q

* f. F5 J0 Q4 m9 jJun 11, 2009 6:46:08 PM com.palm.nova.installer.recoverytool.CardController logPrint: h) y; u; l- z
INFO: Loading Ramdisk: Ramdisk has booted!3 e' ^  }( T) ?) l7 l0 _
8 |  S9 U/ t9 `7 |& W: a
Jun 11, 2009 6:46:08 PM com.palm.nova.installer.recoverytool.CardController logPrint1 e+ W+ d/ n6 n3 P' ?) D7 H  I1 I
INFO: Finished: Loading Ramdisk* S: u8 j1 \+ S1 {7 \6 p

+ B- Q7 S' }6 b./) i. S* c; M# L) p6 G1 a
./BadSys.tga( @. B. G, I0 n5 j/ V
./BootLogo.tga
/ z- [# S4 w: l  Y6 [4 Z5 h+ ]./Charging.tga" N$ E6 {5 Q) u0 K8 D
./NoBatt.tga
. x* m1 F1 T7 H./NoPower.tga! e- _+ X$ @7 F& ?. F% {7 N3 t
./NoSys.tga  U4 K) O7 _6 ]3 K/ }* C
./Sync.tga
% i/ D# J) X2 E./Panic.tga! `! ^9 ?8 X5 ~# `& L0 l) W" b
./Disk.tga
) I$ V! l3 p& w1 B% }./boot-castle.bin
6 z0 g  l6 V* ]7 y6 p( ]2 o% I./castlecdma_evt1_fw.tar$ C7 d' s+ }; i( G$ R3 X9 u; [
./castleumtsfw.tar
" o" l$ M( P9 J+ P./castle.xml  L7 W# E) u* B% G( p: Z
Jun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint
$ ]0 I! U0 u% @8 W; b7 s* U; L2 hINFO: Starting: Trenchcoat
$ B" c+ g- a% I5 q& R2 G, O  J* M2 @8 i$ U9 _' M
Jun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint8 Y4 t8 Q6 Y1 S6 K3 q& i2 r
INFO: Trenchcoat: Starting /sbin/trenchcoat  M) o' Q2 L4 u9 v0 K* p+ |

8 V; ]" y1 p8 mJun 11, 2009 6:46:22 PM com.palm.nova.installer.recoverytool.CardController logPrint
2 k7 v( W, h' s$ x+ ~1 aINFO: Trenchcoat: Starting Stream Reader& j2 t' l9 F; M# `
/ \9 D: t+ ~( k8 X1 E
具体就是这个步骤卡住了。/ I5 K+ D0 N, n7 ^

) n7 O/ M2 {; Y% _其实到了这一步,只要你刷机不是反复重启,而是卡到palm界面上,那几乎是80%能够通过修改castle.xml来修复的。
, P$ D* t; u  Y) k0 n5 X至于我这种情况,暂时没有办法。
2 W3 r  t8 \5 u5 K5 _# V1 B4 _; i; S当时想通过novacom boot mem:// < nova-xxxxxxxxxxxxxxxxx.uimg  S2 `1 P+ ~/ @- X+ z
这样的方式手动挂载,虽然这样挂载,就不重启了,但是webdoctor不认啊,:-)* n8 }3 p% L% ~5 L4 v

! R, A) l- P" ]6 g抛砖引玉,几个大佬快来看看,讨论讨论
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-29 13:37 | 显示全部楼层
现在就是在找有没有手动分区的方法。7 |: D4 M+ G' S6 h% q5 V
原来的几个分区都没法读取,一读就重启,:-)
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-29 14:25 | 显示全部楼层
原帖由 freeworkzz 于 2010-11-29 13:54 发表 6 J, h% p3 E( @* {% s
用LVM手工重建一下所有的分区试试。。

* ?! f3 H$ a0 v4 q* I
4 \' A! o8 `9 S' W1 O1 v现在加载的是webos doctor自带的uimge  C& o+ O" m) N) r& i, t1 s% h9 A# H0 J

# l% B* M$ t" X0 i8 U4 `, U尝试
6 z; x2 k6 u  Y4 {( |root@palm-webos-device:/tmp# lvm.static pvscan* w# l1 e& d; E% i  x1 t
File descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh
3 q7 T3 p+ Z( {& ]! K  PV /dev/mmcblk0p3   VG store   lvm2 [15.27 GB / 16.00 MB free]% v: |4 u% ^" N5 P" V+ y. D
  Total: 1 [15.27 GB] / in use: 1 [15.27 GB] / in no VG: 0 [0   ]8 d  E2 A; W/ m. e6 n& P* Z
root@palm-webos-device:/tmp# lvm.static vgscan
4 z8 A% @1 }" A/ CFile descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh
/ ]. J- _* Y5 S2 r) _  Reading all physical volumes.  This may take a while...
0 O$ B& ?. J- N" z  Found volume group "store" using metadata type lvm26 D0 s4 ~2 c" N" q
root@palm-webos-device:/tmp# lvm.static lvscan  ]" G/ c: _. Z7 ]. o' D' d( u
File descriptor 3 (socket:[956]) leaked on lvm.static invocation. Parent PID 772: /bin/sh
; |1 w* Q9 N4 f/ F  ACTIVE            '/dev/store/root' [456.00 MB] inherit% S! n+ N( D3 b4 h/ Q/ d* A4 U6 H
  ACTIVE            '/dev/store/var' [256.00 MB] inherit
' ^/ E; k& X3 ~& p  ACTIVE            '/dev/store/update' [56.00 MB] inherit: o: b( N' s2 j6 D& K! y4 z: ]8 u
  ACTIVE            '/dev/store/log' [40.00 MB] inherit) l5 W/ P& U% K5 Y) v
  ACTIVE            '/dev/store/media' [14.34 GB] inherit
2 x& E- _4 u' ?" C, U- S; Z  ACTIVE            '/dev/store/swap' [128.00 MB] inherit
1 }# @: ~0 _7 A) z  [& h  o0 R# b2 \1 B: w# M) W. g
分区是能看到的,但是无法操作,只要操作就重启,只要能搞定分区,我感觉其他都没问题了。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-30 12:30 | 显示全部楼层
有这样一个修复的思路- c7 G4 {" f. C  u! l; b
现在可以7 }& `2 Y' A  ]- X; _9 d7 K# V
novatcom boot mem:// <nova-xxxxxxxxxxxxx.uimage; s  s. S9 `* o; v  Q
, w5 R* O- q4 {$ ]/ V* t; m
挂载一个ramdisk上去,正在找资料看能否定制一个uimage出来。! o( K6 O& K6 P$ C

' y6 ^  m5 d3 J0 y' `# D然后通过正常的pre,进入pre的后台
7 D/ y9 h& ~: ~" A运行* n8 ^+ l1 W: b2 \: e
d if=/dev/mmcblk0 of=/tmp/mbr.back bs=512 count=1
6 j( e$ Q" ?8 a7 ]$ B$ r/ h/ `备份出pre 正常的mbr镜像
. ]" q) F1 @5 E( ^- K$ H9 ~: K1 N  m* E6 c& K3 G+ B. N+ F
然后将这个mbr镜像打包到定制的uimage里
9 `, `' T7 K7 H1 B, P) k) S% i; B4 W8 {: j6 m
然后让砖头pre挂载这个uimage9 Q& I- t" q9 F3 E6 V" u* E- U' X

6 v0 n" @! }- F: J再dd mbr 到坏的pre里面。
" \4 d  Z0 g0 u; e. m( R* B# h
; [' O- c& G7 B7 z2 @% j; x现在在外面,没机会实验,如果uimge里有dd命令,哈哈哈哈,很有可能能恢复。
7 O# G( x$ N5 c: Q
# p9 F; N2 b) i8 M6 h理论上,也可以将rootfs分区也dd出来,其他都可以,只是不知道这个uimage大小有没有限制。
( e/ y# }- V5 q' g
- J- j- U# v' vpre有512m内存,理论上这个ramdisk大小可以设置的比较大吧。呵呵
5 Y) r/ Z" C  }& y# C' F$ |
, G: \9 p9 p& X( T3 h还没有实验,仅仅是想法,供大家参考。
4 T4 y( B1 H& z
6 w4 Q9 k6 q9 M" H) A0 R$ ^这几天有点走火入魔了。。哈哈哈啊哈哈和5 b* Y2 V/ U" ^1 G, `

2 `8 _% j1 s2 W[ Edited by netxport on 2010-11-30 12:33 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 15:51 | 显示全部楼层
以上猜想部分实现。
5 F9 [! C" `# K5 e* C* \可以上传ok的mbr文件上去,甚至其他分区的img文件。
2 D+ ]0 e& K9 A; U0 |6 e3 f但是老问题,dd回灌的时候,kernel出错,重启。老样子。
: i: {* |+ ~; Y# R& e; Q:-),这个就有点不知如何操作了。) X$ C+ k6 x' Z1 ?

/ @0 Y/ p, F) \不过现在通过dd把pre plus的磁盘从mbr到后面50m的拉了下来。
% P( r# O1 r6 W  F  C( F) j( ^6 k
, @  A1 Z. y# Z2 b; V- S7 F# o7 k不过不知道该怎么处理了。
回复 支持 反对

使用道具 举报

发表于 2010-11-30 16:56 | 显示全部楼层
ramdisk k包含了busybox和一些脚本,如果只是分区问题可以修复的# o4 S& U6 o# ?5 |+ `+ g4 y$ h8 G
需要kernel和ramdisk的话,我这里有
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-11-30 17:16 | 显示全部楼层
waooooooo,已经联系楼主了,现在只要kernel不崩溃,重新分区都无所谓的。/ B: Z( ]0 T! p# W% @! ]
哈哈哈,本来就是砖,怕什么
3 N, E- q+ W  w  \5 t5 q: ~/ P再说也有办法恢复boot.bin
, w# O7 ^1 U7 T应该问题不大
回复 支持 反对

使用道具 举报

发表于 2010-11-30 17:25 | 显示全部楼层
原帖由 netxport 于 2010-11-30 17:16 发表
; [0 Z6 g6 J0 n0 Cwaooooooo,已经联系楼主了,现在只要kernel不崩溃,重新分区都无所谓的。1 A) Q2 V! P# F1 r' r7 u1 ^
哈哈哈,本来就是砖,怕什么
' O* u/ x% u% }# x- i0 Q+ {再说也有办法恢复boot.bin
8 i7 X  U9 e8 w6 _7 _应该问题不大
- M: h2 _. c' ^+ g6 N% j
崩溃与否还真不好说,pre这机器没法远程gdb,很多时候崩溃的莫名其妙,就比如,你没法手动启动usbnet一样,已设置参数,马上崩溃。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 17:44 | 显示全部楼层
原帖由 woshithb123 于 2010-11-30 17:25 发表
8 e) ?' h) n2 K) j. x$ V$ ~/ E( m
+ Y- u% V$ {2 p$ ^  r3 K' J崩溃与否还真不好说,pre这机器没法远程gdb,很多时候崩溃的莫名其妙,就比如,你没法手动启动usbnet一样,已设置参数,马上崩溃。。
9 E: I  n" l2 p, v$ B5 q
恩,我现在也在纳闷,磁盘无法操作为什么kernel会崩溃呢,
( l- D9 Y4 e% b+ o4 i' k( Y2 n尝试国外有编译的什么fso的uimage,也无法引导。呵呵
4 @9 x2 _! A  a: \1 I如果能在工程模式下,那个DIAG write 不知道是做什么的,只知道DIAG boot 是启动一个小型的测试系统,如果能在这个模式下,重建分区的话,应该有戏,不知道工厂刷rom是采用什么工具还是什么模式。唉。
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2010-11-30 17:49 | 显示全部楼层
mmcblk0p1应该是bootloader部分
; t. O' K/ _: c' Q; rmmcblk0p2是放kernel的部分
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-12-4 16:20 | 显示全部楼层
再跟进一下+ a( x& n" G( D/ Z8 T3 S
经过测试,挂载ramdisk后! A- _! |; M: W8 O5 b
mount -o ro /dev/mapper/store-root /tmp # k- [' D3 e7 d1 l. V
设置只读挂载各个分区,可以正常挂载上。可以查看其他分区的内容。
( w( L% D2 Z: B0 Z! _+ x0 `但是如果设置mount 为rw
1 ^1 P! z) h* s5 [9 C7 T0 ~: `% skernel会崩溃。+ @  P& C& y) h' B: u( Y% B
不知到是哪里出的问题。难道是nand控制器有问题,只能读不能写?, X7 l1 o& Z: ]9 `8 P
不了接mount 为rw会涉及到那些底层操作哦。。4 |4 c/ U6 d$ p! ^

4 B( I/ a. R, 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-2-23 01:07 , Processed in 0.390870 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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