아이팟터치 2.0을 해킹해서 잘 사용하고 있었습니다.

Aurora Feint 게임 도중 홈화면으로 튕겨나가기를 수차례...
항상 이렇게 게임 도중 튕겨나가면, 강제로 끄고, 리부팅을 하였습니다.
(백그라운드에서 계속 Aurora가 실행중이어서 리부팅했습니다.)

그런데, 한번은 튕겨 나간후에 게임소리가 안나길래 리부팅을 하지 않고 사용하다가 복구모드로 되어버렸습니다.
(평소에는 튕겨나가도 게임소리가 계속 나더군요)

복구모드이니, 마음 편히 복구를 해주었습니다
이때까지만해도 무한복구모드에 빠진건지도 몰랐습니다.
무한리셋도 아니고 무한복구모드라니....

2.0 순정으로 돌아왔고, 다시 해킹을 해서 커펌을 설치하고, 기타 어플을 설치하고...
그런데, 얼마 안있다가 다시 리셋되고 복구모드로 되더군요.
이때까지만 해도 원인을 알 수 없었습니다.

심지어는 2.0 순정으로 돌아와도 계속 무한복구모드입니다.

무한 복구모드란, USB를 연결하라는 화면이 뜨는 일인데요.
PC에 연결하고 복구하고 USB를 연결한채로 있으면 정상적이지만,
USB를 제거하는 순간 다시 아이팟터치가 리셋되고 복구모드로 변동하는 상태입니다.


복구모드 화면을 강제로 끄고, USB연결을 하면 정상적으로 부팅이 되고 사용도 가능합니다.
그러나, USB를 제거하면 화면이 멈추고 역시나 리셋되고 무한복구모드입니다.

아무리 펌웨어를 다시 설치해도 소용없습니다.
- 펌웨어 1.1.4
- 펌웨어 2.0
- 펌웨어 2.0.1
- 펌웨어 2.0 해킹
모든 펌웨어를 한 50번도 넘게 설치해 보았지만, 해결할 수 없었습니다.

해외사이트를 포함해서 열심히 구글링을 해 보았지만,
Stuck in recovery mode 로 외국에서도 이런 상태에 빠진 분들이 있더군요.
그러나, DFU도 소용없고 별의 별짓을 다해보았지만 해결되지는 않더군요.

이렇게 되다보니 펌웨어의 문제라기보다는 시스템상의 부트로더나 어떤 값이 변경되어 있는듯 했습니다.
그래서 기억 난 NVRAM....

nvram 은 pc의 CMOS와 비슷한 부팅 관련된 셋팅값을 저장하고 있습니다.
아이팟터치에 두개의 OS버젼을 설치할 수도 있는데,
아이팟터치의 파티션을 나누고, OS를 설치한 뒤
이때 NVRAM에서 부팅되는 파티션값을 변경해서 두개의 OS를 사용할 수 있습니다.

putty 접속후 nvram -p라고 쳐보면 현재 nvram의 셋팅값을 볼 수 있습니다.
nvram 의 boot-args의 값을 변경하면 vervose모드로 부팅시 애플로고대신 명령어들이 쭉 올라가며 부팅되는 모습을 볼 수 있습니다.

Jess:~ root# nvram -p
backlight-level 28
bootdelay       0
obliteration    Enabling auto boot
platform-uuid   %00%00%00%00%00%00%10%00%80%
00%00%1dO"%80%f9
auto-boot       true
boot-args

Jess:~ root# nvram -h
nvram: (usage: no such option as -h)
nvram [-x] [-p] [-f filename] [-d name] name[=value] ...
        -x         use XML format for printing or reading variables
                   (must appear before -p or -f)
       -p         print all firmware variables
        -f         set firmware variables from a text file
        -d         delete the named variable
        -c         delete all variables
        name=value set named variable
       name       print variable
Note that arguments and options are executed in order.


그러나, 본인이 하는 행위가 뭔지 잘 모른다면 NVRAM은 절대 건들지 마십시요.

그리고, 무한 복구 모드의 문제는 NVRAM쪽은 아닌거 같았습니다.
특별히 제가 셋팅할 만한 것도 없고 보이는 것도 정상적으로 보였습니다.

그러면, 남은것은 부트로더인데...
부트로더는 장비가 부팅시 OS 즉 펌웨어를 불러오는 역할을 합니다.
아이폰과 달리 아이팟터치는 부트로더에 대한 정보가 별로 없었습니다.
부트로더를 다운받을 수도 없었구요.

마지막으로 알게된 Ziphone의 강제 Normal 모드 였습니다.
2.0 상태에서 Ziphone 3.0을 실행해서,
Advanced Features를 열면, DFU mode, Recovery mode, Normal 모드라는 아이콘이 있습니다.
이 버튼들의 기능은 강제로 아이팟터치의 부팅모드를 변경하는 것입니다.

iTunes가 실행된 상태에서, USB 연결후, Ziphone의 Normal 모드를 클릭했습니다.
Ziphone의 Normal 모드 진행은 일단 Recovery 모드로 갔다가 Normal 모드로 부팅을 하더군요.

제가 잘 못한건지 모르지만, 2.0에서 잘 안되었습니다.
그래서, iTunes을 7.5로 버젼을 낮추고, 아이팟터치는 1.1.4로 다운그레이드 했습니다.

다운그레이드된 순정 1.1.4도 계속 무한 복구 모드.

Ziphone 3.0에서 다시 한번 Normal 모드를 실행했습니다.
복구모드->리부팅 Normal모드가 되는 동안 가만히 기다렸습니다.

Started process ziphone.exe with argument: -N
   ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
   ZZZZZZZZ                ZZZZZZZZZZZZ
   ZZZZZZ                ZZZZZZZZZZZZ   
   ZZZZ                ZZZZZZZZZZZZ     
   ZZ               ZZZZZZZZZZZZ        
   ZZ             ZZZZZZZZZZZ           
              ZZZZZZZZZZZ               
           ZZZZZZZZZZ                ZZ
        ZZZZZZZZZZZ                ZZZZ
     ZZZZZZZZZZ                  ZZZZZZ
   ZZZZZZZZZZZZ                ZZZZZZZZ
 ZZZZZZZZZZZZ              ZZZZZZZZZZZZ
 ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
                                        
          ZiPhone 3.0 by Zibri          
         http://www.ziphone.org         

Checking ZiPhone integrity...
Searching for iPhone...
Entering recovery mode.
Rebooting in normal mode...
Done!


리부팅된, 아이팟터치를 USB에서 제거하고, 이리 저리 만져보았습니다.

감격!!!
드디어 지긋지긋한 무한 복구 모드에서 탈출했습니다.

정말 깨끗하게 모든것이 해결된것인지, 아직 좀 걱정스럽지만, 일단 복구모드는 정지되었네요.

1.1.4인데 다시 2.0으로 가긴 가야할텐데, 한번 된통 당하고나니, 덜덜덜....

수정 : 복구한지 하루만에 다시 원점으로 돌아왔습니다. 다시 무한 복구모드네요, 복구에 실패했습니다.
         이제 남은건 AS뿐이네요. 에혀..

+ Recent posts