Belajar Kernel Linux (Bag 2)

Selamat siang sobat find4something. Untuk melanjutkan postingan tentang Belajar Kernel Linux (Bag 1)
 saatnya kita belajar lebih lanjut untuk mengatur bagian mana saja dari kernel untuk dibentuk.
Kernel configuration dibagi menjadi beberapa bagian. Bagian-bagian tersebut ditujukan untuk beberapa topik tertentu. Sebagai contoh, semua kode sumber device driver ditempatkan di bagian “Device Drivers”.

Untuk memilih bagian Device Drivers, tekan tombol “ENTER”, sehingga muncul pilihan yang lebih spesifik lagi.
Lakukan hal yang sama untuk bagian yang kita kehendaki. Tanda [*] berarti bagian tersebut telah dipilih. Pilihannya hanya antara dipilih atau tidak. Sedangkan tanda <*> adalah pilihan untuk menjadikan built-in (Y), module (M), atau tidak dipilih (N).
Setelah selesai melakukan pilihan, pilih menu <Exit>.
Are You Sure?
Langkah di atas dapat juga dilakukan dengan GUI configuration (xconfig, gconfig). Arahkan mouse ke menu yang anda inginkan dan lakukan persis seperti langkah di atas.
Sekarang saatnya untuk membentuk kernel.
$ make
scripts/kconfig/conf -s arch/x86/Kconfig
CHK     include/linux/version.h
CHK     include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
CC      arch/x86/kernel/asm-offsets.s
GEN     include/asm/asm-offsets.h
CALL    scripts/checksyscalls.sh
CC      scripts/mod/empty.o
MKELF   scripts/mod/elfconfig.h
HOSTCC  scripts/mod/file2alias.o
HOSTCC  scripts/mod/modpost.o
HOSTCC  scripts/mod/sumversion.o
HOSTLD  scripts/mod/modpost
CC      init/main.o
CHK     include/linux/compile.h
CC      init/version.o
CC      init/do_mounts.o
CC      init/do_mounts_rd.o
CC      init/do_mounts_initrd.o
CC      init/do_mounts_md.o
LD      init/mounts.o
CC      init/initramfs.o
Tunggu hingga selesai, dan kernel image akan siap di arch/x86/boot/
Untuk membangun kernel dengan cara multithread, kita dapat menggunakan pilihan -j sebagai argumen progam make. Pemberian opsi -j diikuti dengan 2 x jumlah prosesor yang terdapat di system. Sehingga, untuk mesin dengan 2 prosesor, gunakan perintah berikut:
$ make -j4
untuk mesin dengan 4 prosesor:
$ make -j8
Bagaimana cara membentuk hanya sebagian dari kernel? Hal ini diperlukan misalnya ketika kita hanya ingin mengetes bagian tertentu saja dari kernel setelah kita lakukan perubahan. Kernel build system mendukung pilihan ini. Misalkan kita hanya ingin membangun kode sumber di direktori drivers/usb/serial
$ make drivers/usb/serial
Perintah di atas belum cukup untuk membentuk final image pada direktori tersebut. Untuk melakukannya:
$ make M=drivers/usb/serial
  Building modules, stage 2.
  MODPOST 0 modules
Untuk melihat hasilnya (.ko)
$ ls drivers/usb/serial/*.ko
file .ko adalah image modul akhir yang dapat digunakan. Kita dapat mengetesnya lebih lanjut dengan memasukkan modul ke kernel (dengan akses superuser).
$ insmod drivers/usb/serial/usbserial.ko

Comments