최근 사용

Android 기기에는 부팅 프로세스에서 다양한 기능을 제공하는 여러 파티션이 있습니다.

표준 파티션

  • boot 파티션. 이 파티션에는 mkbootimg 를 사용하여 결합된 커널 이미지와 램디스크 이미지가 포함되어 있습니다. 가상 파티션을 사용하여 새 부팅 파티션을 플래싱하지 않고 직접 두 이미지를 플래싱할 수 있습니다.

    • 핵심. 가상 kernel 파티션은 이전 커널 이미지 위에 새 커널 이미지를 작성하여 커널( zImage , zImage-dtb dtb , Image.gz-dtb )을 덮어씁니다. 제공된 개발 커널이 호환되지 않는 경우 연결된 커널 모듈로 vendor , system 또는 dtb 파티션(있는 경우)을 업데이트해야 할 수 있습니다.

    • 램디스크. 가상 ramdisk 파티션은 이전 ramdisk 이미지 위에 새 ramdisk 이미지를 기록하여 ramdisk를 덮어씁니다.

    덮어쓰기 작업은 eMMC에서 기존 이미지의 시작 위치를 결정하고 새 이미지를 해당 위치에 복사합니다. 새 이미지(커널 또는 램디스크)가 기존 이미지보다 클 수 있습니다. 공간을 만들기 위해 부트로더는 이미지를 따라 데이터를 이동하거나 오류와 함께 작업을 중단할 수 있습니다.

  • system 파티션. 이 파티션에는 Android 프레임워크가 포함되어 있습니다.

  • odm 파티션. 이 파티션에는 SoC(시스템 온 칩) 공급업체 BSP(보드 지원 패키지)에 대한 ODM(Original Design Manufacturer) 사용자 지정이 포함되어 있습니다. 이러한 사용자 지정을 통해 ODM은 SoC 구성 요소를 교체하거나 사용자 지정하고 하드웨어 추상화 계층(HAL)에서 보드별 구성 요소, 데몬 및 ODM 관련 기능에 대한 커널 모듈을 구현할 수 있습니다. 이 파티션은 선택 사항입니다. 일반적으로 장치가 여러 하드웨어 SKU에 대해 단일 공급업체 이미지를 사용할 수 있도록 사용자 지정을 포함하는 데 사용됩니다. 자세한 내용은 ODM 파티션 을 참조하십시오.

  • odm_dlkm 파티션. 이 파티션은 ODM 커널 모듈을 저장하는 데 사용됩니다. ODM 커널 모듈을 odm_dlkm 파티션( odm 파티션과 반대)에 저장하면 odm 파티션을 업데이트하지 않고도 ODM 커널 모듈을 업데이트할 수 있습니다.

  • recovery 파티션. 이 파티션은 OTA 프로세스 중에 부팅되는 복구 이미지를 저장합니다. 원활한 업데이트 를 지원하는 장치는 복구 이미지를 부팅 이미지(별도의 이미지가 아닌)에 포함된 램디스크로 저장할 수 있습니다.

  • cache 파티션. 이 파티션은 임시 데이터를 저장하며 장치가 원활한 업데이트를 사용하는 경우 선택 사항입니다. 캐시 파티션은 부트로더에서 쓸 수 있어야 하는 것은 아니지만 지울 수 있어야 합니다. 파티션 크기는 장치 유형과 userdata 공간의 가용성에 따라 다릅니다. 일반적으로 50MB–100MB이면 충분합니다.

  • misc 파티션. 이 파티션은 복구 파티션에서 사용되며 4KB 이상입니다.

  • userdata 파티션. 이 파티션에는 사용자 지정 데이터를 포함하여 사용자가 설치한 앱과 데이터가 포함됩니다.

  • metadata 파티션. 이 파티션은 장치가 메타데이터 암호화 를 사용할 때 메타데이터 암호화 키를 저장하는 데 사용됩니다. 크기는 16MB 이상입니다. 암호화되지 않고 데이터가 스냅샷되지 않습니다. 장치가 공장 초기화되면 지워집니다. 이 파티션의 사용은 엄격하게 제한됩니다.

  • vendor 파티션. 이 파티션에는 AOSP에 배포할 수 없는 바이너리가 포함되어 있습니다. 장치에 독점 정보가 포함되어 있지 않으면 이 파티션을 생략할 수 있습니다.

  • vendor_dlkm 파티션. 이 파티션은 공급업체 커널 모듈을 저장하는 데 사용됩니다. 공급업체 커널 모듈을 공급업체 파티션과 반대되는 vendor_dlkm 파티션에 저장하면 vendor vendor 파티션을 업데이트하지 않고도 커널 모듈을 업데이트할 수 있습니다.

  • radio 파티션. 이 파티션에는 라디오 이미지가 포함되어 있으며 전용 파티션에 라디오 관련 소프트웨어가 포함된 라디오가 포함된 장치에만 필요합니다.

  • 파티션을 tos . 이 파티션은 Trusty OS의 바이너리 이미지를 저장하며 장치에 Trusty가 포함된 경우에만 사용됩니다. 자세한 내용은 TOS 파티션 을 참조하십시오.

