Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

참조 보드 사용

Android 오픈소스 프로젝트(AOSP) 빌드 및 관련 하드웨어별 바이너리를 사용하여 Nexus 및 Pixel 기기용 빌드를 작성할 수 있습니다. 사용 가능한 Android 빌드 및 대상 기기는 소스 코드 태그 및 빌드를 참조하세요.

모바일이 아닌 구성요소 공급업체가 드라이버를 개발하여 Android 버전으로 포팅할 수 있도록 설계된 DragonBoard 845cHiKey 960 Android 참조 보드용 빌드를 작성할 수도 있습니다. 참조 보드를 사용하면 업그레이드 작업을 간소화하고, 새로운 Android 기기의 출시 기간을 단축하며, ODM/OEM 업체가 호환되는 다양한 구성요소를 선택할 수 있도록 하여 기기 비용을 낮추고 구성요소 공급업체 간의 혁신 속도를 높일 수 있습니다.

Google에서는 DragonBoard 845cHiKey 960 Android 참조 보드를 지원합니다. AOSP는 이러한 보드용 커널 소스 및 보드 지원을 제공하므로 개발자는 주변기기 드라이버를 쉽게 생성 및 디버깅하고 커널을 개발하며 OEM 방해가 적은 다른 작업을 처리할 수 있습니다.

DragonBoard 845c

DragonBoard 845c는 RB3 플랫폼의 일부로 96boards.org에서 사용할 수 있습니다.

Dragonboard 이미지

그림 1. DragonBoard 845c

사용자 공간 컴파일

다음 명령어를 사용하여 DragonBoard 845c에서 Android를 다운로드하고 빌드합니다.

  1. Android 소스 트리 다운로드:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. 빌드:

    . ./build/envsetup.sh
    lunch db845c-userdebug
    make -j24
    

로컬 이미지 설치

  1. db845c를 빠른 부팅 모드(Fastboot mode)로 부팅합니다(DragonBoard 복구 참조).

  2. 다음 명령어를 실행합니다.

    ./device/linaro/dragonboard/installer/db845c/flash-all-aosp.sh
    

또는 db845c를 USB 플래시 모드로 부팅한 후 다음 스크립트를 실행하여 QDL 보드 복구를 실행할 수 있습니다.

./device/linaro/dragonboard/installer/db845c/recovery.sh

ci.android.com의 이미지 플래시

flash.android.com을 사용하여 ci.android.com에서 편리하게 최신 AOSP 빌드 아티팩트를 테스트할 수 있습니다. 시작하기 전에 빌드해야 할 필요는 없지만 AOSP에서 최신 부트로더로 DragonBoard 845c를 플래시해야 합니다.

  1. 웹브라우저에서 flash.android.com으로 이동합니다.

  2. Get Started를 클릭한 후 1단계를 건너뜁니다(기기가 이미 개발자 모드이므로).

  3. available에서 DragonBoard 845c(db845c)를 찾습니다. 표시되지 않으면 + Add new device를 클릭한 후 목록에서 Android gadget 또는 Android device를 선택합니다.

  4. DragonBoard 845c(db845c)를 선택합니다.

  5. Select a build ID를 클릭한 후 최신 빌드를 선택합니다.

  6. Install을 클릭합니다.

  7. 나머지 안내에 따라 완료한 후 보드가 플래시되는 동안 기다립니다.

축하합니다. 이제 DragonBoard 845c에서 최신 AOSP 빌드가 실행됩니다.

커널 빌드

