Inilah langkah-langkahnya. Prosedur ini berdasarkan pada nixCraft 's How to: Compile Linux kernel 2.6 - tetapi dimodernisasi secara signifikan.
Unduh dan ekstrak kode sumber kernel yang ingin Anda buat.
Anda bisa mendapatkan kode sumber kernel hulu di kernel.org . Versi 3.16.1 (kernel stabil terbaru saat penulisan ini) akan digunakan di sini. Jadi, Anda mungkin perlu memodifikasi perintah ini jika Anda menggunakan versi yang berbeda.
Kode sumber kernel saat ini disediakan di. tar . arsip xz , jadi klik tautan "tar.xz" oleh versi apa pun yang Anda inginkan:
Setelah masuk cd
ke direktori tempat Anda mengunduh arsip, Anda dapat mengekstraknya dengan tar
:
tar xf linux-3.16.1.tar.xz
Instal alat bantu yang diperlukan dan lakukan konfigurasi kernel.
Untuk mendapatkan Ubuntu toolchain ( gcc
, make
, dan sebagainya) menginstal build-essential metapackage:
sudo apt-get update
sudo apt-get install build-essential
Dua cara yang mudah digunakan untuk mengkonfigurasi apa yang masuk ke kernel Anda disediakan oleh make
target xconfig
dan menuconfig
.
xconfig
menjalankan utilitas konfigurasi grafis, sementara menuconfig
berbasis teks (yaitu, antarmuka muncul sepenuhnya dalam terminal Anda). Masing-masing memerlukan beberapa perangkat lunak tambahan yang tidak disediakan oleh build-essential .
Untuk mengkonfigurasi secara grafis , instal libqt4-dev dan pkg-config dan jalankanmake xconfig
:
sudo apt-get install libqt4-dev pkg-config
make xconfig
Untuk mengkonfigurasi di terminal , installibncurses5-dev
(terima kasih kepada Hannu untuk info ini) dan jalankanmake menuconfig
:
sudo apt-get install libncurses5-dev
make menuconfig
Bangun kernel yang sudah dikonfigurasi.
Pertama jalankan ini untuk mengkompilasi kernel dan membuat vmlinuz
:
make
vmlinuz
adalah "kernel." Secara khusus, ini adalah image kernel yang akan dikompresi dan dimuat ke memori oleh GRUB atau apa pun bootloader lain yang Anda gunakan.
Kemudian buat modul kernel yang dapat dimuat :
make modules
Instal kernel Anda yang baru dibangun.
Dengan asumsi make
perintah - perintah tersebut selesai dengan sukses, saatnya untuk menginstal kernel baru. Pertama instal modul:
sudo make modules_install
Kemudian instal kernel itu sendiri:
sudo make install
Itu menempatkan vmlinuz-3.16.1
(salinan vmlinuz
), config-3.16.1
(file teks menyimpan parameter konfigurasi kernel), dan System.map-3.16.1
( tabel pencarian simbol kernel ) di /boot
. Untuk detail lebih lanjut, lihat posting comp.os.linux.misc ini oleh Hadron dan man installkernel
.
Pengaturan akhir, sehingga kernel dapat dimulai dan mem-boot sistem:
Bagian ini sebagian didasarkan pada informasi dalam Kernel / Kompilasi .
Dengan kernel yang sekarang diperlukan, dibutuhkan:
Hasilkan initramf Anda denganmkinitramfs
:
cd /boot
sudo mkinitramfs -ko initrd.img-3.16.1 3.16.1
Ketika Anda memperbarui konfigurasi boot loader GRUB2 - yang telah menjadi default di Ubuntu sejak 9.10 - secara otomatis akan mendeteksi kernel baru dan menambahkan opsi untuk boot dari sana.
sudo update-grub
Coba kernel Anda.
Sekarang Anda dapat reboot untuk menguji kernel baru Anda. Anda mungkin perlu menahan Shiftatau menekan Escselama boot untuk melihat menu boot GRUB di mana Anda dapat memilih di antara kernel yang berbeda yang diinstal.
Untuk menjadikan kernel Anda (atau yang lain) sebagai default, lihat Bagaimana cara mengubah urutan boot GRUB?