동적 파티션

Android 11 이상을 실행하는 기기는 OTA(무선 업데이트) 업데이트 중에 파티션을 생성, 크기 조정 또는 파괴할 수 있는 Android용 사용자 공간 파티션 시스템인 동적 파티션을 지원할 수 있습니다. 자세한 내용은 동적 파티션 을 참조하십시오.

중요한 파티션 지정

장치에서 특정 파티션이나 데이터를 실행해야 하는 경우 해당 파티션/데이터를 완전히 보호되거나 재 fastboot oem 가능으로 지정해야 합니다. 여기에는 장치별 공장별 설정, 일련 번호, 보정 데이터 등과 같은 데이터가 포함됩니다.

Android 11의 변경 사항

Android 11에는 라이브러리 및 새로운 Soong 이미지 변형에 대한 연결 제한을 포함하여 파티션에 대한 수많은 변경 사항이 포함되어 있습니다.

안드로이드 파티션 레이아웃

그림 1. Android 11의 파티션 레이아웃

  • 단일 시스템 이미지(SSI). systemsystem_ext 이미지를 포함하는 새로운 개념적 이미지입니다. 이러한 파티션이 대상 장치 세트에 공통인 경우 해당 장치는 SSI를 공유하고 systemsystem_ext 이미지 빌드를 건너뛸 수 있습니다.

  • system_ext 파티션. system 리소스를 사용할 수 있고 다음과 같은 시스템 모듈을 포함할 수 있는 새 파티션:

    • system 파티션에서 AOSP 시스템 모듈을 확장합니다. 이러한 모듈을 AOSP로 업스트림하여 나중에 system 파티션에 설치할 수 있도록 하는 것이 좋습니다.

    • OEM 또는 SoC 관련 모듈을 번들로 제공합니다. product 또는 vendor 파티션에 설치할 수 있도록 이러한 모듈의 번들을 해제하는 것이 좋습니다.

  • system 파티션. OEM 제품에 사용되는 공통 시스템 이미지입니다. AOSP로 업스트림하거나 system_ext 파티션으로 이동하여 독점 모듈을 system 파티션 밖으로 옮기는 것이 좋습니다.

  • product 파티션. 이 파티션은 이제 허용된 인터페이스를 사용하여 다른 파티션과 번들로 제공되지 않는 제품별 모듈을 설치할 수 있습니다.

VNDK 변경

VNDK(Vendor Native Development Kit)system 파티션에 설치되고 공급업체가 HAL을 구현하도록 독점적으로 설계된 라이브러리 집합입니다.

  • Android 10 이하에서 vendor 파티션은 system system 의 다른 라이브러리에는 연결할 수 없습니다. product 파티션의 기본 모듈은 system 파티션의 모든 라이브러리에 연결할 수 있습니다.

  • Android 11 이상에서 productvendor 파티션은 system system 의 다른 라이브러리에는 연결할 수 없습니다.

숭 제품 변형

Soong 빌드 시스템은 이미지 변형을 사용하여 빌드 종속성을 분할합니다. 기본 모듈( /build/soong/cc )은 시스템 프로세스 모듈을 핵심 변형으로, 공급업체 프로세스 모듈을 공급업체 변형으로 변경할 수 있습니다. 한 이미지 변형의 모듈은 다른 이미지 변형의 다른 모듈에 연결할 수 없습니다.

  • Android 10 이하에서는 시스템 모듈이 자동으로 핵심 변형을 생성합니다. 또한 Android.bp 파일에서 vendor_available: true 를 정의하여 공급업체 변형을 만들 수도 있습니다. 이를 통해 공급업체 모듈을 시스템 모듈에 연결할 수 있습니다. system 라이브러리의 공급업체 변형인 VNDK 라이브러리는 Android.bp 파일에서 vendor_available: true 를 정의하여 공급업체 모듈에 대한 공급업체 변형을 생성할 수도 있습니다( 예제 참조).

  • Android 11 이상에서 시스템 모듈은 또한 vendor_available: true 를 정의하여 제품 변형(코어 및 공급업체 변형 외에)을 생성할 수 있습니다.