Quy trình khởi động

Sau đây là quy trình khởi động được đề xuất cho thiết bị:

Quy trình xác minh quy trình khởi động

Hình 1. Quy trình khởi động đã xác minh.

Quy trình cho thiết bị A/B

Nếu thiết bị đang dùng A/B, thì quy trình khởi động sẽ hơi khác. Trước tiên, bạn phải đánh dấu khe cắm để khởi động là SUCCESSFUL bằng Boot Control HAL trước khi cập nhật siêu dữ liệu Bảo vệ chống quay về.

Nếu có một bản cập nhật nền tảng không thành công (không được đánh dấu là SUCCESSFUL), thì ngăn xếp A/B sẽ quay lại khe cắm khác, vẫn có phiên bản Android trước đó. Tuy nhiên, nếu bạn đã đặt Rollback Protection-metadata, thì phiên bản trước sẽ không thể khởi động do Rollback Protection.

Thông báo cho người dùng về trạng thái Khởi động đã xác minh

Sau khi xác định trạng thái khởi động của thiết bị, bạn cần thông báo trạng thái đó cho người dùng. Nếu thiết bị không gặp vấn đề gì, hãy tiếp tục mà không hiển thị bất kỳ thông tin nào. Các vấn đề về Xác minh quy trình khởi động thuộc các danh mục sau:

  • VÀNG: Màn hình cảnh báo cho các thiết bị ĐÃ KHOÁ có chế độ cài đặt gốc tuỳ chỉnh đáng tin cậy
  • CAM: Màn hình cảnh báo cho các thiết bị CHƯA KHOÁ
  • RED (eio): Màn hình cảnh báo về lỗi dm-verity
  • ĐỎ (không tìm thấy hệ điều hành): Không tìm thấy hệ điều hành hợp lệ

Thiết bị BỊ KHOÁ có gốc tin cậy tuỳ chỉnh

Màn hình cảnh báo màu vàng trên thiết bị
Hình 2: Ví dụ về màn hình màu vàng

Hiện màn hình MÀU VÀNG trong mỗi lần khởi động nếu thiết bị bị KHOÁ, đã đặt một gốc tuỳ chỉnh đáng tin cậy và hình ảnh được ký bằng gốc tuỳ chỉnh đáng tin cậy này. Màn hình MÀU VÀNG sẽ biến mất sau 10 giây và thiết bị sẽ tiếp tục khởi động. Nếu người dùng nhấn nút nguồn, văn bản "Nhấn nút nguồn để tạm dừng" sẽ thay đổi thành "Nhấn nút nguồn để tiếp tục" và màn hình sẽ không bao giờ bị đóng (mặc dù thiết bị có thể làm mờ hoặc tắt màn hình để chống hiện tượng lưu ảnh). Nếu bạn nhấn lại, màn hình sẽ đóng và điện thoại tiếp tục khởi động.

Đối với hex-number, hãy sử dụng 8 chữ số đầu tiên của sha256 trong phần biểu thị libavb của khoá công khai dùng để xác minh, ví dụ: d14a028c.

Văn bản đề xuất:

Thiết bị của bạn đã tải một hệ điều hành khác.

Hãy truy cập vào đường liên kết này trên một thiết bị khác để tìm hiểu thêm:

g.co/ABH

Mã: hex-number

Nhấn nút nguồn để tạm dừng

Thiết bị ĐÃ MỞ KHOÁ

Màn hình cảnh báo màu cam trên thiết bị
Hình 3: Ví dụ về màn hình màu cam

Hiện màn hình MÀU CAM mỗi khi khởi động nếu thiết bị ở trạng thái CHƯA KHOÁ. Màn hình MÀU CAM sẽ biến mất sau 10 giây và thiết bị sẽ tiếp tục khởi động. Nếu người dùng nhấn nút nguồn, văn bản "Nhấn nút nguồn để tạm dừng" sẽ thay đổi thành "Nhấn nút nguồn để tiếp tục" và màn hình sẽ không bao giờ bị đóng (thiết bị có thể làm mờ và/hoặc tắt màn hình nếu cần để chống hiện tượng lưu ảnh hoặc các hiện tượng tương tự). Nếu bạn nhấn lại, màn hình sẽ đóng và điện thoại tiếp tục khởi động.

Đối với hex-number, hãy sử dụng 8 chữ số đầu tiên của sha256 trong phần biểu thị libavb của khoá công khai dùng để xác minh, ví dụ: d14a028c.

Văn bản đề xuất:

Trình tải khởi động đã mở khoá nên chúng tôi không thể đảm bảo tính toàn vẹn của phần mềm. Những kẻ tấn công có thể xâm nhập vào bất kỳ dữ liệu nào được lưu trữ trên thiết bị này. Không lưu trữ dữ liệu nhạy cảm trên thiết bị.

Hãy truy cập vào đường liên kết này trên một thiết bị khác để tìm hiểu thêm:

g.co/ABH

Mã: hex-number

Nhấn nút nguồn để tạm dừng.

Lỗi dm-verity

Màn hình cảnh báo màu đỏ về thiết bị đầu vào/đầu ra
Hình 4: Ví dụ về màn hình eio màu đỏ

Hiện màn hình eio MÀU ĐỎ nếu tìm thấy một phiên bản Android hợp lệ và thiết bị hiện đang ở chế độ eio dm-verity. Người dùng cần nhấp vào nút nguồn để tiếp tục. Nếu người dùng chưa xác nhận màn hình cảnh báo trong vòng 30 giây, thiết bị sẽ tắt nguồn (để bảo vệ màn hình chống hiện tượng lưu ảnh và tiết kiệm pin).

