본문 바로가기
언어 공부/Android

[Android] Nvidia Jetson Nano에 Android 올리기 (AOSP)

by 안다니. 2021. 1. 6.
반응형

https://github.com/antmicro/kvm-aosp-jetson-nano

 

antmicro/kvm-aosp-jetson-nano

Contribute to antmicro/kvm-aosp-jetson-nano development by creating an account on GitHub.

github.com

위의 예제 파일로 일을 진행했다.

 

내가 사용한 보드는 B01 보드이며, 결과를 먼저 말하자면 실패했다. 그래서 그 일련의 과정들을 여기에 남기기로 했다..

 

 

1.     https://github.com/antmicro/kvm-aosp-jetson-nano 홈페이지를 보며, AOSP 이미지를 먼저 생성

    1.1   이미지 파일을 생성하는 도중 Ninja Build 죽어버려 Build Success 실패 원인은 Out of memory ( Linux Swap              Disk 만들고 용량을 크게 늘려 원인 해결)

    1.2   AOSP Kernel Build 완료,

 

2.     https://github.com/antmicro/kvm-aosp-jetson-nano/blob/master/README_Jetson_Nano_BSP.md 보며, BSP,               Kernel Build target device flash

 

    2.1   Flash 하는 중, 동작이 멈춤

          2.1.1       예제에는 emmcflash 하지만, 현재 boardemmc가 존재하지 않음, 그래서 sd.confflash해서 문                         제 해결

 

    2.2   qemu-kvm 실행 실패

실패 화면

                     

  처음과 같이 KVM의 디렉토리를 찾을 수 없는 오류는 찾지 못했다 하지만 새로운 오류가 나타났으며, device arm_gic 초기화가 실패했다고 나왔다.

 

  KVM_CAP_IRQCHIPaarch64에서 VM을 시작하기 전에 호스트에 GIC 장치의 존재를 보고한다.

  오류가 난 이유는 호스트에서 GIC를 사용할 수 없기 때문이다. (Generic Interrupt Controller)

 

3.     Jetson Nano – qemukvm을 통해 가상 환경에서 안드로이드를 성공한 케이스 발견

    3.1   https://www.youtube.com/watch?v=42TRVCIR0nU 의 영상을 올린 사람을 Nvidia Developer 커뮤니티에서 보고 자료 수집. KVM 가상화가 Jetson nano에서 작동을 한다고 말했다.

 

    3.2   먼저 기존의 이미지로는 할 수 없으며, Custom을 해야 한다고 말하며, 그가 만든 Xubuntu를 다운로드해서, 이미 지를 flash

 

          3.2.1 설치 완료 후, 부팅이 되지 않음 -> 몇번의 반복 후 동작 -> Jetson Nano B01 (현재 사용하고 있는 Board)를 지원하는지 질문 -> 이 이미지는 A02 기준으로 만들어진 이미지, 수정할 필요가 있다고 한다. 그리고 qeum-kvm을 설치해서 가상화를 띄우려 했으며 오류 출력 결과는 위의 예제 1,2번과 동일했다.

 

반응형

3.3   테스트 결과

테스트 결과
테스트 결과

 

          

      위의 사진에는 a02-kvm.dtb가 존재한다. 이것이 위에서 의문을 품었던 kvm의 기능을 y로 해준 것이다.

하지만 이 글을 올린 개발자의 방법으로 했을 때, 부팅이 안된다. 그 이유는 현재 우리가 쓰고 있는 보드는 b00이며, b00-kvm.dtb는 존재하지 않기 때문이다.

 

가상화는 성공하지 못하고 테스트 종료.

 

반응형

git 화면

마찬가지로, 위의 1.1에서 예제 속 git에 들어가보면 아래와 같은 코드를 볼 수 있다.

 

          

 

  마무리 : 위의 예제 중, 1,2B01 보드 (현재 우리가 쓰는 보드), 그리고 실질적으로 돌아가는 영상이 있는 보드는 A02보드며,  B01으로 구성 변경을 했을 때, qemu-kvm이 돌아갈지는 미지수.

 

  부팅의 구성 변경(kernel custom)을 변경하고, 가상화를 통해 App을 실행 했을 때, 좋은 퍼포먼스를 낼 수 있게 구성할 수 있을지는 미지수

 

  여러 번의 시도 끝에 /dev/kvm에 폴더가 생겼지만, qemu-kvm은 실행하지 못했다. qemu-kvm 머신을 설정할 때, virt 즉 가상화 Virtaul Machine을 선택하는데, GIC를 사용할 수 없다고 나온다. 즉 가상화를 구성할 수 없다고 나온다.

 

반응형

댓글