부팅 흐름

기기의 권장 부팅 흐름은 다음과 같습니다.

자체 검사 부팅 흐름
그림 1. 자체 검사 부팅 흐름

A/B 기기의 흐름

기기가 A/B를 사용할 경우 부팅 흐름이 약간 다릅니다. 우선 롤백 보호 메타데이터를 업데이트하기 전에 부팅 제어 HAL을 사용하여 부팅할 슬롯을 SUCCESSFUL로 표시해야 합니다.

플랫폼 업데이트에 실패할 경우(SUCCESSFUL로 표시되지 않음) A/B 스택은 이전 버전의 Android가 있는 다른 슬롯으로 대체됩니다. 하지만 롤백 보호 메타데이터가 설정된 경우 롤백 보호로 인해 이전 버전을 부팅할 수 없습니다.

사용자에게 자체 검사 부팅 상태 전달

기기의 부팅 상태를 확인한 후 사용자에게 알려야 합니다. 기기에 아무런 문제가 없으면 어떤 내용도 표시하지 않고 계속 진행합니다. 자체 검사 부팅 문제는 다음 카테고리로 분류됩니다.

  • 노란색: 신뢰할 수 있는 맞춤 루트가 있는 잠긴 기기의 경고 화면
  • 주황색: 잠금 해제된 기기의 경고 화면
  • 빨간색(eio): dm-verity 손상 경고 화면
  • 빨간색(OS 없음): 유효한 OS가 없음

신뢰할 수 있는 맞춤 루트가 있는 잠긴 기기

노란색 화면의 예:

노란색 기기 경고 화면

기기가 잠겨 있고, 신뢰할 수 있는 맞춤 루트가 설정되어 있고, 이미지가 신뢰할 수 있는 맞춤 루트로 서명된 경우 부팅할 때마다 노란색 화면이 표시됩니다. 노란색 화면이 10초 후에 닫히고 기기가 계속 부팅됩니다. 사용자가 전원 버튼을 누르면 '전원 버튼을 눌러 일시중지' 텍스트가 '전원 버튼을 눌러 계속 진행'으로 변경됩니다. 이때 화면 번인을 방지하기 위해 화면이 어두워지거나 꺼질 수 있긴 하지만 닫히지는 않습니다. 다시 누르면 화면이 닫히고 휴대전화가 계속 부팅됩니다.

d14a028c의 예를 들면 hex-number의 경우 인증에 사용된 공개 키의 libavb 표현 중 sha256의 첫 8자리를 사용합니다.

추천 텍스트:

기기에서 다른 운영체제를 로드했습니다.

다른 기기에서 이 링크를 방문하여 자세한 내용을 알아보세요.

g.co/ABH

ID: hex-number

전원 버튼을 눌러 일시중지

잠금 해제된 기기

주황색 화면의 예:

주황색 기기 경고 화면

기기가 잠금 해제되면 부팅할 때마다 주황색 화면이 표시됩니다. 주황색 화면이 10초 후에 닫히고 기기가 계속 부팅됩니다. 사용자가 전원 버튼을 누르면 '전원 버튼을 눌러 일시중지' 텍스트가 '전원 버튼을 눌러 계속 진행'으로 변경되며 화면이 닫히지 않습니다(번인 또는 그와 유사한 증상을 방지하기 위해 필요한 경우 화면이 어두워지거나 꺼질 수 있습니다). 다시 누르면 화면이 닫히고 휴대전화가 계속 부팅됩니다.

d14a028c의 예를 들면 hex-number의 경우 인증에 사용된 공개 키의 libavb 표현 중 sha256의 첫 8자리를 사용합니다.

추천 텍스트:

부트로더가 잠금 해제되어 있어 소프트웨어 무결성을 보장할 수 없습니다. 기기에 저장된 모든 데이터를 공격자가 사용할 수도 있습니다. 민감한 정보는 기기에 저장하지 마세요.

다른 기기에서 이 링크를 방문하여 자세한 내용을 알아보세요.

g.co/ABH

ID: hex-number

전원 버튼을 눌러 일시중지

dm-verity 손상

빨간색 eio 화면의 예:

빨간색 eio 기기 경고 화면

유효한 버전의 Android가 있고 기기가 현재 eio dm-verity 모드일 경우 빨간색 eio 화면이 표시됩니다. 사용자는 전원 버튼을 클릭하여 계속 진행할 수 있습니다. 사용자가 30초 내에 경고 화면을 확인하지 않을 경우 화면 번인을 방지하고 전력을 절약하기 위해 기기의 전원이 꺼집니다.

