2.11 2006-01-06
Zona Waktu (Timezone)

Pertama, anda perlu memilih zona waktu anda agar sistem anda tahu dimana dia berada. Carilah zona waktu anda di /usr/share/zoneinfo, kemudian copy ke /etc/localtime. Hindari penggunaan zona waktu /usr/share/zoneinfo/Etc/GMT* karena namanya tidak mengindikasikan zona yang diharapkan. GMT-8 sesungguhnya adalah GMT+8.

# ls /usr/share/zoneinfo
(Misalnya anda ingin menggunakan GMT)
# cp /usr/share/zoneinfo/GMT /etc/localtime
Instal Source Memilih Sebuah Kernel

Inti/Jantung dari semua distro adalah kernel Linux. Kernel merupakan sebuah lapisan antara program-program pengguna dengan perangkat keras sistem. Gentoo menyediakan beberapa kernel kepada para penggunanya. Sebuah daftar lengkap beserta penjelasannya dapat ditemui di Panduan Kernel Gentoo.

Untuk sistem berbasis x86 Gentoo menyediakan, di antara kernel-kernel lainnya, vanilla-sources (kernel default yang dikembangkan oleh para developer kernel Linux), gentoo-sources (kernel yang telah dipatch dengan fitur-fitur peningkat performa), ...

Pilihlah kernel anda dan instal menggunakan perintah emerge. USE="-doc" diperlukan untuk menghindari instalasi xorg-x11 atau dependensi lain untuk saat ini. USE="symlink" tidak diperlukan untuk instalasi baru tapi pastikan anda memciptakan symlink yang benar untuk /usr/src/linux

# USE="-doc symlink" emerge gentoo-sources

Jika anda melihat ke direktori /usr/src, anda akan menemukan sebuah link simbolik (symlink) bernama linux yang menunjuk ke kernel gentoo-sources-2.6.12-r10. Versi anda mungkin berbeda, jadi ingatlah ini.

# ls -l /usr/src/linux
 lrwxrwxrwx    1 root     root           12 Oct 13 11:04 /usr/src/linux -> linux-2.6.12-gentoo-r10

Sekarang saatnya untuk mengkonfigurasi dan kompilasi kernel anda. Anda dapat menggunakan genkernel untuk melakukannya, yang akan menciptakan sebuah kernel generik seperti yang digunakan oleh CD Instalasi. Kami akan menjelaskan cara konfigurasi secara "manual" dahulu, karena cara ini adalah cara terbaik untuk mengoptimasi sistem anda.

Jika anda ingin mengkonfigurasi kernel anda secara manual, lanjutkan ke Default: Konfigurasi Manual. Jika anda ingin menggunakan genkernel, anda sebaiknya membaca bagian Alternatif: Menggunakan genkernel.

Default: Konfigurasi Manual Pendahuluan

Konfigurasi kernel secara manual tampaknya adalah prosedur tersulit yang harus dijalankan oleh setiap pengguna Linux. Memang benar -- setelah mengkonfigurasi beberapa kernel, anda tidak akan lagi ingat bahwa cara tersebut sulit ;-)

Bagaimanapun juga, satu hal selalu benar: anda harus mengenal sistem anda sebelum mulai mengkonfigurasi kernel secara manual. Kebanyakan informasi dapat ditemukan dengan menginstall pciutils (emerge pciutils) yang berisi lspci. Anda juga bisa menggunakan lspci dari dalam lingkungan chroot. Biarkan saja peringatan pcilib (seperti pcilib: cannot open /sys/bus/pci/devices) yang dikeluarkan oleh lspci. Anda dapat juga menggunakan lspci dari lingkungan non-chroot. Hasilnya sama saja. Anda dapat juga menjalankan lsmod untuk melihat modul kernel apa saja yang digunakan oleh CD Instalasi (tampilan tersebut mungkin memberi gambaran bagi anda apa saja yang harus diaktifkan).

Sekarang, masuklah ke direktori kernel anda dan jalankan make menuconfig. Perintah ini akan menjalankan menu konfigurasi berbasis ncurses.

# cd /usr/src/linux
# make menuconfig

Anda akan menemukan beberapa seksi konfigurasi. Kami pertama-tama akan menjelaskan beberapa opsi yang harus anda aktifkan (jika tidak, Gentoo tidak dapat berjalan dengan benar tanpa twek tambahan).

Mengaktifkan Opsi-Opsi yang Diperlukan

Pertama, aktifkan penggunaan "development and experimental code/drivers". Anda memerlukannya, jika tidak, beberapa code/driver yang sangat penting tidak akan ditampilkan:

Code maturity level options --->
  [*] Prompt for development and/or incomplete code/drivers
General setup  --->
  [*] Support for hot-pluggable devices

Pastikan agar setiap driver yang diperlukan untuk mem-boot sistem anda (mis. SCSI Controller, ...) dikompilasi di kernel, dan bukan sebagai modul, jika tidak, sistem anda tidak akan bisa boot dengan sempurna.

Sekarang tipe prosesor yang tepat:

