안드로이드 Platform : Porting / Devices / Source / CTS / TV / GMS 
안드로이드 4.4 Kitkat AOSP로 Nexus 5 (hammerhead) 빌드시 오류
작성자 lesmin
작성일 2013-11-22 (금) 15:18
ㆍ추천: 0  ㆍ조회: 13583      
IP: 211.xxx.61
4.4 Kitkat용 OEM binary 파일(드라이버 등)들이 최근 등록되었길래 AOSP 빌드를 해봤습니다.

git tag: android-4.4_r1.2
product: aosp-hammerhead_userdebug

그런데, 예전 Galaxy Nexus 때처럼, Camera 및 Multimedia 기능이 동작하지 않고 오류를 내뿜는군요..
혹시나해서 self-extractor로 순정롬에서 추출한 binary파일들로 빌드해도 마찬가지 현상이 발생합니다.

부팅후 Gallery App과 Camera App이 강제종료되어 버리고, external (sdcard) storage가 mount되어 있지 않습니다.
4.3 AOSP 빌드할 때와 다르게 설정해야 하는 부분이 생긴건지...

혹시 유사한 경험을 하셨던 분이나, 이미 해결하신 분 계시면 도움말씀 주시면 감사하겠습니다.



이름아이콘 lesmin
2013-11-26 14:18
자문자답입니다. fastboot로 flashing할 때, flashall 옵션으로 한꺼번에 올려야 하네요.
아마도 recovery 영역 및 sdcard영역 등 partitioning이 Factory Image와 AOSP Image가 다른가 봅니다. 이것 때문에 며칠 낭비했네요...
들풀 좋은 정보네요.. 11/26 23:12
   
이름아이콘 배우는자세
2013-12-03 14:16
안녕하세요? 구글링하다가 어떨결에 회원가입까지 하고 글 까지 올리네요. 저도 안드로이드4.4(넥서스5)를 빌드해서 포팅하고 잇는 작업을 해보고 잇는데요. 저는 aosp-hammerhead-eng  로 에러 없이 빌드를 해서 나온 이미지들을 fastboot
로 롬을 올려보니까 아예 부팅화면도 안뜨네요... ㅠ 부트로더는 들어가지구요.. git tag 도 같은 브랜치로 받앗는데요.. 안드로이드 공식홈피에 나온절차대로 햇는데..;; 혹시 다른 방법으로 하셧거나 원인을 알고계시다면 답변 부탁드리겠습니다..
   
이름아이콘 lesmin
2013-12-03 14:23
안녕하세요. 아래 사항들 확인해보세요.

1) vendor/ 폴더 생성 유무
http://source.android.com/source/building-devices.html 페이지에서 Obtaining proprietary binaries 절에 설명되어 있는 내용대로, 제조사별 드라이버 등 각종 파일들을 vendor/ 폴더에 생성해준 다음에, make를 하셔야 합니다.
넥서스5의 경우, https://developers.google.com/android/nexus/drivers#hammerheadkrt16m 에서 다운로드 받은 압축파일들(*.tgz)을 AOSP 빌드 root폴더에 풀어주시고(Windows환경도 상관없음), 풀려서 나온 Shell Script 파일들(*.sh)을 빌드 환경(Ubuntu Linux 등)에서 실행시켜주세요.
Vendor License 안내가 몇페이지 나오고(Space Bar로 넘김), I ACCEPT 라고 타이핑해주시면 됩니다.

2) fastboot flashall 명령어 수행
fastboot로 system, boot, userdata 등을 하나씩 올리면 제대로 partitioning이 안되었었습니다. (본 포스팅 올렸던 이유) Ubuntu Linux 환경에서 root 계정으로 fastboot 실행하시면서 fastboot -w flashall 을 호출해주셔야 제대로 partitioning 및 formatting이 됩니다.
   
이름아이콘 lesmin
2013-12-03 14:30
2)번 단계에서 flashall 명령이 듣지 않을 경우, 빌드환경 설정 시 호출했던 . build/envsetup.sh 명령을 한번더 호출해주세요. /out 폴더 및에 hammerhead 폴더까지의 path가 환경변수에 등록되어 있어야 fastboot flashall 명령이 동작합니다.
만약 Ubuntu Linux에서 넥서스5 USB연결 인식을 못한다면, Ubuntu Linux에서의 Android USB 인식 방법을 한번 해주셔야 합니다. http://source.android.com/source/initializing.html#configuring-usb-access 사이트를 참고하세요.
   
이름아이콘 lesmin
2013-12-03 14:34
3) vendor/ 폴더 업데이트
상기 1),2)번을 모두 제대로 하셨다면, 일단 AOSP롬으로 부팅도 되고 카메라 촬영도 될 겁니다.
그런데, 동영상 촬영이나 재생, USIM 인식이 안되신다면, vendor/ 폴더 내의 내용이 갖고 계신 hardware랑 맞지 않아서 발생하는 문제일 수 있습니다. 따라서, google 사이트에서 받은 OEM binary 파일 대신, 잘 동작하는 넥서스5에서 추출한 binary파일들로 대체가 필요합니다.
번거로우시겠지만, 순정 공장 롬으로 복구하신 다음, 잘 동작하는 OEM binary를 직접 추출하시기 바랍니다. http://roostertech.wordpress.com/2013/11/11/building-nexus-5-rom-from-aosp/ 사이트를 참조하세요. 이 방법으로 추출된 *.tgz 파일들을 1번 방법과 동일하게 설치해주시고 나서, 다시 빌드하시면 됩니다.
   