추천 텍스트:

기기가 손상되었습니다. 신뢰할 수 없으며 제대로 작동하지 않을 수 있습니다.

다른 기기에서 이 링크를 방문하여 자세한 내용을 알아보세요.

g.co/ABH

전원 버튼을 눌러 계속 진행

유효한 OS가 없음

빨간색 화면의 예:

손상된 기기의 빨간색 경고 화면

유효한 버전의 Android가 없는 경우 빨간색 화면이 표시됩니다. 기기에서 부팅을 계속 진행할 수 없습니다. 사용자가 30초 내에 경고 화면을 확인하지 않을 경우 화면 번인을 방지하고 전력을 절약하기 위해 기기의 전원이 꺼집니다.

d14a028c의 예를 들면 hex-number의 경우 인증에 사용된 공개 키의 libavb 표현 중 sha256의 첫 8자리를 사용합니다.

추천 텍스트:

유효한 운영체제를 찾을 수 없습니다. 기기가 부팅되지 않습니다.

다른 기기에서 이 링크를 방문하여 자세한 내용을 알아보세요.

g.co/ABH

ID: hex-number

전원 버튼을 눌러 전원 끄기

잠금 해제 확인

예시 화면:

잠금 해제된 기기의 경고 화면

빠른 부팅 인터페이스를 통해 실행되는 fastboot flashing unlock 명령어에 응답하여 잠금 해제 확인 화면이 표시됩니다. 처음에는 포커스가 잠금 해제하지 않음에 위치합니다. 사용자가 30초 이내에 경고 화면을 확인하지 않으면 화면이 사라지고 명령어가 실패합니다.

추천 텍스트:

부트로더를 잠금 해제하면 이 전화에 맞춤 운영체제 소프트웨어를 설치할 수 있습니다. 맞춤 OS는 원래 OS와 동일한 수준의 테스트를 거치지 않으며 휴대전화와 설치된 애플리케이션이 제대로 작동하지 않을 수 있습니다. 맞춤 OS에서는 소프트웨어 무결성이 보장되지 않기 때문에 부트로더가 잠금 해제된 상태에서는 휴대전화에 저장된 모든 데이터가 위험에 노출될 수 있습니다.

개인 정보에 무단으로 액세스하는 것을 방지하기 위해 부트로더를 잠금 해제하면 휴대전화의 모든 개인 정보도 삭제됩니다.

볼륨 업/볼륨 다운 버튼을 눌러 부트로더 잠금 해제 여부를 선택한 후 전원 버튼을 눌러 계속 진행합니다.

잠금 해제

부트로더 잠금 해제

잠금 해제하지 않음

부트로더를 잠금 해제하지 않고 휴대전화 다시 시작

잠금 확인

빠른 부팅 인터페이스를 통해 실행되는 fastboot flashing lock 명령어에 응답하여 잠금 확인 화면이 표시됩니다. 처음에는 포커스가 잠그지 않음에 위치합니다. 사용자가 30초 내에 경고 화면을 확인하지 않으면 화면이 사라지고 명령어가 실패합니다.

텍스트:

부트로더를 잠그면 이 휴대전화에 맞춤 운영체제 소프트웨어를 설치할 수 없습니다. 개인 정보에 무단으로 액세스하는 것을 방지하기 위해 부트로더를 잠금 해제하면 휴대전화의 모든 개인 정보도 삭제됩니다.

볼륨 업/볼륨 다운 버튼을 눌러 부트로더 잠금 여부를 선택한 후 전원 버튼을 눌러 계속 진행합니다.

잠금

부트로더 잠금

잠그지 않음

부트로더를 잠그지 않고 휴대전화 다시 시작

Android에 자체 검사 부팅 상태 전달

예시 화면:

기기의 잠금 확인 경고 화면

부트로더는 커널 명령어 매개변수를 통해 또는 Android 12부터는 bootconfig를 통해 Android에 자체 검사 부팅 상태를 전달합니다. androidboot.verifiedstate 옵션을 다음 값 중 하나로 설정합니다.

  • green: 기기가 LOCKED 상태이며 신뢰할 수 있는 사용자 설정 가능 루트를 사용하지 않는 경우
  • yellow: 기기가 LOCKED 상태이며 신뢰할 수 있는 사용자 설정 가능 루트를 사용하는 경우
  • orange: 기기가 UNLOCKED 상태인 경우

androidboot.veritymode 옵션은 dm-verity 오류 처리 시 부트로더의 상태에 따라 eio 또는 restart로 설정됩니다. 자세한 내용은 인증 오류 처리를 참조하세요.