Bật nút bật/tắt 16 KB

Nút bật/tắt 16 KB cho phép bạn dùng thử nhân hệ điều hành 16 KB. Nút bật/tắt này chuyển đổi giữa nhân hệ điều hành 4 KB và 16 KB. Bạn có thể tìm thấy nút này trong trình đơn "Tuỳ chọn cho nhà phát triển" trong ứng dụng cài đặt. Bạn có thể dùng nút bật/tắt 16 KB để kiểm tra khả năng tương thích của ứng dụng với nhân hệ điều hành 16 KB, nhưng nút này có thể không phản ánh hiệu suất của thiết bị 16 KB thực tế do việc sử dụng các khối trang con (khi sử dụng EXT4 cho các phân vùng /data/metadata) ở chế độ 16 KB.

Các bước định cấu hình nút bật/tắt

  1. Đảm bảo thiết bị đã thiết lập các biến không phụ thuộc vào trang (để hoạt động với cả nhân có kích thước trang 4 KB và 16 KB). Bạn nên cài đặt trực tiếp nhân 16k để đảm bảo thiết bị hoạt động trực tiếp ở chế độ 16 KB trước khi tiếp tục thêm tuỳ chọn dành cho nhà phát triển. Xem cấu hình mục tiêu của ví dụ về thiết bị ảo.

        PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
        PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
    
  2. Thiết lập biến sản phẩm để hiển thị tuỳ chọn cho nhà phát triển trong phần cài đặt PRODUCT_16K_DEVELOPER_OPTION := true

  3. Đặt đường dẫn hạt nhân bằng BOARD_KERNEL_PATH_16K. Hạt nhân này phải được tạo bằng CONFIG_ARM64_16K_PAGES=y.

      BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
    
  4. Đặt đường dẫn cấu hình mô-đun BOARD_KERNEL_MODULES_16K. Thuộc tính này trỏ đến các mô-đun nhân hệ điều hành hỗ trợ 16 KB. Việc thiết lập các tham số này sẽ tạo ra hai OTA trên phân vùng hệ thống – boot_ota_16k.zip(Để chuyển sang nhân hệ điều hành 16 KB) và boot_ota_4k.zip(Để chuyển sang nhân hệ điều hành 4 KB). Bật OTA tăng dần bằng cách đặt BOARD_16K_OTA_USE_INCREMENTAL := true cho OTA khởi động có kích thước nhỏ hơn.

      BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)
      BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/common-modules/virtual-device/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)
    
  5. Đặt BOARD_16K_OTA_MOVE_VENDOR := true để di chuyển OTA sang phân vùng nhà cung cấp. Không bắt buộc và hầu hết các thiết bị không nên đặt chế độ này.

Xác minh

Sau khi thiết lập thành công

  1. Bạn có thể thấy nút bật/tắt 16 KB trong ứng dụng cài đặt với nội dung "Khởi động với kích thước trang 16 KB".
  2. /system/boot_otas hoặc /vendor/boot_otas chứa hai tệp zip OTA – boot_ota_16k.zipboot_ota_4k.zip.

Bật/tắt chế độ sử dụng 16 KB

  1. Bật tuỳ chọn cho nhà phát triển theo hướng dẫn trong tài liệu về tuỳ chọn cho nhà phát triển.
  2. Nếu thiết bị được phát hiện là OEM đã khoá, một hộp thoại sẽ xuất hiện để yêu cầu người dùng mở khoá OEM điện thoại. Làm theo các bước để mở khoá bằng nhà sản xuất thiết bị gốc.
  3. Khi người dùng nhấn vào "Khởi động với kích thước trang 16 KB", các phân vùng /data/metadata cần phải là ext4. Nếu không, một hộp thoại sẽ xuất hiện để yêu cầu người dùng xoá sạch thiết bị. Nếu trả lời "Có", thiết bị sẽ bị xoá sạch và bạn sẽ phải kích hoạt lại các tuỳ chọn cho nhà phát triển.
  4. Giờ đây, nút bật/tắt 16 KB sẽ hiển thị hộp thoại xác nhận để chuyển sang 16 KB và khi xác nhận, các bản cập nhật OTA khởi động sẽ được áp dụng. Sau đó, bạn có thể bật/tắt qua lại giữa chế độ 4 KB và 16 KB mà không cần xoá phân vùng dữ liệu để kiểm thử hành vi của ứng dụng.

Kiểm tra Chế độ 16 KB

Làm theo các bước trong phần lấy kích thước trang để xác minh kích thước trang.