Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Inti

Kernel Linux adalah bagian yang sangat penting dari perangkat lunak di hampir setiap perangkat Android. Bagian ini menjelaskan pengembangan dan model rilis kernel Linux (di bawah), kernel stabil dan jangka panjang yang didukung (LTS) (termasuk mengapa semua perangkat Android harus menggunakan rilis stabil alih-alih patch yang dipilih), konfigurasi dan pengerasan kernel, persyaratan untuk antarmuka dan kernel modular (diperkenalkan di Android O), debugging kernel dan pengujian jaringan , dan SquashFS .

Pengembangan kernel Linux

Kernel Linux adalah proyek perangkat lunak kolaboratif terbesar yang pernah ada. Pada tahun 2016, lebih dari 4.000 pengembang berbeda dari 450 perusahaan berbeda berkontribusi pada proyek tersebut dan ada 6 rilis, masing-masing berisi antara 12.000 dan 16.000 perubahan berbeda. Pada akhir tahun 2016 ukuran kernel Linux hanya lebih dari 56 ribu file, terdiri dari 22 juta baris kode, skrip build, dan dokumentasi (rilis kernel 4.9). (Untuk statistik pengembangan Linux lengkap, lihat https://kernelnewbies.org/DevelopmentStatistics .)

Meskipun kernel Linux berisi kode untuk semua arsitektur chip yang berbeda dan driver perangkat keras yang didukungnya, sistem individual hanya menjalankan sebagian kecil dari basis kode. Rata-rata laptop menggunakan sekitar 2 juta baris kode kernel dari 5 ribu file agar berfungsi dengan baik, sedangkan ponsel Pixel menggunakan 3,2 juta baris kode kernel dari 6 ribu file (karena peningkatan kompleksitas SoC).

Rilis kernel Linux

Kernel Linux menggunakan model rilis yang secara substansial berbeda dari rilis AOSP standar. Dengan dirilisnya kernel 2.6 pada bulan Desember 2003, komunitas pengembang kernel beralih dari model sebelumnya yang memiliki pengembangan terpisah dan cabang kernel yang stabil, dan pindah ke model cabang yang stabil saja . Dalam model ini, rilis baru terjadi setiap 2 hingga 3 bulan, dan rilis tersebut dinyatakan stabil dan direkomendasikan untuk dijalankan oleh semua pengguna. Perubahan dalam model pengembangan ini disebabkan oleh siklus rilis yang sangat lama sebelum kernel 2.6 (hampir 3 tahun), dan perjuangan untuk mempertahankan dua cabang basis kode yang berbeda pada waktu yang bersamaan.

Penomoran dari rilis kernel dimulai dari 2.6.x, di mana x adalah nomor incrementing yang berubah pada setiap rilis (nilai nomor tidak ada artinya, selain lebih baru dari rilis kernel sebelumnya). Versi kernel sejak saat itu sekarang telah pindah ke 4.x dengan memperhitungkan 2 perubahan versi utama. Nomor versi ini dipilih oleh pengelola hanya untuk menghindari kebingungan di antara pengguna yang disebabkan oleh nomor rilis minor yang lebih tinggi.