DragonBoard db845c Android GKI(Generic Kernel Image) 커널 아티팩트를 빌드하는 방법은 다음과 같습니다.

  1. 다음 명령어를 실행하여 커널 소스 및 사전 빌드된 Android 도구 모음과 빌드 스크립트를 복사합니다.

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
    repo sync -j8 -c
    rm -rf out
    BUILD_CONFIG=common/build.config.db845c ./build/build.sh
    
  2. ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/의 객체를 모두 삭제한 후 out/android-mainline/dist/에서 ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/으로 빌드 아티팩트를 복사하고 다음을 사용하여 사용자 공간을 다시 빌드합니다.

    make TARGET_KERNEL_USE=mainline -j24
    

    그런 다음 새로운 커널로 기기를 플래시합니다(사용자 공간 컴파일 참조).

  3. 다음과 같이 GKI 커널을 테스트합니다.

    1. 최신 kernel_aarch64 빌드를 확인합니다.

    2. 아티팩트에서 Image.gz를 다운로드한 후 ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/으로 복사합니다.

    3. 기기를 새로운 커널로 빌드하고 플래시합니다(사용자 공간 컴파일 참조).

HiKey 960 보드

HiKey 960 보드는 Amazon 및 Lenovator에서 제공됩니다.

HiKey 960 보드 이미지

그림 2. Lenovator의 HiKey 960 보드

사용자 공간 컴파일

다음 명령어를 사용하여 HiKey 960 보드에서 Android를 다운로드하고 빌드합니다.

  1. Android 소스 트리 다운로드:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. 빌드:

    . ./build/envsetup.sh
    lunch hikey960-userdebug
    make -j24
    

초기 이미지 설치

  1. 스위치 3을 켜서 빠른 부팅 모드(Fastboot mode)를 선택합니다. 자세한 내용은 HiKey 960 시작 가이드를 참조하세요.

  2. 보드 전원을 켭니다.

  3. 다음과 같이 초기 이미지를 플래시합니다.

    cd device/linaro/hikey/installer/hikey960
    
  4. 스위치 3을 끄고 보드의 전원을 껐다 켭니다.

이미지 플래싱

  1. 스위치 3을 켜서 빠른 부팅 모드로 전환합니다.

  2. 다음 명령어를 실행하여 이미지를 플래시합니다.

    fastboot flash boot out/target/product/hikey960/boot.img
    
  3. 스위치 3을 끄고 보드의 전원을 껐다 켭니다.

커널 빌드

HiKey960 Android GKI 커널 아티팩트를 빌드하는 방법은 다음과 같습니다.

  1. 다음 명령어를 실행합니다.

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b android12-5.4
    repo sync -j8 -c
    rm -rf out
    BUILD_CONFIG=common/build.config.hikey960 build/build.sh
    
  2. ${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/의 모든 객체를 삭제한 다음 out/android12-5.4/dist/의 커널 빌드에서 ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/로 빌드 아티팩트를 복사합니다.

  3. DTB를 연결합니다.

    cat device/linaro/hikey-kernel/hikey960/5.4/Image.gz
    device/linaro/hikey-kernel/hikey960/5.4/hi3660-hikey960.dtb  >
    device/linaro/hikey-kernel/hikey960/5.4/Image.gz-dtb
    
  4. Android 사용자 공간을 빌드합니다.

    lunch hikey960-userdebug
    make TARGET_KERNEL_USE=5.4 HIKEY_USES_GKI=true -j24
    

    그런 다음 새로운 커널로 기기를 플래시합니다(사용자 공간 컴파일 참고).

  5. GKI(Generic Kernel Image) 커널을 테스트합니다.

    • 최신 kernel_aarch64 빌드를 확인합니다.

    • 아티팩트에서 Image 파일을 다운로드하고 ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/에 복사합니다.

    • 이미지를 압축하고 DTB를 연결합니다.

    gzip ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image
    cat ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image.gz
    ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/hi3660-hikey960.dtb  >
    ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image.gz-dtb
    

일련번호 설정

임의의 일련번호를 설정하려면 다음을 실행합니다.

  fastboot getvar nve:SN@16\_DIGIT\_NUMBER

부트로더는 생성된 일련번호를 androidboot.serialno=를 사용해 커널로 내보냅니다.

모니터 해상도 설정

device/linaro/hikey/hikey960/BoardConfig.mk 매개변수 BOARD_KERNEL_CMDLINE을 수정하고 video 설정을 구성합니다. 예를 들어 24인치 모니터의 설정은 video=HDMI-A-1:1280x800@60입니다.