이름아이콘 배우는자세
2013-12-03 14:49
lesmin 님 정말 감사합니다. 혹시나 해서 flashall 로 로드하니까 성공했네요. vendor 관련된 스크립트 실행은 빌드 과정시에 제대로 해주었는데 폴더를 만들어야 된다는 것은 처음 알았습니다. 덕분에 많이 배우고 갑니다. 회원가입을 한 보람이 있네요. 또 하나 궁금한게 잇는데 ..
제가 지금은 다시 커널 빌드를 시도 하고 있는데요. 사실 넥서스 4 경우는 device 명칭이 mako 라서 소스를 받아서 별 무리 없이 햇는데 넥서스 5도 제조사가 넥서스4와 같은 LG 자나요? 공식홈피에서 같이 mako 버젼의 소스를 받아서 빌드를 해야되건가요??;; 다른 곳에 물어볼 곳이 없어서 여기다가 여쭤봅니다.
   
이름아이콘 lesmin
2013-12-03 15:04
kernel 빌드는 http://source.android.com/source/building-kernels.html 사이트를 참고하시고요, 일단 LGE사이트가 아니라 구글 사이트에서 받으시면 됩니다. 넥서스5는 msm(퀄컴칩)용 kernel을 받으면 된다고 나와 있네요. git clone https://android.googlesource.com/kernel/msm.git 로 받으시면 됩니다.
   
이름아이콘 배우는자세
2013-12-03 15:06
아 ~ 넥서스5도 msm kernel 을 받으면 되는 군요..! 감사합니다..^^
   
이름아이콘 엘카이저
2015-02-02 19:03
저도 회사업무 연장선상에서 ICS 4.0.4 를 Kitkat으로 업데이트 해 보려고 합니다.
lesmin 님에게 많이 배워야 겠군요.
   
이름아이콘 세봉아
2015-11-20 11:36
넥서스 5 커스텀롬 문의

http://elecs.tistory.com/59
상기주소에 관한 질문

안녕하세요,
넥서스 5(6.0)에다가 다운받은 안드로이드 롤리팝 소스를 직접 추가/수정 하여 빌드된 이미지를 올리려고 합니다
넥서스 5 cpu에 맞게 빌드 옵션을 추가해주는 방법을 찾던 중 들리게 되었습니다
질문이 있습니다
1.글의 내용 중 빌드한 PC(리눅스)에서 휴대폰 fastboot를 하지 않고, 저는 다른(windows) pc에서 fastboot 하는데, 상관없나요?
2. 1번에 이어서 빌드 pc(리눅스)가 아닌 다른 (windows)PC에서 제가 빌드하여 생성 된 (경로Lollipop/out/target/product/generic)/system.img 와 userdata.img 이미지파일만 넥서스 5에 fastboot으로 올리면 될까요?
   
 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
481 실제 단말(스마트폰) 기반 온라인 앱 테스트도구.. 이야봉 2017-05-31 253
480 [질문]안드로이드 kernel 버전 관련 md 2015-04-22 3651
479 Android Kernel Hacks(chapter 1 ~ 7) [9]+1 슬로우부트 2014-02-04 11883
478 Android testDroid 를 이용한 UI 자동화 테스트 소개.. [1] dlsdnd345 2014-01-10 5184
477 안드로이드 4.4 Kitkat AOSP로 Nexus 5 (hammerhead) 빌드시 .. [10]+1 lesmin 2013-11-22 13583
476 앱 템플릿 제공 서비스 ApplusForm 서비스를 소개합니다... 씨트린매니저 2013-08-21 4386
475 안드로이드 4.3 JellyBean MR2 Source Open 및 Galaxy Nexus B.. [1] lesmin 2013-07-31 7149
474 Exynos Overview for Android Phone or TV ... [1] 슬로우부트 2013-06-27 4530
473 usb accessory에서 video, audio도 지원되나요? 건슨신 2013-06-21 2857
472 Re..Android Kernel Hacks2 문서 [2] 슬로우부트 2013-05-13 4510
471 GMS 포함된 젤리빈 안드로이드 에물레이터 [2] gana쪼꼬렛 2013-03-30 3940
470 Re..Android Power Management 관련 보강 ... [8]+1 슬로우부트 2012-12-25 7750
469 GPL Source와 libc Library 를 통한 빌드 하늘끝사과 2012-12-12 5724
468 Jelly Bean BSP Porting Guide [5] 슬로우부트 2012-10-21 9038
467 현재 CTS 인증 등록에 관한 방법 문의 먹자몬스터 2012-08-24 4255
466 [문의]안드로이드 앱 탑재 [1]+3 심통 2012-08-10 3549
12345678910,,,31