램디스크 파티션

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Android 10 및 11에서 첫 번째 단계 ramdisk에는 첫 번째 단계 init 바이너리(fstab 항목에 지정된 대로 초기 마운트를 수행함)와 공급업체 fstab 파일이 포함됩니다. (Android 9 이하에서와 같이 system.img 에는 $TARGET_ROOT_OUT 의 내용이 포함되어 있습니다.)

  • 부트 램디스크(비 A/B)가 있는 장치의 경우 첫 번째 단계 init 는 /init 에 있는 정적 실행 파일입니다. 이러한 장치는 system.img/system 으로 마운트한 다음 루트 전환 작업을 수행하여 /system 의 마운트를 / 로 이동합니다. 마운트가 완료된 후 램디스크의 내용이 해제됩니다.

  • 복구를 램디스크로 사용하는 장치의 경우 첫 번째 단계 초기화는 복구 램디스크 내의 /init 에 있습니다. 이러한 장치는 먼저 루트를 /first_stage_ramdisk 로 전환하여 환경에서 복구 구성 요소를 제거한 다음 boot-ramdisk가 있는 장치와 동일하게 진행합니다(즉, system.img/system 으로 마운트하고 루트를 전환하여 해당 마운트를 / 로 이동하고, 마운트 후 여유 램디스크 내용). androidboot.force_normal_boot=1 이 커널 명령줄(또는 Android 12부터 bootconfig)에 있는 경우 기기는 복구 모드로 부팅하는 대신 정상적으로(Android로) 부팅됩니다.

첫 번째 단계 init가 완료된 후 SELinux를 컴파일하고 시스템에 로드하기 위해 selinux_setup 인수와 함께 /system/bin/init 를 실행합니다. 마지막으로 init는 second_stage 인수로 /system/bin/init 를 다시 실행합니다. 이 시점에서 init의 주요 단계는 init.rc 스크립트를 사용하여 부팅 프로세스를 실행하고 계속합니다.

다음 섹션에서는 Android 10 이전과 이후의 비 A/B 기기에 대한 파티션 레이아웃의 차이점을 자세히 설명합니다.

파티션 레이아웃(비 A/B 장치)

다음 섹션에서는 Android 10 이전과 이후의 비 A/B 기기에 대한 파티션 레이아웃의 차이점을 자세히 설명합니다.

boot.img

램디스크
(안드로이드 8.x 이하)
루트로서의 시스템
(안드로이드 9)
램디스크
(안드로이드 10 및 11)

커널과 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)
    ...
    

복구.img

복구 커널 및 복구 ramdisk.img 가 포함되어 있습니다.

시스템.img

램디스크
(안드로이드 8.x 이하)
루트로서의 시스템
(안드로이드 9)
램디스크
(안드로이드 10 및 11)

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

루트로서의 시스템
(안드로이드 9)
램디스크
(안드로이드 10 및 11)
일반 부팅 커널과 복구 램디스크를 포함합니다( BOARD_USES_RECOVERY_AS_BOOT := true ).

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

Recovery-ramdisk는 복구 및 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)
    ...
    

시스템.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)
    ...