Văn bản đề xuất:

Thiết bị của bạn bị hỏng. Bạn không thể tin tưởng và có thể ứng dụng này sẽ không hoạt động đúng cách.

Hãy truy cập vào đường liên kết này trên một thiết bị khác để tìm hiểu thêm:

g.co/ABH

Nhấn nút nguồn để tiếp tục.

Không tìm thấy hệ điều hành hợp lệ

Màn hình cảnh báo màu đỏ về thiết bị bị hỏng
Hình 5: Ví dụ về màn hình Đỏ

Màn hình ĐỎ sẽ xuất hiện nếu không tìm thấy phiên bản Android hợp lệ. Thiết bị không thể tiếp tục khởi động. Nếu người dùng chưa xác nhận màn hình cảnh báo trong vòng 30 giây, thiết bị sẽ tắt nguồn để bảo vệ màn hình khỏi hiện tượng lưu ảnh và tiết kiệm pin.

Đối với hex-number, hãy sử dụng 8 chữ số đầu tiên của sha256 trong phần biểu thị libavb của khoá công khai dùng để xác minh, ví dụ: d14a028c.

Văn bản đề xuất:

Không tìm thấy hệ điều hành hợp lệ. Thiết bị không khởi động được.

Hãy truy cập vào đường liên kết này trên một thiết bị khác để tìm hiểu thêm:

g.co/ABH

Mã: hex-number

Nhấn nút nguồn để tắt nguồn.

Xác nhận mở khoá

Mở khoá màn hình cảnh báo thiết bị
Hình 6: Ví dụ về màn hình xác nhận mở khoá

Hiện màn hình xác nhận mở khoá để phản hồi lệnh fastboot flashing unlock được thực thi thông qua giao diện fastboot. Ban đầu, tiêu điểm nằm ở lựa chọn Không mở khoá. Nếu người dùng không tương tác với màn hình cảnh báo trong vòng 30 giây, màn hình sẽ biến mất và lệnh sẽ không thành công.

Văn bản đề xuất:

Nếu mở khoá trình tải khởi động, bạn có thể cài đặt phần mềm hệ điều hành tuỳ chỉnh trên điện thoại này. Hệ điều hành tuỳ chỉnh không phải trải qua cùng mức độ kiểm thử như hệ điều hành gốc và có thể khiến điện thoại cũng như các ứng dụng đã cài đặt ngừng hoạt động đúng cách. Tính toàn vẹn của phần mềm không được đảm bảo khi dùng một hệ điều hành tuỳ chỉnh, vì vậy, mọi dữ liệu được lưu trữ trên điện thoại có thể gặp rủi ro khi trình tải khởi động được mở khoá.

Để ngăn chặn việc truy cập trái phép vào dữ liệu cá nhân của bạn, việc mở khoá trình tải khởi động cũng sẽ xoá tất cả dữ liệu cá nhân trên điện thoại.

Nhấn nút Tăng âm lượng/Giảm âm lượng để chọn mở khoá trình tải khởi động, sau đó nhấn nút nguồn để tiếp tục.

Mở khóa

Mở khoá trình tải khởi động.

Không mở khoá

Không mở khoá trình tải khởi động và khởi động lại điện thoại.

Xác nhận khoá

Hiện màn hình xác nhận khoá để phản hồi lệnh fastboot flashing lock được thực thi thông qua giao diện fastboot. Ban đầu, tiêu điểm nằm ở lựa chọn Không khoá. Nếu người dùng không tương tác với màn hình cảnh báo trong vòng 30 giây, màn hình sẽ biến mất và lệnh sẽ không thành công.

Văn bản:

Nếu khoá trình tải khởi động, bạn sẽ không thể cài đặt phần mềm hệ điều hành tuỳ chỉnh trên điện thoại này. Để ngăn chặn việc truy cập trái phép vào dữ liệu cá nhân của bạn, việc khoá trình tải khởi động cũng sẽ xoá tất cả dữ liệu cá nhân trên điện thoại.

Nhấn nút Tăng âm lượng/Giảm âm lượng để chọn có khoá trình tải khởi động hay không, sau đó nhấn nút nguồn để tiếp tục.

Khóa

Khoá trình tải khởi động.

Không khoá

Không khoá trình tải khởi động và khởi động lại điện thoại.

Truyền đạt trạng thái Xác minh quy trình khởi động cho Android

Màn hình cảnh báo xác nhận khoá thiết bị
Hình 7: Màn hình cảnh báo về thiết bị xác nhận khoá

Trình tải khởi động truyền đạt trạng thái Khởi động đã xác minh cho Android thông qua các tham số lệnh của nhân hoặc thông qua bootconfig bắt đầu từ Android 12. Thao tác này đặt lựa chọn androidboot.verifiedbootstate thành một trong các giá trị sau:

  • green: nếu thiết bị là LOCKED và không dùng gốc tin cậy do người dùng đặt
  • yellow: nếu thiết bị là LOCKED và gốc tin cậy do người dùng đặt được sử dụng
  • orange: nếu thiết bị là UNLOCKED

Tuỳ chọn androidboot.veritymode được đặt thành eio hoặc restart tuỳ thuộc vào trạng thái của trình tải khởi động liên quan đến việc xử lý lỗi dm-verity. Để biết thêm thông tin chi tiết, hãy xem phần Xử lý lỗi xác minh.