27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Açılış süresini yönetme
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Önyükleme işlemi, önyükleme ROM'undan başlayıp bootloader, çekirdek, Init, Zygote ve sistem sunucusu (kalın olarak gösterilen Android'e özgü önyükleme işlemi) ile devam eden bir işlem zinciridir. Otomotiva özgü önyükleme işleminde, arka görüş kamerası (RVC) gibi erken hizmetler çekirdek önyükleme sırasında başlatılmalıdır.
Sipariş verin |
Bileşen |
Android |
Android Automotive |
1 |
Önyükleme ROM'u |
Önyükleme yükleyicinin ilk aşamasını dahili RAM'e yükler. |
2 |
Önyükleyici |
Bellekleri başlatır, güvenliği doğrular ve çekirdeği yükler. |
3 |
Patlayan mısır |
Kesme denetleyicileri, bellek koruması, önbellekler ve planlama ayarlarını yapar, kullanıcı alanı işlemlerini başlatır. |
Arka görüş kamerası (RVC) işlemi, çekirdek önyüklemenin başlarında başlar. İşlem tamamlandıktan sonra VMCU'dan gelen GPIO, RVC'nin ekranda gösterilmesini tetikler. |
4 |
Başlatma işlemi |
init.rc komut dosyalarını ayrıştırır, dosya sistemlerini bağlar, Zygote'u başlatır, sistem işlemini başlatır. |
Araç HAL'i (VHAL), temel hizmetlerin bir parçası olarak başlatma aşamasında başlar. ServiceManager'a bağlı olarak daha önceki durumlara taşınabilir; ortak kitaplıklara (ör. init) olan bağımlılıkların kaldırılmasını gerektirir. |
5 |
Zygote |
Android nesneleri için Java Runtime'ı ve ilk belleği ayarlar. |
6 |
Sistem sunucusu |
Sistemdeki ilk Java bileşenidir ve temel Android hizmetlerini başlatır. |
CarService, tüm sistem hizmetleri başlatıldıktan sonra başlar. |
Açılış süresini optimize etme
Sisteminizin önyükleme süresini iyileştirmek için aşağıdaki yönergeleri uygulayın:
-
Çekirdek. Yalnızca kullanılan modülleri yükleyin ve yalnızca kullanılan donanım bileşenlerini başlatın.
-
init.rc
- Engelleme işlemlerini (hizmet ve komut çağrısı karşılaştırması) izleyin.
- Yalnızca kullanılanları başlatın.
- Hizmetler için doğru önceliği ayarlama.
-
Zigot. Sınıf ön yükleme optimizasyonu (yüklenecek sınıfların listesini belirtin).
-
Paket Yöneticisi
-
Sistem sunucusu. Yalnızca kullanılan sistem hizmetlerini başlatın.
Google, optimizasyon konusunda yardım almak için aşağıdaki araçları sunar:
-
logcat ve dmesg günlüklerini analiz etmek için packages/services/Car/tools/bootanalyze/bootanalyze.py
'ü kullanın.
-
Açılış sırasındaki işlemler için G/Ç'yi kaydetmek üzere packages/services/Car/tools/bootio/
'ü kullanın. Çekirdeği belirli işaretlerle derlemeniz gerekir (README.md
dosyasına bakın).
Hizmetleri erken başlatma
Bazı hizmetler, Android başlatılmadan önce önyükleme sırasında başlatılabilir.
Arka kamera
Arka görüş kamerası (RVC), çekirdekte ele alınmalıdır. VMCU, araç geri vitese geçtiğinde yerel çekirdek işlemini bilgilendirir. Ardından yerel çekirdek işlemi, RVC görüntüsünü ekranda gösterir. Araç HAL'i, hardware/libhardware/include/hardware/vehicle_camera.h
'ü kullanarak RVC'yi kontrol edebilir.
Araç HAL'si (VHAL)
Bazı sistemlerde, kullanıcı alanı hizmetinin başlatılmasını beklerken (bu, önyükleme sırasının ilerleyen aşamalarında gerçekleşir) önyükleme sırasının ilk aşamalarında CAN verilerini (ör. araç hızı, vites durumu) okuması ve arabelleğe alması gerekebilir. Bu senaryoda VNS'nin, HAL ve CAN denetleyicilerinin çok erken, genellikle birkaç saniye içinde başlatılması gerekir.
-
/system
'ü hızlıca bağlayabilen sistemler, hizmet yöneticisini ve ardından VNS'yi erken başlatabilir.
-
/system
hızlı bir şekilde bağlayamayan sistemler hem servis yöneticisini hem de VNS'yi çekirdek önyükleme resmine taşımalı ve tüm bağımlı kitaplıkları statik olarak bağlamalıdır.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Manage boot time\n\nThe boot process is a chain of actions starting from the boot ROM, followed by the bootloader,\nkernel, **Init** , **Zygote** , and **system server** (bold\nindicates Android-specific boot process). In the automotive-specific boot process, early services\nsuch as rearview camera (RVC) must start during the kernel boot.\n\n| Order | Component | Android | Android Automotive |\n|-------|---------------|----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 1 | Boot ROM | Loads the first stage of the boot loader into internal RAM. ||\n| 2 | Bootloader | Inits memories, verifies for security, and loads kernel. ||\n| 3 | Kernel | Sets up interrupt controllers, memory protection, caches, and scheduling; launches user space processes. | **Rearview camera (RVC)** process starts early in kernel boot. After the process is up, GPIO from VMCU triggers RVC to show on display. |\n| 4 | Init process | Parses `init.rc` scripts, mounts file systems, launches Zygote, launches system process. | **Vehicle HAL (VHAL)** starts during init phase as part of core services. Can be moved to earlier states depending on ServiceManager; requires removing dependencies on shared libraries (such as init). |\n| 5 | Zygote | Sets up Java Runtime and init memory for Android objects. ||\n| 6 | System server | First Java component in the system, starts core Android services. | **CarService** starts after all system services are started. |\n\nOptimize boot time\n------------------\n\nTo improve boot time in your system, use the following guidelines:\n\n- **Kernel.** Load only the modules in use and initialize only the hardware\n components in use.\n\n- `init.rc`\n\n - Watch for blocking operations (service compared to command invocation).\n - Start only what is used.\n - Setting correct priority for services.\n- **Zygote.** Class preloading optimization (specify the list of classes to\n load).\n\n- **Package Manager**\n\n - Optimize product image to include only APKs in use.\n\n - [Enable DEX\n preoptimization](/docs/core/runtime/configure#compilation_options).\n\n- **System server.** Start only the system services that are used.\n\nFor help with optimization, Google provides the following tools:\n\n- Use `packages/services/Car/tools/bootanalyze/bootanalyze.py` to analyze logcat and\n dmesg logs.\n\n- Use `packages/services/Car/tools/bootio/` to record I/O for processes during the\n boot. You must compile the kernel with specific flags (refer to the `README.md`\n file).\n\nStart services early\n--------------------\n\nIn the boot sequence, some services might start before Android starts to boot.\n\n### Rearview camera\n\nThe rearview camera (RVC) should be handled in the kernel. The VMCU notifies the native kernel\nprocess when the vehicle shifts into Reverse, after which the native kernel process displays the\nRVC image onto the display. The vehicle HAL can control the RVC using\n`hardware/libhardware/include/hardware/vehicle_camera.h`.\n\n### Vehicle HAL (VHAL)\n\nSome systems might need to read and buffer CAN data (for example, vehicle speed, gear status)\nduring the early stages of the boot sequence while waiting for the user-space service to start\n(which occurs later in the boot sequence). This scenario requires VNS and the HAL and CAN\ncontrollers to start very early, typically within a few seconds.\n\n- Systems that can quickly mount `/system` can simply launch service manager then\n VNS early.\n\n- System that can't quickly mount `/system` must move both service manager and VNS\n to the kernel boot image and link all dependent libraries statically."]]