Saya sedang membangun kernel Android khusus berdasarkan kode sumber kernel Cyanogenmod ROM. Saya ingin menambahkan folder dan file ke folder root OS ( /
). Sebagai contoh, setelah mengkompilasi kernel saya, saya ingin folder tambahan bernama toto
(path absolut = /toto
) dibuat.
Saya benar-benar tidak tahu file mana yang harus diedit dan bagaimana melakukan pekerjaannya.
Catatan: Jika Anda adalah pengguna Android (bukan pengembang ROM) yang ingin menambahkan file ke Anda rootfs
, silakan lihat pertanyaan Android.SE yang relevan sebagai gantinya.
linux-kernel
compiling
android
deadeert
sumber
sumber
userspace,
tetapi dari Linux lain,in-kernel
perbedaannya hanya sejumlah kecil tambalan. Faktanya, popularitas Android adalah pendorong utama di balik pengembangan kernel, dan telah berlangsung selama beberapa tahun. Lihatlah changelogs dari kernel.org dan tentukan sendiri seberapa relevan banyak hal dengan sistem seluler - khususnya Android.boot.img
untuk porting ROM? : jawaban di sana menjelaskan cara mengambil dan mengeditboot.img
file, memungkinkan untuk terus mengubah konten direktori root perangkat.Jawaban:
Pada Android, seperti pada banyak sistem berbasis Linux, kernel pertama gunung sebuah initramfs di
/
. Initramf disimpan dalam RAM; itu dimuat dari arsip CPIO yang disimpan bersama dengan kernel itu sendiri (atau di tempat lain di mana bootloader dapat menemukannya).Sebagian besar sistem Linux desktop memiliki initramfs kecil yang berisi cukup banyak program dan file konfigurasi untuk me-mount sistem file root sebenarnya, yang kemudian dipasang
/
, menggantikan initramfs. Android, seperti beberapa sistem Linux tertanam, membuat initramfs terpasang selamanya. Initramfs Android hanya berisi/init
,adbd
dan beberapa file konfigurasi.Untuk Cyanogenmod, Anda dapat menemukan instruksi pembuatan di panduan porting . Anda ingin menyalin lebih banyak file ke ramdisk (gambar initramfs, dalam terminologi Android), jadi Anda perlu menambahkannya ke
PRODUCT_COPY_FILES
daftar didevice_*.mk
makefile untuk perangkat Anda.sumber
initramfs
gambar kita adalah yang berisi file-file konfigurasi, sisteminitramfs
file dikompilasi ke dalam setiap kernel.Kernel docs menjelaskan cara mengemas gambar ke dalam kernel itu sendiri. Dari kernel.org :
sumber