Processor type and features --->
  (Gantikan sesuai sistem anda)
  (Athlon/Duron/K7) Processor family

Sekarang masuklah ke File Systems dan aktifkan dukungan terhadap filesystem yang anda gunakan. Jangan kompilasi dukungan tersebut sebagai modul, jika tidak, sistem Gentoo anda tidak akan dapat me-mount partisi-partisi anda. Serta, aktifkan juga Virtual memory dan /proc file system. Jika anda menggunakan kernel 2.4, anda perlu mengaktifkan /dev file system karena kernel 2.4 tidak mendukung udev.

(Untuk kernel 2.4.x)
File systems --->
  [*] Virtual memory file system support (former shm fs)
  [*] /proc file system support
  [*] /dev file system support (EXPERIMENTAL)
  [*]   Automatically mount at boot
  [ ] /dev/pts file system for Unix98 PTYs

(Untuk kernel 2.6.x)
File systems --->
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] Virtual memory file system support (former shm fs)

(Aktifkan satu atau lebih opsi-opsi berikut sesuai kebutuhan sistem anda)
  <*> Reiserfs support
  <*> Ext3 journalling file system support
  <*> JFS filesystem support
  <*> Second extended fs support
  <*> XFS filesystem support

Jika BIOS anda tidak dapat menangani harddrive besar dan anda melompati harddrive untuk melaporkan besar yang terbatas, anda harus mengaktifkan opsi berikut untuk mendapatkan akses ke seluruh harddrive anda:

(Hanya untuk kernel 2.4)
ATA/IDE/MFM/RLL support --->
  IDE, ATA and ATAPI Block devices --->
    <*>   Include IDE/ATA-2 DISK support
    [ ]     Use multi-mode by default
    [*]     Auto-Geometry Resizing support

Jangan lupa mengaktifkan DMA untuk drive-drive anda:

  Device Drivers --->
  ATA/ATAPI/MFM/RLL support --->
  [*] Generic PCI bus-master DMA support
  [*]   Use PCI DMA by default when available

Jika anda menggunakan PPPoE untuk koneksi internet atau modem dial-up, anda memerlukan opsi-opsi berikut di kernel:

(Untuk kernel 2.4.x)
Network device support --->
  <*> PPP (point-to-point protocol) support
  <*>   PPP support for async serial ports
  <*>   PPP support for sync tty ports

(Untuk kernel 2.6.x)
Device Drivers --->
  Networking support --->
    <*> PPP (point-to-point protocol) support
    <*>   PPP support for async serial ports
    <*>   PPP support for sync tty ports

Kedua opsi-opsi kompresi tidak berbahaya tetapi tidak benar-benar diperlukan, begitu juga dengan opsi PPP over Ethernet, opsi-opsi tersebut mungkin hanya digunakan oleh rp-pppoe jika dikonfigurasi untuk melakukan modus kernel PPPoE.

Jika anda memerlukannya, jangan lupa untuk mengikutsertakan dukungan kernel terhadap kartu ethernet anda.

Jika anda memiliki prosesor Intel yang mendukung HyperThreading (tm), atau anda memiliki sistem multi-CPU, anda sebaiknya mengaktifkan "Symmetric multi-processing support":

Processor type and features  --->
  [*] Symmetric multi-processing support
Pada sistem multi-core, setiap core dianggap sebagai satu prosesor.

Jika anda menggunakan perangkat input USB (seperti Keyboard atau Mouse), jangan lupa untuk mengaktifkan dukungannya juga:

USB Support --->
  <*>   USB Human Interface Device (full HID) support

Para pengguna laptop yang menginginkan dukungan PCMCIA sebaiknya tidak menggunakan driver-driver PCMCIA jika mereka memilih menggunakan kernel 2.4. Driver-driver yang lebih baru tersedia di paket pcmcia-cs yang akan diinstal nanti. Sedangkan, para pengguna kernel 2.6 sebaiknya menggunakan driver-driver PCMCIA dari kernel.

Disamping mengkompilasi dukungan PCMCIA kernel 2.6 , jangan lupa juga untuk mengaktifkan dukungan untuk kartu bridge PCMCIA yang ada di sistem anda:

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
  PCCARD (PCMCIA/CardBus) support  --->
    <*> PCCard (PCMCIA/CardBus) support
(pilih 16 bit jika anda memerlukan dukungan untuk kartu PCMCIA lama. Kebanyakan orang menginginkan ini.)
    <*>   16-bit PCMCIA support
    [*]   32-bit CardBus support
(pilih bridges yang sesuai di bawah ini)
    --- PC-card bridges
    <*> CardBus yenta-compatible bridge support (NEW)
    <*> Cirrus PD6729 compatible bridge support (NEW)
    <*> i82092 compatible bridge support (NEW)
    <*> i82365 compatible bridge support (NEW)
    <*> Databook TCIC host bridge support (NEW)

Setelah anda selesai mengkonfigurasi kernel, lanjutkan ke Kompilasi dan Instalasi.

Kompilasi dan Instalasi

