Рекомендуемый порядок загрузки устройства следующий:
Поток для устройств A/B
Если устройство использует A/B, процесс загрузки немного отличается. Слот для загрузки должен быть сначала помечен как SUCCESSFUL
с помощью HAL управления загрузкой, прежде чем обновлять метаданные защиты от отката.
Если обновление платформы завершается неудачей (не помечено как SUCCESSFUL
), стек A/B возвращается в другой слот, в котором все еще находится предыдущая версия Android. Однако, если были установлены метаданные защиты от отката, предыдущая версия не сможет загрузиться из-за защиты от отката.
Сообщайте пользователям о состоянии проверенной загрузки
После определения состояния загрузки устройства вам необходимо сообщить об этом состоянии пользователю. Если с устройством все в порядке, продолжайте ничего не отображать. Подтвержденные проблемы с загрузкой делятся на следующие категории:
- ЖЕЛТЫЙ: экран предупреждения для ЗАБЛОКИРОВАННЫХ устройств с пользовательским корневым набором доверия.
- ОРАНЖЕВЫЙ: экран предупреждения для РАЗБЛОКИРОВАННЫХ устройств.
- КРАСНЫЙ (eio): экран предупреждения о повреждении dm-verity.
- КРАСНЫЙ (операционная система не найдена): действующая ОС не найдена.
ЗАБЛОКИРОВАННЫЕ устройства с настраиваемым корнем доверия
Показывать ЖЕЛТЫЙ экран при каждой загрузке, если устройство ЗАБЛОКИРОВАНО, установлен пользовательский корень доверия и образ подписан этим пользовательским корнем доверия. ЖЕЛТЫЙ экран исчезнет через десять секунд, и устройство продолжит загрузку. Если пользователь нажимает кнопку питания, текст «Нажмите кнопку питания, чтобы сделать паузу» изменится на «Нажмите кнопку питания, чтобы продолжить», и экран никогда не закроется (хотя устройство может затемнить или выключить экран для защиты от выгорания). . При повторном нажатии экран закрывается и телефон продолжает загружаться.
В качестве hex-number используйте первые 8 цифр sha256 представления открытого ключа libavb, используемого для проверки, например d14a028c
.
Предлагаемый текст:
На вашем устройстве установлена другая операционная система.
Посетите эту ссылку на другом устройстве, чтобы узнать больше:
g.co/ABH
ID: hex-number
Нажмите кнопку питания, чтобы сделать паузу.
РАЗБЛОКИРОВАННЫЕ устройства
Показывать ОРАНЖЕВЫЙ экран при каждой загрузке, если устройство РАЗБЛОКИРОВАНО. ОРАНЖЕВЫЙ экран исчезнет через десять секунд, и устройство продолжит загрузку. Если пользователь нажимает кнопку питания, текст «Нажмите кнопку питания, чтобы сделать паузу» изменится на «Нажмите кнопку питания, чтобы продолжить», и экран никогда не закроется (при необходимости устройство может затемнить и/или выключить экран для защиты от выгорания). в или аналогичном). При повторном нажатии экран закрывается и телефон продолжает загружаться.
В качестве hex-number используйте первые 8 цифр sha256 представления открытого ключа libavb, используемого для проверки, например d14a028c
.
Предлагаемый текст:
Загрузчик разблокирован, целостность программного обеспечения не может быть гарантирована. Любые данные, хранящиеся на устройстве, могут быть доступны злоумышленникам. Не храните конфиденциальные данные на устройстве.
Посетите эту ссылку на другом устройстве, чтобы узнать больше:
g.co/ABH
ID: hex-number
Нажмите кнопку питания, чтобы сделать паузу.
повреждение дм-правдивости
Покажите КРАСНЫЙ экран eio
, если найдена действующая версия Android и устройство в данный момент находится в режиме eio
dm-verity. Пользователю необходимо нажать кнопку питания, чтобы продолжить. Если пользователь не подтвердил появление экрана с предупреждением в течение 30 секунд, устройство выключается (чтобы защитить экран от выгорания и сэкономить электроэнергию).
Предлагаемый текст:
Ваше устройство повреждено. Ему нельзя доверять, и он может работать неправильно.
Посетите эту ссылку на другом устройстве, чтобы узнать больше:
g.co/ABH
Нажмите кнопку питания, чтобы продолжить.
Действительная ОС не найдена
КРАСНЫЙ экран отображается, если не найдена действующая версия Android. Устройство не может продолжить загрузку. Если пользователь не подтвердил появление экрана с предупреждением в течение 30 секунд, устройство отключается, чтобы защитить экран от выгорания и сэкономить электроэнергию.
В качестве hex-number используйте первые 8 цифр sha256 представления открытого ключа libavb, используемого для проверки, например d14a028c
.
Предлагаемый текст:
Не удалось найти действующую операционную систему. Устройство не загружается.
Посетите эту ссылку на другом устройстве, чтобы узнать больше:
g.co/ABH
ID: hex-number
Нажмите кнопку питания, чтобы выключить питание.
Подтверждение разблокировки
Показывать экран подтверждения разблокировки в ответ на команду fastboot flashing unlock
выполняемую через интерфейс fastboot. Первоначально фокус находится на Не разблокировать . Если пользователь не взаимодействовал с экраном предупреждения в течение 30 секунд, экран исчезает и команда не выполняется.
Предлагаемый текст:
Если вы разблокируете загрузчик, вы сможете установить на этот телефон собственное программное обеспечение операционной системы. Пользовательская ОС не подвергается такому же уровню тестирования, как исходная ОС, и может привести к тому, что ваш телефон и установленные приложения перестанут работать должным образом. Целостность программного обеспечения не может быть гарантирована при использовании специальной ОС, поэтому любые данные, хранящиеся на телефоне, пока загрузчик разблокирован, могут оказаться под угрозой.
Чтобы предотвратить несанкционированный доступ к вашим личным данным, при разблокировке загрузчика также удаляются все личные данные на вашем телефоне.
Нажмите кнопку увеличения/уменьшения громкости, чтобы выбрать, следует ли разблокировать загрузчик, а затем кнопку питания, чтобы продолжить.
Разблокировать
Разблокировать загрузчик.
Не разблокировать
Не разблокируйте загрузчик и не перезагружайте телефон.
Подтверждение блокировки
Показывать экран подтверждения блокировки в ответ на команду fastboot flashing lock
выполняемую через интерфейс fastboot. Первоначально фокус находится на Don’t lock . Если пользователь не взаимодействовал с экраном предупреждения в течение 30 секунд, экран исчезает и команда не выполняется.
Текст:
Если вы заблокируете загрузчик, вы не сможете установить на этот телефон специальное программное обеспечение операционной системы. Чтобы предотвратить несанкционированный доступ к вашим личным данным, блокировка загрузчика также удаляет все личные данные на вашем телефоне.
Нажмите кнопку увеличения/уменьшения громкости, чтобы выбрать, блокировать ли загрузчик, а затем кнопку питания, чтобы продолжить.
Замок
Заблокировать загрузчик.
Не блокировать
Не блокируйте загрузчик и перезагружайте телефон.
Передача проверенного состояния загрузки на Android
Загрузчик передает Android состояние проверенной загрузки через параметры команды ядра или через bootconfig, начиная с Android 12. Он устанавливает для параметра androidboot.verifiedbootstate
одно из следующих значений:
-
green
: если устройствоLOCKED
и настраиваемый пользователем корень доверия не используется. -
yellow
: если устройствоLOCKED
и используется настраиваемый пользователем корень доверия -
orange
: если устройствоUNLOCKED
Для параметра androidboot.veritymode
установлено значение eio
или restart
в зависимости от того, в каком состоянии находится загрузчик в отношении обработки ошибок dm-verity. Дополнительные сведения см. в разделе Обработка ошибок проверки .