Cara kompail kernel debian

26
Nama : Anwar Muhammad Npm : 121055520111007 Mk : Sistem Operasi II by : mr. nhoel Judul Tugas : Cara kompail kernel Debian

Transcript of Cara kompail kernel debian

Page 1: Cara kompail kernel debian

Nama : Anwar Muhammad

Npm : 121055520111007

Mk : Sistem Operasi II

by : mr. nhoel

Judul Tugas : Cara kompail kernel Debian

Page 2: Cara kompail kernel debian

BAGAIMANA CARA KOMPAIL KERNEL DEBIAN

Setiap distribusi memiliki beberapa tools untuk membangun sebuah kernel dari source. Artikel ini adalah tentang kompilasi kernel pada sistem Debian Sarge. Ini menggambarkan bagaimana membangun sebuah kernel kustom menggunakan sumber kernel terbaru dimodifikasi dari www.kernel.org (vanilla kernel) sehingga Anda independen dari kernel yang disediakan oleh distribusi Anda. Hal ini juga menunjukkan bagaimana menambal kernel jika Anda membutuhkan fitur yang tidak ada di sana.

http://www.howtoforge.com/kernel_compilation_debian

Page 3: Cara kompail kernel debian

Saya telah menguji ini pada Debian Sarge di VMware Server.

Saya ingin mengatakan pertama bahwa ini bukan satu-satunya cara untuk membangun sistem seperti itu. Ada banyak cara untuk mencapai tujuan ini, tetapi ini adalah cara saya ambil. Saya tidak memberikan jaminan bahwa hal ini akan bekerja untuk Anda!

Page 4: Cara kompail kernel debian

Catatan awal

Tujuan dari tutorial ini adalah untuk membangun sebuah paket deb kernel yang dapat diinstal pada sistem, dan bahwa Anda dapat berbagi dengan orang lain dan diinstal pada sistem Debian Sarge lain yang merupakan keuntungan besar dibandingkan dengan "tradisional" cara di mana Anda tidak berakhir dengan paket deb.

Instal Diperlukan Paket Untuk Kernel Kompilasi

Pertama kita update database paketnya.

apt-get update

Page 5: Cara kompail kernel debian

Kemudian kita menginstal semua paket yang diperlukan seperti ini:

apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential udev

