nexusupdater_exe.zip

NexusUpdater_src.zip

usb_driver.zip


앞서 "넥서스 S 젤리빈 순정롬 설치하기" 라는 글을 썼습니다.. 

별 다른 글은 아니고, 구글 펌웨어 다운로드 페이지에서 다운 받은 순정롬을 간단(?)하게 업데이트 하는 방법인데, 문제는 그 안에 배치 파일이 .sh 파일로 된 Unix 기반의 파일이라는 사실입니다. 
( 요즘 나오는 젤리빈용 업데이트 롬 파일안에는 .bat 파일이 있어서, 윈도우 에서도 실행 할 수 있습니다 ).

그리고 fastboot 과 같은 도구 같은 경우 안드로이드 SDK에서 뽑아내야 하는데, 그 작업도 이해가 안되는 경우 전혀 손도 못대고, 손댈 수 있다고 해도, 해당 도구만 다운 받기가 생각보다 어렵습니다.

또, 매번 페이지 접속해서 해당 압축 파일 받고, 압축 풀고, 배치 파일 실행하고 하는 그 일련의 작업도 귀찮긴 매한가지 였죠. ( 역시 이런 건 컴퓨터가....)

그래서 그냥 만들었습니다. ㅋ

프로그램 전체는 Visual Studio 2010 기반으로 해서 .NET Framework 2.0 기반으로 만들어져 있으며,
내부적으로 압축을 풀기 위해 ICSharpCode.SharpZipLib 라이브러리를 ( http://www.icsharpcode.net/opensource/sharpziplib )를 가져다 썼습니다.

주의 사항

0. USB 드라이버가 반드시 설치되어 있어야 합니다.

아래 댓글의 숭숭구리님께서 언급해주신 USB 드라이버 <- 이거 해결해 주셔야 합니다.

Nexus의 전원을 끈채로 연결 한 뒤에, 켤 때, 전원 + 볼륨 상 을 눌러 주셔야 합니다.
그러면 알 수 없는 장치로 인식되는 경우 Driver를 설치해 주셔야 합니다.

설치하는 방법은 http://mynexusone.tistory.com/1 에 방문하시면 쉽게 찾아보실 수 있습니다.
여기서는 Windows 7 x64 버전을 기준으로 간단하게 설명 드리겠습니다.

먼저, 상단에 위치한 usb_driver.zip 을 다운 받으시고 적당한 곳에 압축을 푸세요.
( http://www.hind.pe.kr/attachment/cfile28.uf@26341B4D51C122EA118B7D.zip )

이미 장치가 연결되어 있으면 하단 트레이에서 장치 연결 아이콘을 찾으세요.

아이콘 위에서 오른쪽 버튼을 누르면 메뉴가 뜨는데, 굵은색 표시가 된 부분을 클릭하세요.

그러면 장치 관리자가 뜨는데, 드라이버가 제대로 설치되어있지 않으면 Android 1.0 이런식으로 잡혀 있을 겁니다.

해당 아이콘에서 오른쪽 버튼을 눌러 속성에 들어가시기 바랍니다.

속성 창에서 상단에 있는 "하드웨어" 탭을 클릭하세요. 그리고 하단에 있는 속성 버튼을 클릭하세요.


그러면 드라이버에 대한 상세 창이 뜨는데, 하단에 있는 "설정 변경" 버튼을 한번 누르세요.


그러면 드라이버 업데이트 버튼이 활성화 됩니다.

이제 드라이버 업데이트 버튼을 클릭하세요.

드라이버를 찾는 방법에 대한 옵션을 선택하는 창이 뜨는데, "내 컴퓨터에서 드라이버 소프트웨어 찾기"를 선택하세요. 자동 검색을 하게 되면 윈도우즈 업데이트 사이트까지 뒤지는데, 의외로 시간이 너무 걸립니다.


경로를 묻는 창이 뜨는데, 직접 장치를 선택하겠다는 항목을 클릭하세요..

이제 장치 종류가 나오는 창에서 모든 장치 보기를 선택하세요.

드라이버 목록 창에서 이번에는 "디스크에서 찾기" 버튼을 클릭하세요.

이제 드라이버 파일 찾기 창이 뜨면 "찾기" 버튼을 클릭합니다.

아까 압축을 푼 드라이버 파일 위치까지 가면 android_winusb.inf 파일이 보이는데 그것을 선택합니다.

그리고 선택하고 나와서 확인 버튼을 클릭하면 다음과 같은 창이 뜹니다.

맨 위에 있는 Android ADB Interface를 선택하고 다음을 클릭합니다.

설치가 진행되면 이 드라이버가 올바른 드라이버인지 여부를 묻는 창이 뜨는데, 그냥 "네"를 선택하세요.
그리고 중간에 드라이버 확인이 또 들어가는데, "설치" 버튼을 클릭해주세요.

설치가 완료되면 이제 정상적으로 이 프로그램을 사용하실 수 있습니다.


1. Nexus S 에서만 테스트되었습니다.

애석하게도 필자는 이 프로그램을 만들 때 Nexus S로만 했습니다. 즉, Nexus Galaxy, Nexus 7 으로는 전~혀 테스트 안되어 있습니다. 테스트 가능하신 용자분들이 계시면 해보시고, 이상이 발견했을 때 저에게 말씀해주시면 업데이트 하도록 하겠습니다.

2. 휴대폰 내부가 완전 초기화 됩니다.

이거 중요한데요, 이 업데이트 방법을 취하면 기계가 완전히 초기화 됩니다. 진짜 완벽하게!
마치 공장에서 나온듯 깔끔하게 지워져서 초기화 됩니다. 만일 자신의 휴대폰에 중요한 자료가 있거나, 미처 백업해본적이 없는 경우 시도하지 마십시요... 커펌 올리다 벽돌 되거나 했으면 모르겠지만, 잘 사용하는 휴대폰을 가지고 단순히 업그레이드/다운 그레이드 한다고 설치하시면 나중에 피눈물 나옵니다. ( 미처 업로드 못한 사진 등등, 친구와 연인과 대화했던 목록들 등등. )

3. 롬 파일 다운 위치는 내 문서의 NexusUpdate 라는 폴더 입니다.

롭 업데이트 하기 전에 내 문서의 위치를 기준으로 용량이 얼마나 남았는지 확인하시고 진행하시기 바랍니다. 보통 롬 하나가 100~200 메가 안팎이고, 이것을 압축을 풀고 준비하게 되면 보통 3~500 메가 정도의 여유 공간이 있어야 합니다. 요즘은 대부분 테라 사이즈의 용량의 하드를 가지고 계셔서 큰 문제가 없을지 모르겠지만, 간혹 용량이 무척 부족하신 분들이 있습니다. 넉넉히 500메가 정도의 공간을 확보하시고 진행하시기 바랍니다.

꼭 내 문서 위치 입니다. ( 다른 위치를 잡으려 했으나, 윈도우 보안 문제등이 걸리는 경우 알 수 없는 오류들이 너무 많아서 다른 위치 설정은 안됩니다. ㅋ )

4. 인터넷과 연결되어야 합니다.

여기서 사용되는 모든 자료는 인터넷을 통해 받아옵니다.

먼저 ROM 파일 목록은 https://developers.google.com/android/nexus/images?hl=ko-KR 에서 직접 페이지를 읽어서 정리해서 표출 합니다. 그래서 만일 해당 페이지를 열 수 없는 경우에는 이 프로그램도 사용할 수 없습니다. 또한 페이지가 리뉴얼 되서 해당 내용을 추출하지 못하는 경우에도 사용할 수 없습니다. ( 만일 페이지 내용을 분석하지 못하는 경우 다시 업데이트를 해야 합니다. )

그리고 fastboot 과 같은 도구는 제 홈페이지 ( http://www.hind.pe.kr/attachment/cfile1.uf@031B7843507F91551911D4.zip )에서 다운로드 합니다. 만일 홈페이지 접속을 못해서 도구를 다운 받지 못하면 역시 이 프로그램을 사용할 수 없습니다;;;;

5. ROM 파일을 너무 많이 다운 받지는 마세요.

ROM 파일을 다운 받아 놓으면, 이 프로그램을 실행할 때, 해당 파일이 원본인지 여부를 확인하기 위해 Check-Sum이라는 작업을 합니다. 이 경우 모든 ROM 파일에 대해서 검사를 하게 되는데, 이게 은근 시간을 잡아 먹습니다. ( 100~200 메가 짜리 파일을 일일히 열어 모두 합산을 한 뒤, 값을 얻어오는 작업이다 보니... )

내문서\NexusUpdate 폴더 안에서 불필요한 롬 파일들과 하위 폴더들은 모두 삭제하시고 진행하세요.

 

사용법

먼저 프로그램을 실행하면 다음과 같은 화면이 뜹니다.

콤보 박스가 두개 있는데, 하나는 제품별 필터 기능이고 두번째는 그 제품에 속한 롬들을 나타납니다. 현재 펌웨어 다운로드 페이지에 가면 아래와 같은 제품들만 제공한다. 그래서 아래와 같은 화면이 뜹니다. 업데이트할 폰의 제품명을 선택하시면 됩니다.

해당 제품을 선택하면 그에 한정된 롬들 목록을 보여줍니다..

아래의 그림은 Nexus S 목록인데, Nexus S 제품이나 지역별 롬들이 모두 표시됩니다. (우리나라에서 출시된 Nexus S의 경우 4G와 850Mhz version은 없으므로, 반드시 Korean Version 이나 Worldwide version을 사용하셔야 합니다.)

적절한 제품과 롬을 선택했으면 이제 해당 제품의 롬을 다운 받습니다.

다운 받는 법은 제품 목록 밑에 위치한 다운로드 버튼을 누르면 됩니다.

그러면 자동으로 펌웨어 페이지에서 다운로드를 하고, 압축까지 푼다. 진행 정보는 아래의 로그 창에 찍힙니다.

어설픈 마법사 화면이지만, 다운로드와 압축 풀기가 정상적으로 끝나면
업데이트를 하기 위한 다이얼로그가 자동으로 뜹니다.
맨 처음에는 fastboot 화면으로 들어가도록 요청하는 화면입니다.

여기서 fastboot 화면이란, Nexus 폰의 일종의 관리 화면으로 굳이 컴퓨터로 말하자면 BIOS 설정 화면 같은 것입니다. 넥서스 S를 기준으로 보면 볼륨 UP 버튼을 누른 상태로 전원을 켜면 나오게 됩니다. ( 다른 제품은 모르겠습니다 ^^)

Fastboot 화면에 들어온 것을 확인했다면 '다음'을 클릭하세요.

다음 화면은 Lock을 푸는 화면입니다. 보통 별도 펌웨어 작업을 해본적이 없다면 대개의 폰에는 Lock이 걸려 있습니다. 이것을 해제해야 fastboot을 이용한 펌웨어 업데이트가 가능합니다. Unlock을 하려면, "Yes"를 선택해야 하는데, 터치는 안되고, 볼륨 조절 버튼을 눌러서 "Yes"를 선택한 뒤에 전원 버튼을 눌러주면 Unlock이 됩니다.

만일 Lock이 걸려 있지 않으면 이 화면이 잠깐 보였다가 다음 업데이트 화면이 뜰겁니다.

자 그럼 이제 모든 업데이트 준비는 완료되었습니다.

'다음' 버튼을 누르고 휴대폰을 보면서 업데이트가 잘 되고 있는지만 가만히 보시면 됩니다.
(이 때 가급적이면 다른 동작은 자제하시기 바랍니다. 심심하시다고 웹 브라우징 하거나 게임 하시거나 이러면 업데이트가 실패할 수 있습니다. )

보통 업데이트 내용은 휴대폰 맨 아래 쪽에 영어로 된 글이 보이는데, 그 내용에 변화가 있으면 됩니다. 업데이트 중에는 자동으로 휴대폰이 껐다 켜집니다.

마지막으로 Lock 하는 화면이 나옵니다.
보통 위의 업데이트 과정을 거치면 자동으로 업데이트한 버전으로 부팅이 완료되기 때문에, 자동으로 Lock을 거는 것은 어렵습니다. 그러므로 수동으로 다시 fastboot 화면으로 들어가야 합니다.

물론 unlock 상태에서 계속 사용할 예정이면 무시하셔도 무방합니다.

휴대폰을 재부팅 한뒤, 앞에서 제시한 내용 처럼 Fastboot 화면을 띄웁니다.
FastBoot 화면이 떴으면 '다음'버튼을 누르면 됩니다. 그러면 자동으로 Lock을 걸고 휴대폰을 Reset 합니다.

이제 프로그램 종료하시면 됩니다.

 

정리

정상적인 상황에서의 사용은 큰 문제가 없을 것입니다.
하지만, 모든 사람이 똑같은 환경에서 사용하리라 생각되지는 않습니다.
Windows XP에서 실행하시는 분, Vista에서 실행하시는 분, 심지어는 8에서 실행하실 수도 있겠죠.
x86이면 모르겠지만, x64의 경우도 있을 것이며, USB 2.0 이 아닌 1.0 혹은 3.0일 수도 있습니다.

애석하게도 각 케이스별로 모두 테스트한 프로그램은 아니기 때문에, 오류가 발생할 수 있습니다.

오류가 발생했다면, 내 문서\NexusUpdate 폴더 안에 .Log 파일이 있는데, 그 파일을 저에게 알려주시면 됩니다. 그 내용을 비밀 댓글을 통해서 알려주시면 됩니다.

개발된 모든 소스와 프로그램은 Open 되었으며 여기서 다운로드 받으실 수 있습니다.
(나중에 Source는 네이버 오픈 소스 사이트에 올릴 예정입니다. )

728x90

+ Recent posts

728x90