Setelah kernel anda dikonfigurasi, sekarang saatnya untuk mengkompilasi dan menginstalnya. Keluarlah dari menu konfigurasi dan mulailah proses kompilasi:

(Untuk kernel 2.4)
# make dep && make bzImage modules modules_install

(Untuk kernel 2.6)
# make && make modules_install

Setelah kernel selesai dikompilasi, copy imej kernel tersebut ke /boot. Gunakan nama apapun yang anda rasa cocok untuk pilihan anda dan ingatlah karena anda akan memerlukannya nanti pada saat mengkonfigurasi bootloader. Jangan lupa untuk mengganti <versi-kernel> dengan nama dan versi kernel anda.

# cp arch/i386/boot/bzImage /boot/<versi-kernel>

Sekarang lanjutkan ke Modul-Modul Kernel.

Alternatif: Menggunakan genkernel

Jika anda membaca bagian ini, berarti anda memilih untuk menggunakan skrip genkernel kami untuk mengkonfigurasi kernel bagi anda.

Setelah source kernel anda terinstal, sekarang saatnya untuk mengkompilasi kernel anda menggunakan skrip genkernel kami untuk membangun sebuah kernel secara otomatis bagi anda. genkernel bekerja dengan mengkonfigurasi sebuah kernel yang hampir sama dengan cara kernel CD Instalasi kami dikonfigurasi. Hal ini berarti, jika anda menggunakan genkernel untuk membangun kernel anda, sistem anda akan secara umum mendeteksi semua perangkat keras anda pada saat boot, seperti yang dilakukan oleh CD Instalasi kami. Karena genkernel tidak memerlukan konfigurasi kernel secara manual, cara ini merupakan cara yang ideal bagi para pengguna yang tidak terbiasa mengkompilasi kernel mereka sendiri.

Sekarang, marilah kita lihat cara menggunakan genkernel. Pertama, emerge paket genkernel:

# emerge genkernel

Kemudian, jika anda akan mengkonfigurasi kernel 2.6, salinlah konfigurasi kernel yang digunakan oleh CD Instalasi ke lokasi yang akan diperiksa oleh genkernel sebagai konfigurasi default kernel.

(Lakukan ini hanya jika anda akan mengkonfigurasi kernel 2.6)
# zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6

Lalu, kompilasilah kernel anda dengan menjalankan perintah genkernel all. Perlu anda ketahui juga, karena genkernel mengkompilasi sebuah kernel yang mendukung hampir semua perangkat keras, kompilasi ini akan berjalan cukup lama!

Catat juga, jika partisi boot anda tidak menggunakan ext2 atau ext3 sebagai filesystemnya, anda mungkin perlu mengkonfigurasi kernel anda secara manual menggunakan perintah genkernel --menuconfig all dan tambahkan dukungan terhadap filesystem anda di kernel (bukan sebagai modul). Pengguna EVMS2 atau LVM2 mungkin juga ingin menambahkan --evms2 atau --lvm2 sebagai argumen.

# genkernel all

Setelah genkernel selesai, sebuah kernel, set lengkap modul, dan initial root disk (initrd) akan diciptakan. Kita akan menggunakan kernel dan initrd tersebut pada saat mengkonfigurasi bootloader nantinya. Catat nama kernel dan initrd anda karena anda akan memerlukannya nanti pada saat menulis file konfigurasi bootloader. initrd akan dijalankan secara otomatis pada saat boot untuk melakukan otodeteksi perangkat keras (hardware) (seperti CD Instalasi ) sebelum sistem "asli" dijalankan.

# ls /boot/kernel* /boot/initramfs*

Sekarang, mari kita jalankan satu langkah lagi untuk membuat sistem kita lebih persis dengan CD Instalasi -- mari emerge coldplug. Jika initrd melakukan otodeteksi perangkat keras yang diperlukan pada saat sistem anda boot, coldplug melakukan otodeteksi sisanya. Ketikkan perintah berikut untuk me-emerge dan mengaktifkan coldplug:

# emerge coldplug
# rc-update add coldplug boot
Modul-Modul Kernel Konfigurasi Modul-Modul

Anda harus menuliskan semua modul-modul yang ingin anda load secara otomatis di file /etc/modules.autoload.d/kernel-2.4 (atau kernel-2.6). Anda dapat juga menambahkan opsi-opsi tambahan pada modul-modul tersebut jika anda mau.

Untuk melihat modul-modul yang tersedia, jalankan perintah find berikut. Jangan lupa untuk menggantikan "<versi kernel>" dengan versi kernel yang baru saja anda kompilasi:

# find /lib/modules/<versi kernel>/ -type f -iname '*.o' -or -iname '*.ko'

Misalnya, untuk meload modul 3c59x.o secara otomatis, edit file kernel-2.4 atau kernel-2.6 dan tuliskan nama modul tersebut di dalamnya.

(Contoh untuk kernel-kernel 2.4)
# nano -w /etc/modules.autoload.d/kernel-2.4
3c59x

Lanjutkan proses instalasi dengan bab Mengkonfigurasi Sistem anda.