Bagaimana Menyesuaikan Kernel Ubuntu anda
Penyesuaian kernel bukan untuk semua orang. Sila ambil perhatian sebelum anda mencuba mana-mana yang boleh memecahkan sistem anda.
Ada banyak alasan yang anda mahu menyesuaikan kernel anda. Anda mungkin mahu mengurangkan kernel anda hanya untuk perkhidmatan yang diperlukan, terutamanya jika anda menjalankan pelayan atau peranti khusus yang hanya memerlukan keperluan. Anda juga mungkin perlu menambal kernel anda untuk menyokong perkakasan yang tidak disokong dengan kernel yang sedang dijalankan.
Artikel ini tidak akan menjelaskan bagaimana untuk menambal kernel anda, bagaimana cara menyesuaikan masa anda sekarang. Saya akan mempunyai satu lagi artikel susulan yang menjelaskan bagaimana untuk menambal kernel anda, dan beberapa sebab praktikal mengapa anda ingin berbuat demikian.
Untuk memulakan, kita perlu memikirkan versi kernel yang sedang dijalankan. Kami akan menggunakan arahan uname untuk itu
$ uname -r
2.6.17-10-generik
Kini kita perlu Memasang sumber linux untuk kernel anda, ambil perhatian bahawa saya menjalankan kernel 2.6.17-10, jadi baris installer mencerminkannya. Untuk tujuan artikel ini, anda boleh menggantikan nombor kernel untuk apa sahaja yang anda jalankan. Kami juga perlu memasang perpustakaan kutukan dan beberapa alat lain untuk membantu kami menyusunnya.
sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot
Jika anda ingin tahu di mana sumber linux dipasang, anda boleh menggunakan perintah dpkg untuk memberitahu anda fail dalam pakej. Inilah output pada sistem saya:
$ dpkg -L linux-source-2.6.17
/.
/ usr
/ usr / src
/usr/src/linux-source-2.6.17.tar.bz2
/ usr / share
/ usr / share / doc
/usr/share/doc/linux-source-2.6.17
(dipotong)
Kita dapat melihat bahawa sumber telah dipasang ke direktori / usr / src dalam fail zip.
Untuk membuat perkara lebih mudah, kami akan meletakkan diri kami dalam mod root dengan menggunakan sudo untuk membuka shell baru. Terdapat cara lain untuk melakukan ini, tetapi saya lebih suka cara ini.
sudo / bin / bash
Sekarang ubah direktori ke lokasi sumber supaya kita boleh memasang. Perhatikan bahawa anda mungkin perlu memasang utiliti bunzip jika tidak dipasang. (ia pada saya)
cd / usr / src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
Buat salinan konfigurasi kernel anda yang sedia ada untuk digunakan untuk proses menyusun tersuai. Perhatikan bahawa 'watak adalah yang di bawah tilde ~
cp / boot / config-'uname -r '/usr/src/linux/.config
Kini kami akan melancarkan utiliti yang akan membolehkan kami menyesuaikan kernel:
cd / usr / src / linux
buat menuconfig
Pertama, pergi ke Muatkan Fail Konfigurasi Alternatif, dan muatkan fail .config. (hanya tekan enter)
Sekarang bahawa kita berada di dalam utiliti, kita boleh menetapkan pilihan untuk kernel khusus kita. Navigasi agak mudah, ada legenda di bahagian atas jika anda tersesat. Saya memutuskan untuk memilih Rangkaian dan tekan kekunci Enter untuk pergi ke kategori tersebut.
Sokongan Radio Amatur? Apa yang ada di dalam neraka itu? Anda akan perhatikan oleh * bahawa ia terbina dalam kernel.
Dengan menekan butang? kunci, kita dapat melihat bantuan untuk item tersebut. Inilah penjelasannya:
Nah, saya akan melumpuhkannya dengan serta-merta. Kenapa di bumi ini dipasang di kernel saya? Saya menekan Esc untuk keluar dari skrin bantuan, dan kemudian tekan N untuk mengecualikan daripada kernel saya.
Apabila anda selesai membuat apa sahaja pilihan yang anda mahu, tekan Exit dan simpan konfigurasi apabila diminta.
Sekarang kita mempunyai konfigurasi yang sedia untuk dikompilasi. Mula-mula kita akan buat bersih, hanya untuk memastikan segala-galanya siap untuk menyusunnya.
membuat-kpkg bersih
Seterusnya kita akan menyusun kernel. Ini akan mengambil masa yang lama, jadi dapatkan sesuatu yang menarik untuk dilakukan.
fakeroot make-kpkg -initrd -append-to-version = -custom kernel_image kernel_headers
Proses ini akan membuat dua fail .deb dalam / usr / src yang mengandungi kernel. Imej linux-image **** adalah imej kernel yang sebenarnya, dan fail lain mengandungi Anda boleh memasang kedua-duanya dengan dpkg. Nama fail mungkin berbeza pada sistem anda.
Sila ambil perhatian bahawa apabila anda menjalankan perintah berikut, ini akan menetapkan kernel baru sebagai kernel lalai yang baru. Ini boleh memecahkan perkara! Jika mesin anda tidak boot, anda boleh menekan Esc di menu muat GRUB, dan pilih kernel lama anda. Anda kemudian boleh menyahdayakan kernel di /boot/grub/menu.lst atau cuba dan kumpulkan lagi.
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
Sekarang reboot mesin anda. Jika semuanya berfungsi, anda perlu menjalankan kernel tersuai baru anda. Anda boleh menyemak ini dengan menggunakan uname. Perhatikan bahawa nombor yang tepat akan berbeza pada mesin anda.
uname -r
2.6.17.14-ubuntu1-custom
Saya merancang untuk menulis beberapa artikel mengenai penyesuaian kernel, jadi langgan RSS feed untuk kemas kini.
Juga, demi kepentingan pendedahan penuh, saya belajar bagaimana melakukan ini dari artikel di HowtoForge, yang merupakan laman web hebat untuk beberapa tutorial yang sangat maju di linux. Anda akan perhatikan bahawa banyak langkah dalam artikel ini sama, walaupun saya cuba membuat artikel ini lebih "Ubuntu".