Dari atas...
make
mengkompilasi dan menautkan gambar kernel. Ini adalah satu file bernama vmlinuz
.
make modules
mengkompilasi file individual untuk setiap pertanyaan yang Anda jawab M
selama konfigurasi kernel. Kode objek dihubungkan dengan kernel yang baru Anda buat. (Untuk pertanyaan yang dijawab Y
, ini sudah menjadi bagian dari vmlinuz
, dan untuk pertanyaan yang dijawab, N
mereka dilewati).
make install
instal kernel bawaan Anda ke /vmlinuz
.
make modules_install
menginstal modul kernel Anda ke /lib/modules
atau /lib/modules/<version>
.
Adapun menambahkannya ke daftar kernel yang tersedia, itu dirawat oleh boot loader. Ini berbeda untuk setiap boot loader, tetapi grub
yang paling umum pada x86 dan amd64 jadi saya akan menjelaskannya. Ini sebenarnya cukup sederhana. Grub melihat ke dalam /
, /boot
dan /lib/modules
untuk hal apa pun yang terlihat seperti kernel yang berfungsi dan menambahkannya. Dan ya, ini adalah deskripsi yang terlalu disederhanakan.
Itu "hal-hal mengerikan" ekstra dalam dokumentasi Ubuntu adalah hal-hal tambahan untuk membuat deb
paket. Ketika Anda melakukannya untuk lebih dari diri Anda sendiri, itu jauh lebih baik untuk mengemasnya. Anda akan beralih waktu.
Membangun kernel dan modul disimpan terpisah karena untuk orang-orang yang perlu (yaitu, pengembang kernel) mereka sering membuat perubahan hanya pada modul. Mereka dapat menerapkan perubahan mereka, membangun kembali, dan menginstal hanya modul. Ini menghemat banyak waktu ketika harus dilakukan 20 kali sehari. Tidak akan pernah diperbarui untuk memiliki satu make everything
perintah. Anda sebaliknya, jalankan make && make modules && make install && make modules_install
seperti yang dikatakan dokumentasi lakukan . Proses build lebih mendukung pengembang kernel, bukan Anda. Dan memang seharusnya begitu.
Pada kenyataannya hampir tidak ada alasan bagi siapa pun kecuali pengembang kernel atau pembuat paket distro untuk mengkompilasi kernel. Dalam hampir semua keadaan, fitur kernel yang Anda inginkan telah dibangun untuk Anda dan tersedia di salah satu kernel yang sudah dikemas sebelumnya. Ada pengecualian, tetapi mereka sangat jarang hari ini.
Bukannya saya mengecilkan hati Anda dari membangun kernel Anda sendiri, saya benar-benar mendorong Anda untuk melakukannya. Saya pikir membangun kernel Anda dari awal adalah praktik yang sangat berharga untuk mempelajari bagaimana semuanya bekerja di sana. Sebagian, karena mungkin suatu hari Anda akan menjadi pengecualian yang perlu. Tetapi itu juga mengajarkan Anda banyak tentang proses kernel & boot secara umum. Anda akan menjadi orang yang lebih baik karena telah melakukannya.