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

램디스크 파티션

Android 10 이상에서 1단계 램디스크에는 fstab 항목에 의해 지정된 대로 초기 마운트를 실행하는 1단계 init 바이너리와 공급업체 fstab 파일이 포함되어 있습니다. Android 9 이하에서와 마찬가지로 system.img에는 $TARGET_ROOT_OUT의 콘텐츠가 포함되어 있습니다.

  • 부팅 램디스크가 있고 A/B 이외의 기기인 경우 1단계 init은 /init에 있는 정적 실행 파일입니다. 이러한 기기는 system.img/system으로 마운트한 다음 루트를 전환하는 작업을 실행하여 /system의 마운트를 /로 이동합니다. 마운트가 완료되면 램디스크 콘텐츠는 해제됩니다.

  • 램디스크로 복구를 사용하는 기기의 경우 1단계 init은 복구 램디스크 내의 /init에 있습니다. 이러한 기기는 먼저 루트를 /first_stage_ramdisk로 전환하여 환경에서 복구 구성요소를 삭제한 후 부팅 램디스크를 사용하는 기기와 동일하게 진행합니다. 즉, system.img/system으로 마운트하여 루트를 전환함으로써 해당 마운트를 /로 이동하고 마운트 후 램디스크 콘텐츠를 해제합니다. 커널 명령줄에 androidboot.force_normal_boot=1이 있는 경우 기기는 복구 모드로 부팅되지 않고 (Android로) 정상적으로 부팅됩니다.

1단계 init이 끝나면 selinux_setup 인수로 /system/bin/init을 실행하여 SELinux를 컴파일하고 시스템에 로드합니다. 마지막으로 init은 second_stage 인수로 /system/bin/init을 다시 실행합니다. 이 시점에서 init의 주요 단계가 실행되고 init.rc 스크립트를 사용하여 부팅 프로세스를 계속 진행합니다.

다음 섹션에서는 Android 10 이전과 이후, A/B 이외의 기기의 파티션 레이아웃 차이를 설명합니다.

파티션 레이아웃(A/B 이외의 기기)

다음 섹션에서는 Android 10 이전과 이후, A/B 이외의 기기의 파티션 레이아웃 차이를 설명합니다.

boot.img

램디스크
(Android 8.x 이하)
System as root
(Android 9)
램디스크
(Android 10)

커널과 ramdisk.img를 포함합니다.


ramdisk.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    
일반 부팅 커널만 포함합니다.

커널과 ramdisk.img를 포함합니다.


ramdisk.img
  -/
    - init
    - vendor fstab files
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

recovery.img

복구 커널과 복구 ramdisk.img를 포함합니다.

system.img

램디스크
(Android 8.x 이하)
System as root
(Android 9)
램디스크
(Android 10)

system.img를 포함합니다.


system.img
  -/
    - bin/
    - etc
    - vendor -> /vendor
    - ...
   

$TARGET_SYSTEM_OUT$TARGET_ROOT_OUT의 병합된 콘텐츠를 포함합니다.


system.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

$TARGET_SYSTEM_OUT$TARGET_ROOT_OUT의 병합된 콘텐츠를 포함합니다.


system.img
  -/
    - init.rc
    - init -> /system/bin/init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

파티션 레이아웃(A/B 기기)

다음 섹션에서는 Android 10 이전과 이후, A/B 기기의 파티션 레이아웃 차이를 설명합니다.

boot.img

System as root
(Android 9)
램디스크
(Android 10)
일반 부팅 커널과 복구 램디스크를 포함합니다(BOARD_USES_RECOVERY_AS_BOOT := true).

복구 램디스크는 복구 모드로 부팅하는 데에만 사용됩니다.
일반 부팅 커널과 복구 램디스크를 포함합니다(BOARD_USES_RECOVERY_AS_BOOT := true).

복구 램디스크는 복구 모드 및 Android로 부팅하는 데 사용됩니다.

ramdisk.img
  -/
    - init -> /system/bin/init
    - first_stage_ramdisk
       - vendor fstab files
    - etc -> /system/etc
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

system.img

$TARGET_SYSTEM_OUT$TARGET_ROOT_OUT의 병합된 콘텐츠를 포함합니다.

system.img
  -/
    - init.rc
    - init -> /system/bin/init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...