Windows 환경에서 fastboot를 통해 Android 이미지 포팅(Fastboot in Windows 7)

 Linux 환경에서 안드로이드 운영체제를 컴파일 하다 보니 안드로이드 이미지 포팅을 Linux로만 하게 되다보니 Windows 환경에서는 어떻게 하면 되는지 궁금했었는데 마침 기회가 되어 포스팅을 하게 되었습니다. 이번 포스팅에서는 Windows 환경에서 안드로이드 커널 이미지를 fastboot를 통해 설치해 보도록 합니다.


안드로이드 기기 : LG NEXUS 5

빌드 버전 : KitKat 4.4.4(r2)

운영체제 : Windows 7 SP1


 포스팅을 시작하기에 앞서 안드로이드 운영체제를 컴파일하여 이미지를 얻어내는 과정은 이전에 설명드렸던 포스팅을 참조해 주시길 바랍니다.


안드로이드 프레임워크 프로그래밍(3) [NEXUS5에 소스 빌드하기]

http://elecs.tistory.com/59


  1. 컴파일을 통해 완셩된 안드로이드 운영체제 이미지를 얻어냅니다. 이는 아래의 경로에서 얻으실 수 있습니다.


~/kitkat/out/target/product/hammerhead/


위에서 확인하실 수 있는 이미지(img) 파일 5개와 android-info.txt를 가져옵니다.


2. Windows 환경에서 Android SDK가 설치되어 있어야 합니다. Android SDK Manager를 실행하여 최하단 메뉴에 있는 Google USB Driver를 설치합니다.



3. 환경번수를 설정해줍니다. 컴퓨터에서 마우스 우측 클릭후 '속성'을 클릭합니다.



4. '고급 시스템 설정'을 클릭합니다.



5. 시스템 속성에서 '고급' 탭을 선택한 후 '환경 변수'를 클릭합니다.



6. 환경변수 창에서 시스템변수(S) 내에 Path를 더블클릭합니다.




7. 변수 값의 뒷부분에 다음 값을 추가합니다.


C:\Program Files\Android\android-sdk\platform-tools;


※주의!!

 절대로 변수 값의 내용을 지우시면 안됩니다! 만약 실수로 변수 값을 덮어쓰셨다면 바로 취소 버튼을 누릅니다. 만약 기존의 환경변수를 덮어쓰기로 모두 삭제할 경우 연결된 프로그램들이 동작을 하지 못하게 되는 참사가 발생합니다!

 만약 실수로 덮어쓰기 후 확인 버튼을 눌러 변수가 지워지신 분들은 절대로 당황하지 마시고 제가 이전에 포스팅한 내용을 따라가며 원래 환경 변수값을 복구하시길 바랍니다.


[윈도7] 환경변수 path 삭제시 복구하는 방법 ← 클릭하시면 새창으로 이동합니다.


========================================================================================================


8. 이번에는 안드로이드 운영체제 이미지가 위치하는 경로를 설정합니다. 아래 화면에서 '새로 만들기(W)'를 클릭합니다.

 

 

9. 새 시스템 변수의 변수 이름은 'ANDROID_PRODUCT_OUT'로, 변수 값은 안드로이드 커널 이미지가 위치한 파일 경로를 입력합니다. 본 포스팅에서는 E:\ 디스크에 안드로이드 커널 이미지를 두었습니다.



10. 이로서 Windows 환경에서 안드로이드 기기에 운영체제 이미지를 포팅할 준비를 마쳤습니다. 자신의 기기를 Fastboot 모드로 설정한 후 USB로 연결합니다.



11. Windows 운영체제가 안드로이드의 Fastboot 상태를 인식하게 되면 '드라이버 소프트웨어 설치'를 진행합니다. 아래와 같이 'Andorid Bootloader Interface'가 사용 준비 완료가 되기를 기다립니다.



12. CMD 창을 열어 다음과 같이 입력합니다.


> fastboot flashall



 위와 같은 화면이 나온다면 여러분들은 Windows 환경에서 fastboot를 통한 이미지 설치를 완료한 것입니다!


  • 세봉아 2015.11.27 10:42 ADDR 수정/삭제 답글

    벽돌된 것을 넥서스 5에 순정롬(6.0) 올리면 잘 동작됩니다

    질문 있습니다
    현재 제가 사용 하는 넥서스 5에 올려져 있는 버전이 안드로이드 6.0(마시멜로) 입니다
    리눅스에서 빌드 한 소스는 안드로이드 5.1.1.r3(Lollipop) 입니다
    넥서스 5에 맞게 빌드하기 위해 필요한 바이너리 파일과 팩토리 이미지는 모두 넥서스 5 기기와 동일한 6.0(마시멜로)으로 받아주었습니다.
    이렇게 하여 위 게시물 대로 진행 하였는데 현재 결과는 구글 무한반복 현상(벽돌만4회) 입니다
    버전을 일관성 있게 모두 맞춰야하나요?
    버전은 상관 없다는 분이 계셔서

    구글링했지만 비슷한 상황은 안보이네요.
    조언 좀 얻을 수 있을까요?

    • Justin T. 2015.11.27 11:00 신고 수정/삭제

      가장 기본적인 것은 자신에게 해당되는 기기와 버전을 모두 일치시키는 것이 기본입니다.
      즉, 롤리팝으로 올리시려면 바이너리 파일과 팩토리 파일 모두 롤리팝으로 맞추어주셔야 합니다. 물론 버전도 일치해야 하고요.

      그리고 자신의 기기보다 낮은 버전의 안드로이드를 설치하게 될 경우 로딩만 무한반복되는 현상이 종종 발견됩니다. 이 경우 공장초기화를 해주시면 정상적으로 동작하는 경우가 있습니다. 이는 아래 포스팅을 참조해주시기 바랍니다.
      http://elecs.tistory.com/63

  • 세봉아 2015.11.27 15:22 ADDR 수정/삭제 답글

    지금 버전을 맞추어서 이미지 포팅을 다시 해보려고 합니다.

    http://elecs.tistory.com/63
    상기 링크 확인하였습니다.
    그리고 구글 무한반복 현상은 저도 공장초기화를 여러 번 해주었는데 저는 해결되지 않았습니다.
    다른 경우 일수도 있겠다는 생각이 듭니다