Harap dicatat bahwa kami baru saja menginstal udev yang menggantikan yang lama (usang) devfs dalam kernel baru. Default Debian Sarge kernel (2.6.8) masih menggunakan devfs yang tidak tersedia lagi di kernel baru.Download Kernel Source Selanjutnya kita download kernel yang diinginkan ke / usr / src. Pergi ke www.kernel.org dan pilih kernel yang ingin anda instal, misalnya linux-2.6.18.3.tar.bz2 (Anda dapat menemukan semua kernel 2.6 di sini:http://www.kernel.org/pub/linux/kernel/v2.6/).

Page 6: Cara kompail kernel debian

Kemudian Anda dapat men-download ke / usr / src seperti ini:

cd /usr/src

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.3.tar.bz2Kemudian kita membongkar sumber kernel dan membuat linux symlink ke direktori kernel:tar xjf linux-2.6.18.3.tar.bz2ln -s linux-2.6.18.3 linuxcd /usr/src/linux

Page 7: Cara kompail kernel debian

Terapkan Patch Untuk Kernel Source (pilihan) Kadang-kadang Anda perlu driver untuk hardware yang tidak didukung oleh kernel baru secara default, atau anda memerlukan dukungan untuk teknik virtualisasi atau teknologi baru-tepi yang belum berhasil sampai ke kernel. Dalam semua kasus ini Anda harus kompail kernel (asalkan ada patch tersedia ...). Sekarang mari kita asumsikan Anda telah men-download patch yang dibutuhkan (saya menyebutnya patch.bz2 dalam contoh ini) ke / usr / src. Ini adalah bagaimana Anda menerapkannya ke kernel anda (Anda masih harus berada di direktori / usr / src / linux):

bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-runbzip2 -dc /usr/src/patch.bz2 | patch -p1

Page 8: Cara kompail kernel debian

Jika patch Anda dikompresi dengan gzip (gz) bukan bzip2 (.bz2), maka Anda patch kernel Anda sebagai berikut:

gunzip -c /usr/src/patch.gz | patch -p1 --dry-rungunzip -c /usr/src/patch.gz | patch -p1

Anda juga dapat menerapkan prepatches kernel untuk kernel anda. Misalnya, jika Anda membutuhkan fitur yang hanya tersedia dalam kernel 2.6.19-rc6, tetapi sumber penuh belum dirilis belum untuk kernel ini. Sebaliknya, patch-2.6.19-rc6.bz2 tersedia. Anda dapat menerapkan patch yang ke source kernel 2.6.18, tetapi tidak untuk kernel 2.6.18.1 atau 2.6.18.2 atau 2.6.18.3, dll Hal ini dijelaskan pada http://kernel.org/patchtypes/pre.html:

Page 9: Cara kompail kernel debian

Prepatches adalah setara dengan rilis alpha untuk Linux; mereka tinggal di direktori pengujian dalam arsip. Mereka harus diterapkan menggunakan patch (1) utilitas untuk kode sumber dari rilis penuh sebelumnya dengan nomor versi 3-bagian (misalnya, prepatch 2.6.12-rc4 harus diterapkan pada sumber kernel 2.6.11, tidak , misalnya, 2.6.11.10.)Jadi jika Anda ingin mengkompilasi kernel 2.6.19-rc6, Anda harus men-download 2.6.18 kernel (http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18. tar.bz2) pada langkah 3 bukannya kernel 2.6.18.3! Ini adalah bagaimana Anda menerapkan patch 2.6.19-rc6 kernel 2.6.18:

cd /usr/src

wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.19-rc6.bz2

Page 10: Cara kompail kernel debian

cd /usr/src/linuxbzip2 -dc /usr/src/patch-2.6.19-rc6.bz2 | patch -p1 --dry-runbzip2 -dc /usr/src/patch-2.6.19-rc6.bz2 | patch -p1

Konfigurasi Kernel Ini adalah ide yang baik untuk menggunakan konfigurasi kernel kerja Anda saat ini sebagai dasar untuk kernel baru Anda. Oleh karena itu kita salin konfigurasi yang ada ke / usr / src / linux:

make clean && make mrpropercp /boot/config-`uname -r` ./.config

Page 11: Cara kompail kernel debian

Kemudisan kita jalankan

make-menuconfig

yang membawa pada menu konfigurasi kernel. Pergi ke Memuatkan file konfigurasi alternatif dan memilih Config (yang berisi konfigurasi kernel pekerjaan Anda saat ini) sebagai file konfigurasi:

Page 12: Cara kompail kernel debian

Kemudian gulir melalui menu konfigurasi kernel dan membuat pilihan Anda. Pastikan Anda menentukan identifikasi versi kernel di bawah Pengaturan Umum ---> () versi Lokal - append kernel rilis. Saya menggunakan -default1 sehingga paket deb kernel kita akan dinamakan linux-2.6.18.3-default1_2.6.18.3-default1_i386.deb. Pastikan bahwa string berisi angka (misalnya 1, 2, ...) karena jika proses build kernel akan menghasilkan kesalahan.

Harap dicatat: Setelah Anda menginstal linux-2.6.18.3-default1_2.6.18.3-default1_i386.deb dan memutuskan untuk mengkompilasi paket deb 2.6.18.3 kernel lain, penting untuk menggunakan string versi yang berbeda, misalnya -default2, -default3, dll, karena jika tidak, anda tidak dapat menginstal kernel baru Anda karena dpkg mengeluh bahwa linux-2.6.18.3-default1_2.6.18.3-default1_i386.deb sudah terpasang!

Page 13: Cara kompail kernel debian

1 2

3 4

Page 14: Cara kompail kernel debian

Berikutnya pastikan Anda mengaktifkan driver perangkat Fusion MPT di bawah Device Drivers -> Fusion MPT dukungan perangkat. Aku tidak tahu apakah ini diperlukan pada semua platform; setidaknya pada (Debian Sarge pada VMware Server) karena jika tidak, anda akan mendapatkan pesan kesalahan ini ketika anda boot kernel baru Anda:

• / bin / cat: / sys / block / sda / dev: Tidak ada berkas atau direktori

• y.

Page 15: Cara kompail kernel debian

yang menghasilkan kernel panik

1 2

3

Page 16: Cara kompail kernel debian

Kemudian menelusuri sisa menu konfigurasi kernel dan membuat pilihan Anda. Ketika Anda selesai dan pilih Exit, menjawab pertanyaan berikut (Apakah Anda ingin menyimpan konfigurasi kernel baru Anda?) Tekan Yes:

Page 17: Cara kompail kernel debian

Untuk membangun kernel, mengeksekusi dua perintah ini:

make-kpkg cleanfakeroot make deb-pkg

Sekarang bersabar, kompilasi kernel dapat mengambil beberapa jam, tergantung pada konfigurasi kernel Anda dan kecepatan prosesor Anda.

Page 18: Cara kompail kernel debian

Install New Kernel Setelah sukses membangun kernel, Anda dapat menemukan paket deb kernel di direktori / usr / src.

cd /usr/srcls -l

Pada sistem pengujian saya itu disebut linux-2.6.18.3-default1_2.6.18.3-default1_i386.deb. Saya menginstalnya seperti ini:

dpkg -i linux-2.6.18.3-default1_2.6.18.3-default1_i386.deb

(Anda bahkan sekarang dapat mentransfer file deb untuk sistem Debian Sarge lain dan menginstalnya ada cara yang persis sama, yang berarti Anda tidak perlu melakukan kompilasi kernel di sana lagi.)

Page 19: Cara kompail kernel debian

Buat Ramdisk Sekarang kita harus membuat ramdisk untuk kernel yang baru. Biasanya kita melakukan ini dengan mkinitrd, tapi kernel yang baru menggunakan udev bukan devfs, dan Anda kemungkinan besar akan mendapatkan pesan kesalahan ini dengan mkinitrd dihasilkan ramdisk saat boot-up:

mount: tidak diketahui tipe filesystem 'devfs'

yang mungkin menyebabkan kernel panik. Cara baru untuk menciptakan ramdisks adalah dengan mkinitrd.yaird. Backports.org memiliki paket yaird untuk Debian Sarge. Sebelum kita bisa menginstalnya, kita harus menginstal dua prasyarat:

apt-get install libhtml-template-perl libparse-recdescent-perl

Page 20: Cara kompail kernel debian

Kemudian kita install yaird seperti ini:

cd /tmpwget http://downloads.howtoforge.com/files/yaird_0.0.12-8bpo1_i386.debdpkg -i yaird_0.0.12-8bpo1_i386.deb

(Paket yaird asli terletak di http://backports.org/debian/pool/main/y/yaird/, namun dilepas sementara itu, jadi aku membuat paket yang tersedia di bawah http: //downloads.howtoforge com / files / yaird_0.0.12-8bpo1_i386.deb.)

Page 21: Cara kompail kernel debian

Sebelum kita dapat menciptakan ramdisk baru, kita harus mengedit file konfigurasi kernel baru yang dapat Anda temukan di direktori / boot (run

ls -l /boot

untuk mengetahui). Dalam tutorial ini disebut /boot/config-2.6.18.3-default1, dan dalam file tersebut kita harus komentar pada baris CONFIG_DEFCONFIG_LIST (menuju awal file) karena jika tidak mkinitrd.yaird akan melemparkan kesalahan seperti ini pada kami:

• yaird error: bad value in /boot/config-2.6.18.3-default1: CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" (fatal)

Page 22: Cara kompail kernel debian

Jadi kita melakukan ini:

vi /boot/config-2.6.18.3-default1

Sekarang kita akhirnya bisa membuat ramdisk kita seperti ini:mkinitrd.yaird -o /boot/initrd.img-2.6.18.3-default1 2.6.18.3-default1 Konfigurasi The GRUB Boot Loader

Page 23: Cara kompail kernel debian

Sekarang kita harus mengkonfigurasi GRUB boot loader kita sehingga kernel yang baru akan boot ketika kita restart sistem. Hal ini sangat mudah, hanya menjalankan

update-grub

Anda dapat memeriksa /boot/grub/menu.lst untuk melihat apakah kernel baru Anda telah ditambahkan:

vi /boot/grub/menu.lst

Seharusnya terlihat seperti ini sekarang (Anda harus menemukan dua bait untuk kernel baru Anda di bagian atas daftar stnazas kernel):

Page 24: Cara kompail kernel debian

Reboot Sekarang reboot sistem:

shutdown -r now

Jika semuanya berjalan dengan baik, itu harus datang dengan kernel baru. Anda dapat memeriksa apakah itu benar-benar menggunakan kernel baru dengan menjalankan

uname -r

Ini harus menampilkan sesuatu seperti

Page 25: Cara kompail kernel debian

2.6.18.3-default1

Jika sistem tidak mulai, restart, dan ketika Anda datang ke menu boot loader GRUB, pilih kernel lama Anda dan mulai sistem

Page 26: Cara kompail kernel debian

Anda sekarang dapat mencoba lagi untuk mengkompilasi sebuah kernel bekerja. Jangan lupa untuk menghapus dua bait dari kernel tidak-bekerja dari /boot/grub/menu.lst.11 Links Debian: http://www.debian.org Kernel Linux Archives: http://www.kernel.org