2.15 2006-05-28
Menentukan Pilihan Anda Pendahuluan

Sekarang setelah kernel anda terkonfigurasi dan dikompilasi, serta file-file konfigurasi sistem yang penting telah diisi dengan benar, ini saatnya untuk menginstal sebuah program yang akan menjalankan kernel anda sewaktu anda menghidupkan komputer anda. Program tersebut adalah bootloader. Untuk x86, gentoo menyediakan GRUB dan LILO. Tapi sebelum kita menginstal salah satu dari dua bootloader ini, kami akan menunjukkan cara mengkonfigurasi framebuffer (pastinya dengan anggapan anda ingin menggunakannya). Dengan framebuffer, anda dapat menjalankan baris perintah Linux dengan fitur-fitur (terbatas), seperti menggunakan gambar bootsplash yang disediakan Gentoo).

Opsional: Framebuffer

Jika anda telah mengkonfigurasi kernel anda dengan dukungan framebuffer (atau anda menggunakan konfigurasi kernel default genkernel), anda dapat mengaktifkannya dengan menambahkan argumen vga dan/atau statemen video ke file konfigurasi bootloader anda.

Pertama, anda harus tahu jenis device framebuffer apa yang sedang anda gunakan. Jika anda menggunakan kernel Gentoo yang telah di-patch (seperti gentoo-sources), anda akan memiliki kemungkinan untuk memilih vesafb-tng sebagai tipe driver VESA (yang merupakan default untuk kernel-kernel ini. Jika memang ini kasusnya, berarti anda menggunakan vesafb-tng dan tindak perlu mengeset statemen vga. Kalau bukan, berarti anda menggunakan driver vesafb dan perlu mengeset statemen vga.

Statemen vga mengendalikan resolusi dan kedalaman warna layar framebuffer anda untuk vesafb. Seperti yang dijelaskan di /usr/src/linux/Documentation/fb/vesafb.txt (yang terinstall ketika anda menginstall sebuah paket source kernel), anda perlu memasukkan nomor VESA yang sesuai dengan resolusi dan kedalaman warna yang dibutuhkan.

Tabel di bawah ini menjabarkan resolusi-resolusi dan kedalaman warna dan menyesuaikannya dengan nilai yang harus anda masukkan di statemen vga.

0x3010x3030x3050x3070x3100x3130x3160x3190x3110x3140x3170x31A0x3120x3150x3180x31B
640x480 800x600 1024x768 1280x1024
256
32k
64k
16M

Statemen video mengatur opsi-opsi display framebuffer. Diperlukan driver framebuffer (vesafb untuk kernel 2.6, atau vesa untuk kernel 2.4) diikuti dengan statemen control yang ingin anda aktifkan. Semua variabel tercantum di /usr/src/linux/Documentation/fb/vesafb.txt, tapi di sini kami akan menjelaskan tiga opsi yang paling sering digunakan:

ywrap Dengan anggapan kartu grafis bisa melilit (wrap) di sekitar memori yang ada (yakni melanjutkan lagi dari awal ketika telah mencapai bagian akhir) mtrr:n Setup register MTRR. n bisa salah satu dari: 0 - disabled 1 - uncachable 2 - write-back 3 - write-combining 4 - write-through mode (hanya vesafb-tng)
Menentukan resolusi, kedalaman warna dan refresh rate. Sebagai contoh, 1024x768-32@85 untuk resolusi 1024x768, kedalaman warna 32 bit, dan refresh rate 85 Hz.
Control Penjelasan

Hasil dari dua statemen di atas bisa berupa vga=0x318 video=vesafb:mtrr:3,ywrap atau video=vesafb:mtrr:3,ywrap,1024x768-32@85. Ingatlah (atau tulis) setting ini; anda akan membutuhkannya sebentar lagi.

Sekarang lanjutkan instalasi GRUB. atau LILO.

Default: Menggunakan GRUB Mengerti Terminologi GRUB

Bagian paling penting dalam mempelajari GRUB adalah menyesuaikan diri dengan cara GRUB menamai harddisk dan partisi. Partisi Linux /dev/hda1 (untuk drive IDE) atau /dev/sda1 (untuk drive SATA/SCSI anda kemungkinan besar akan dinamai (hd0,0) oleh GRUB. Perhatikan tanda kurung di sekitar hd0,0 - tanda kurung tersebut diperlukan.

Hard disk dihitung mulai dari nol bukan "a" dan partisi-partisi dimulai dari nol bukan satu. Anda juga perlu mengetahui bahwa untuk perangkat hd, hanya hard disk yang dihitung, bukan perangkat atapi-ide seperti cdrom dan cd-rw. Dan, penamaan yang sama berlaku untuk perangkat SCSI. (Biasanya perangkat SCSI mendapatkan nomor yang lebih tinggi daripada perangkat IDE, kecuali jika bios dikonfigurasi untuk boot dari perangkat SCSI). Ketika anda mengatur BIOS untuk mem-boot ke perangkat harddisk lain (misalkan slave pertama), harddisk itulah yang dianggap sebagai hd0.

Anggap anda mempunyai sebuah harddisk di /dev/hda, sebuah cdrom di /dev/hdb, sebuah cd-rw di /dev/hdc, sebuah harddisk ke dua di /dev/hdd, dan tidak ada perangkat SCSI; /dev/hdd7 akan dinamai (hd1,6). Mungkin kedengarannya rumit, tetapi walaupun rumit, GRUB menyediakan mekanisme tab completion yang sangat berguna bagi mereka yang memiliki banyak harddisk dan partisi, dan juga bagi mereka yang kurang mengerti tentang skema penomoran GRUB.

Setelah anda terbiasa dengan skema penomoran GRUB, sekarang saatnya untuk menginstal GRUB.

Instalasi GRUB

Untuk menginstal GRUB, pertama marilah kita emerge paketnya:

# emerge grub

Walaupun sekarang GRUB telah terinstal, kita masih perlu menuliskan sebuah file konfigurasinya dan menginstal GRUB di MBR, agar GRUB secara otomatis boot kernel yang baru anda buat. Buatlah file /boot/grub/grub.conf menggunakan nano (atau, jika ada, editor lain):

# nano -w /boot/grub/grub.conf

Sekarang kita akan menulis isi grub.conf. Di bawah ini, anda akan menemukan dua contoh grub.conf untuk contoh skema partisi yang kita gunakan di panduan ini. Kami hanya memberikan banyak komentar di contoh grub.conf yang pertama. Pastikan anda menggunakan nama file imej kernel anda, dan jika ada, imej initrd anda.

  • grub.conf yang pertama ditujukan bagi orang-orang yang tidak menggunakan genkernel untuk membangun kernelnya
  • grub.conf yang ke dua ditujukan bagi orang-orang yang menggunakan genkernel untuk membangun kernelnya
Jika filesystem root anda adalah JFS, anda harus menambahkan " ro" ke baris kernel karena JFS perlu me-replay log-nya sebelum bisa melakukan mounting read-write.
# Daftar ke berapa yang diboot secara default. 0 adalah pertama, 1 adalah ke dua, dll.
default 0
# Berapa detik GRUB harus menunggu sebelum daftar default diboot.
timeout 30
# Keren, gambar latar belakang agar tampilan lebih bagus :)
# Beri tanda komentar ('#') jika anda tidak memiliki video grafis
splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12-r10
# Partisi tempat imej kernel (atau sistem operasi) berada
root (hd0,0)
kernel /kernel-2.6.12-gentoo-r10 root=/dev/hda3

# Tiga baris berikutnya hanya digunakan jika anda melakukan dualboot dengan sebuah sistem Windows.
# Di contoh ini, Windows berada di partisi /dev/hda6.
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12-r10
root (hd0,0)
kernel /boot/kernel-genkernel-x86-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /boot/initramfs-genkernel-x86-2.6.12-gentoo-r10

# Hanya jika anda ingin dual-boot
title=Windows XP
root (hd0,5)
makeactive
chainloader +1
udev yang diletakkan di akhir baris kernel diperlukan untuk menyiasati sebuah bug di beberapa versi genkernel jika memang anda menggunakan udev (yang merupakan default).

Jika anda menggunakan skema partisi dan/atau imej kernel yang berbeda, sesuaikanlah dengan partisi/kernel anda. Bagaimanapun juga, pastikan bahwa semua yang berhubungan dengan perangkat GRUB (mis. (hd0,0)) berada relatif terhadap mountpoin, bukan partisi root. Dengan kata lain, (hd0,0)/grub/splash.xpm.gz sebenarnya adalah /boot/grub/splash.xpm.gz karena (hd0,0) adalah partisi /boot.

Selain itu, jika anda menggunakan skema partisi yang berbeda dan tidak meletakkan /boot partisi terpisah, maka prefix (awalan) /boot yang digunakan pada contoh di atas benar-benar diperlukan. Jika anda mengikuti skema partisi yang kami sarankan, maka awalan /boot tidak diperlukan, tapi sebuah symlink boot akan mengatasinya. Singkatnya, contoh-contoh di atas seharusnya bisa berfungsi, apakah anda menggunakan partisi /boot terpisah atau tidak.

Jika anda perlu menambahkan opsi-opsi tambahan ke kernel, tambahkan saja opsi-opsi tersebut di akhir perintah kernel. Kita telah menambahkan sebuah opsi (root=/dev/hda3 atau real_root=/dev/hda3), tetapi anda dapat menambahkan opsi-opsi lain lagi. Sebagai contoh, kita tambahkan opsi vga untuk dukungan framebuffer seperti yang telah kita diskusikan sebelumnya.

Jika anda menggunakan kernel 2.6.7 atau yang lebih baru dan anda men-jumper harddisk anda karena BIOS tidak mampu menangani harddisk besar, maka anda perlu menambahkan hdx=stroke.

Pengguna genkernel seharusnya tahu bahwa kernel mereka menggunakan opsi-opsi boot yang sama seperti CD Instalasi. Misalnya, jika anda memiliki perangkat SCSI, anda seharusnya menambahkan doscsi sebagai opsi kernel.

Sekarang, simpanlah file grub.conf tersebut dan keluar. Anda masih perlu menginstal GRUB di MBR (Master Boot Record) agar GRUB secara otomatis dijalankan ketika sistem anda diboot.

Para developer GRUB merekomendasikan penggunaan grub-install. Tetapi, jika karena suatu alasan grub-install gagal berfungsi, anda tetap memiliki pilihan untuk menginstal GRUB secara manual.

Lanjutkan ke Default: Set up GRUB menggunakan grub-install atau Alternatif: Set up GRUB menggunakan instruksi manual.

Default: Set up GRUB menggunakan grub-install

Untuk menginstal GRUB, anda perlu menjalankan perintah grub-install. Tetapi, grub-install tidak akan berfungsi karena kita berada di lingkungan chroot. Kita perlu mengupdate /etc/mtab (file dengan informasi filesystem-filesystem yang termount) terlebih dahulu: untungnya, terdapat cara yang mudah untuk melakukannya - copy saja /proc/mounts ke /etc/mtab, kecuali baris rootfs jika anda tidak membuat partisi boot terpisah. Perintah berikut ini bisa digunakan pada kedua kasus.

# grep -v rootfs /proc/mounts > /etc/mtab

Sekarang, kita dapat menginstal GRUB menggunakan grub-install:

# grub-install /dev/hda

Jika anda memiliki pertanyaan lain tentang GRUB, silahkan membaca FAQ GRUB atau Manual GRUB.

Lanjutkan ke Reboot Sistem.

Alternative: Set up GRUB menggunakan instruksi manual

Untuk mulai mengkonfigurasi GRUB, ketik grub. Anda akan menemui prompt baris perintah grub grub>. Sekarang, anda perlu mengetikkan perintah-perintah yang benar untuk menginstal GRUB ke harddisk anda.

# grub
Jika sistem anda tidak memiliki drive floppy, tambahkan opsi --no-floppy ke perintah di atas untuk mencegah grub mencari drive floppy (yang tidak ada).

Di contoh konfigurasi, kita ingin menginstal GRUB agar GRUB membaca informasinya dari partisi boot /dev/hda1, dan menginstal boot record GRUB di MBR (Master Boot Record) harddisk, jadi hal yang pertama kita lihat sewaktu menyalakan komputer adalah prompt GRUB. Tentu saja, jika anda tidak mengikuti contoh konfigurasi selama proses instalasi, gantikan perintah-perintahnya sesuai konfigurasi anda.

Mekanisme tab completion GRUB dapat digunakan di dalam GRUB. Sebagai contoh, jika anda menekan "root (" diikuti oleh TAB, GRUB akan menampilkan sebuah daftar perangkat (mis. hd0). Jika anda menekan "root (hd0," diikuti oleh TAB, anda akan mendapatkan sebuah daftar partisi-partisi yang tersedia untuk dipilih (mis. hd0,0).

Dengan menggunakan mekanisme tab completion ini, GRUB seharusnya tidak sulit untuk di-setup. Sekarang lanjutkan, konfigurasilah GRUB :-)

grub> root (hd0,0)          (tuliskan di manakah partisi /boot anda berada)
grub> setup (hd0)           (Instal GRUB di MBR)
grub> quit                  (Keluar dari GRUB)
Jika anda ingin menginstal GRUB di partisi tertentu daripada MBR, anda harus mengubah perintah setup tadi agar GRUB menunjukkan partisi yang benar. Jika anda ingin menginstal GRUB di partisi /dev/hda3, maka perintahnya akan menjadi setup (hd0,2). Walaupun begitu, hanya sedikit pengguna yang ingin melakukan hal ini.

Jika anda memiliki pertanyaan lain tentang GRUB, silahkan membaca FAQ GRUB atau Manual GRUB.

Ketika anda menginstal ulang sebuah kernel, anda tidak perlu lagi menyalin (copy) file-file nya lagi. Jalankan saja make install setelah mengkompilasi kernel; maka filenya akan disalin secara otomatis, dan configurasi GRUB juga akan disesuaikan.

Lanjutkan ke Reboot Sistem.

Alternatif: Menggunakan LILO Instalasi LILO

LILO, singkatan dari LInuxLOader, adalah boot loader linux asli yang telah terpercaya. Tetapi, LILO tidak memiliki beberapa fitur yang dimiliki oleh GRUB (yang juga merupakan alasan mengapa GRUB sangat populer saat ini). Alasan LILO masih tetap digunakan di beberapa sistem adalah karena GRUB tidak berfungsi dan LILO berfungsi. Tentu saja, LILO masih digunakan juga karena beberapa orang sangat mengenal LILO dan ingin tetap menggunakannya. Untuk alasan manapun,Gentoo mendukung keduanya, dan sepertinya anda telah memilih untuk menggunakan LILO.

Instalasi LILO sangat mudah, gunakan saja emerge.

# emerge lilo
Konfigurasi LILO

Untuk mengkonfigurasi LILO, anda harus menciptakan file /etc/lilo.conf. Jalankan editor favorit anda (di buku panduan ini, kami menggunakan nano untuk konsistensi) dan ciptakan file tersebut.

# nano -w /etc/lilo.conf

Beberapa seksi sebelumnya kami meminta anda untuk mengingat nama imej kernel yang anda buat. Di contoh lilo.conf berikut ini, kami menggunakan contoh skema partisi sebelumnya dalam contoh ini. Terdapat dua bagian yang terpisah, yaitu:

  • Satu untuk para pengguna yang tidak menggunakan genkernel untuk menciptakan kernel mereka.
  • Satu untuk para pengguna yang menggunakan genkernel untuk menciptakan kernel mereka.

Pastikan untuk menggunakan nama imej kernel anda dan, jika terpakai, nama imej initrd anda.

Jika filesystem root anda adalah JFS, anda harus menambahkan " ro" ke baris kernel karena JFS perlu me-replay log-nya sebelum bisa melakukan mounting read-write.
boot=/dev/hda             # Instal LILO di MBR
prompt                    # Berikan pengguna kesempatan untuk memilih seksi lain
timeout=50                # Tunggu 5 (lima) detik sebelum boot seksi default
default=gentoo            # Setelah waktu tunggu selesai, boot seksi "gentoo"

# Untuk pengguna non-genkernel
image=/boot/kernel-2.6.12-gentoo-r10
  label=gentoo            # Nama dari seksi ini
  read-only               # Mulai dengan root read-only. Jangan diubah!
  root=/dev/hda3          # Lokasi filesystem root

# Untuk pengguna genkernel
image=/boot/kernel-genkernel-x86-2.6.12-gentoo-r10
  label=gentoo
  read-only
  root=/dev/ram0
  append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev"
  initrd=/boot/initramfs-genkernel-2.6.12-gentoo-r10

# Dua baris berikutnya hanya digunakan jika anda dualboot dengan sistem Windows.
# Di contoh ini, Windows berada di partisi /dev/hda6.
other=/dev/hda6
  label=windows
udev yang diletakkan di akhir baris kernel diperlukan untuk menyiasati sebuah bug di beberapa versi genkernel jika memang anda menggunakan udev (yang merupakan default). Jika anda menggunakan skema partisi dan/atau imej kernel yang berbeda, sesuaikanlah dengan partisi/kernel anda.

Jika anda perlu menambahkan opsi-opsi kernel tambahan, tambahkan argumen append ke seksi tersebut. Sebagai contoh, kita tambahkan argumen vga=788 untuk mengaktifkan dukungan framebuffer:

image=/boot/kernel-2.6.12-gentoo-r10
  label=gentoo
  read-only
  root=/dev/hda3
  append="video=vesafb:mtrr,ywrap,1024x768-32@85"

Jika anda menggunakan kernel 2.6.7 atau yang lebih tinggi, dan anda men-jumper harddrive anda karena BIOS tidak dapat menangani harddrive besar, anda perlu menambahkan hdx=stroke.

Pengguna genkernel seharusnya tahu bahwa kernel mereka menggunakan opsi-opsi boot yang sama seperti LiveCD. Misalnya, jika anda memiliki perangkat SCSI, anda seharusnya menambahkan doscsi sebagai opsi kernel.

Sekarang simpanlah file tersebut dan keluar. Sebagai langkah terakhir, anda harus menjalankan perintah /sbin/lilo agar LILO menerapkan konfigurasi /etc/lilo.conf ke sistem anda (instal LILO ke disk). Ingat bahwa anda harus menjalankan kembali /sbin/lilo setiap kali anda menginstal sebuah kernel baru atau melakukan perubahan pada menu!

# /sbin/lilo
Ketika anda menginstal ulang sebuah kernel, anda tidak perlu lagi menyalin (copy) file-file nya lagi. Jalankan saja make install setelah mengkompilasi kernel; maka filenya akan disalin secara otomatis, dan configurasi LILO juga akan disesuaikan.

Sekarang lanjutkan ke Reboot Sistem.

Reboot Sistem

Keluarlah dari lingkungan chroot dan unmount semua partisi yang ter-mount. Lalu ketik perintah ajaib itu yang telah anda tunggu-tunggu: reboot.

# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot

Tentu saja, jangan lupa untuk mengeluarkan CD bootable, jika tidak CD tersebut akan diboot lagi daripada sistem Gentoo baru anda.

Setelah anda reboot ke sistem Gentoo anda, selesaikan dengan Menyelesaikan Instalasi Gentoo Anda.