Çekirdek Çekirdek Gereksinimleri

Android 8.0 ve üzeri, Vendor Test Suite (VTS) ve kablosuz (OTA) güncellemeler tarafından doğrulanan minimum çekirdek sürümünü ve çekirdek yapılandırmasını zorunlu kılar. Android cihaz çekirdekleri, çekirdek .config desteğini ve çalışma zamanında procfs dosya sistemi aracılığıyla çekirdek yapılandırmasını okuma seçeneğini etkinleştirmelidir.

Çekirdek .config desteği

Tüm cihaz çekirdekleri, aşağıdaki çekirdek yapılandırma seçeneklerini (veya bunların çekirdek sürümü eşdeğerini) içermesi gereken android-base.cfg dosyasının tamamını etkinleştirmelidir:

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

Çekirdek sürümü

Android 9 için minimum Uzun Süreli Destek (LTS) çekirdek sürümü gereksinimleri 4.4.107, 4.9.84 ve 4.14.42'dir.

  • 2018'de üretilen tüm SoC'lerin çekirdek 4.9.84 veya üzeri ile başlatılması gerekir.
  • Android 9 çalıştıran Android cihazlarını başlatan diğer tüm SoC'lerin çekirdek 4.4.107 veya üstünü kullanması gerekir.
  • 4.14 tabanlı cihaz çekirdekleri, 4.14.42 veya üzeri LTS sürümünü içermelidir.
  • Lansman tarihine bakılmaksızın, Android 8.0 ve sonraki sürümlerde başlatılan cihaza sahip tüm SoC'ler, Treble'ı etkinleştirmek için gereken çekirdek değişikliklerine tabi olmaya devam edecektir.
  • Android 8.0 veya daha yeni bir sürüme yükseltilen daha eski Android cihazları, orijinal temel çekirdek sürümlerini kullanmaya devam edebilir.

LTS çekirdekleri hakkında ayrıntılar için bkz. Uzun vadeli kararlı çekirdekler ve Android Ortak Çekirdekleri

Cihaz ağacı desteği

Platform Gelişmiş Yapılandırma ve Güç Arayüzü (ACPI) spesifikasyonunu desteklemiyorsa, çekirdekteki aygıt ağacı desteği etkinleştirilmeli ve önyükleyiciler donanım açıklamasını bir aygıt ağacı biçiminde çekirdeğe iletmelidir. Cihaz ağacının Android'in okuyabilmesi için de mevcut olması ve satıcıya ve ODM'ye özgü parametreleri Android'e aktarabilmesi gerekir. CONFIG_OF , diğer tüm cihaza ve alt sisteme özgü CONFIG_OF_* çekirdek yapılandırma seçenekleriyle birlikte zorunludur.

DebugFS'yi kullanma

Satıcı arayüzünün uygulanması, hata ayıklama bilgilerine erişim için DebugFS dosya sistemine güvenemez. Bunun nedeni, Android 7.0–10'da DebugFS etkinleştirilebilmesi , ancak VTS testinin DebugFS bağlantısı kesilerek yapılabilmesidir.

Android 11'de DebugFS üretim cihazlarına erişilemiyor veya bu cihazlara bağlanılamıyor; bu nedenle cihaz üreticilerinin onu kaldırması gerekiyor. Android 11'den önce dumpstate , DebugFS ciltleyici istatistiklerine erişiyordu. Android 11 veya üzeri sürümlerle başlatılan kullanıcı derlemeleri DebugFS erişemediğinden dumpstate , binderfs binder istatistiklerine erişir. Binderfs etkinleştirmek için CONFIG_ANDROID_BINDERFS çekirdek yapılandırmasını etkinleştirin.

Android 11'de VTS şu iki gereksinimi zorunlu kılar:

  • CONFIG_DEBUG_FS aygıtın çekirdek yapılandırmasında etkin değil.
  • DebugFS /proc/filesystems altında listelenmiyor.

Android 11'de Hata AyıklamaFS

Aşağıdaki tabloda bu üç kategorinin her birinin Android 11'de nasıl desteklendiği açıklanmaktadır. DebugFS kullanıcı derlemelerine eklenememesi nedeniyle aşağıdakilerin yalnızca kullanıcı hata ayıklama derlemeleri için geçerli olduğunu unutmayın. Android 11'de başlatılan cihazlar için DebugFS asla kullanıcı yapılarına bağlamayın .

Kullanım örneği Android 11 kullanıcı hata ayıklama derlemesi
Başlangıç ​​sırasında bir defalık DebugFS dosyalarının başlatılması . Bu erişim, önyükleme sırasında yalnızca bir kez gerçekleşir . Satıcı init bunu yapar.
Hata raporu oluşturma : Döküm durumu HAL, hata raporunun parçası haline gelen DebugFS dosyalarını okur. Dumpstate aracı tarafından çağrıldığında DumpstateBoard() içindeki dumpstate HAL tarafından gerçekleştirilir.
Cihaza özel test ve doğrulama Adb kökü ve kabuğu