Pada saat Lilo mem-boot sebuah sistem, Lilo menggunakan BIOS call untuk me-load kernel dari disk (IDE drive, floppy, atau media lainnya). Oleh karena itu, kernel harus berada disuatu tempat yang dapat diakses oleh BIOS.
Pada saat dilakukan boot, Lilo tidak dapat membaca data filesistem, demikian pula setiap pathname yang Anda letakkan didalam file /etc/lilo.conf
akan dicari (resolved) pada waktu instalasi (ketika Anda menjalankan /sbin/lilo
).
Waktu instalasi adalah saat di mana program membuat tabel-tabel yang berisi daftar sektor yang diperlukan oleh file-file yang digunakan untuk melakukan load sistem operasi. Sebagai konsekwensinya maka file-file tsb harus berada pada suatu partisi yang dapat diakses oleh BIOS (file-file tadi biasanya berlokasi didalam direktori /boot, hal ini berarti dari sistem Linux Anda hanya partisi boot saja yang perlu diakses oleh BIOS).
Konsekwensi lain dari digunakannya sistem berbasis BIOS adalah Anda harus melakukan instal ulang terhadap loader (dalam hal ini Anda harus menjalankan ulang perintah /sbin/lilo
) setiap kali Anda melakukan modifikasi terhadap setup Lilo. Setiap kali Anda mengkompilasi ulang kernel dan menghapus image lama yang Anda miliki, Andapun harus melakukan instal ulang terhadap Lilo.
Direktif boot=
yang terdapat didalam file /etc/lilo.conf
menunjukkan letak penempatan Lilo didalam primary boot loader. Secara umum, Anda dapat menetapkan baik master boot record (/dev/hda
) ataukah partisi root dari instalasi Linux Anda (biasanya /dev/hda1
atau /dev/hda2
).
Jika Anda memiliki sistem operasi lain yang telah terinstal kedalam hard disk Anda, sebaiknya Anda menginstal Lilo kedalam partisi root daripada menginstalnya kedalam MBR. Dalam kasus ini, Anda harus menandai partisi root tadi sebagai "bootable" dengan menggunakan perintah "a" dari fdisk atau perintah "b" dari cfdisk. Jika Anda tidak melakukan overwrite terhadap master boot record (MBR) maka Anda akan lebih mudah dalam melakukan uninstall baik terhadap Linux maupun Lilo jika Anda menginginkannya.
Secara pribadi, penulis tidak menggunakan setting LBA maupun LARGE didalam BIOS (namun penulis hanya menjalankan Linux); Setting tersebut diperlukan oleh karena adanya kelemahan disain didalam dunia PC. Kelemahan disain PC tadi menyebabkan kernel harus berada didalam 1024 silinder pertama, namun hal ini tidak akan merupakan masalah selama Anda melakukan partisi terhadap hard disk dan menjaga agar partisi root tetap berukuran kecil (seperti yang seharusnya Anda lakukan).
Jika hard disk Anda telah berisi sistem operasi lain maka Anda tidak akan dapat memodifikasi setting dari BIOS, atau kalaupun Anda melakukannya maka sistem lama tadi tidak akan dapat bekerja. Distribusi Lilo akhir-akhir ini sudah dapat mengatasi setting disk baik LBA maupun LARGE.
Mohon dicatat bahwa kata-kunci linear yang terdapat didalam file /etc/lilo.conf
dapat membantu mengatasi problem-problem yang berkaitan dengan geometri. Kata kunci tadi memerintahkan Lilo untuk menggunakan linear sector address sebagai pengganti dari koordinat sektor/head/silinder. Konversi kedalam address 3D akan diundurkan sampai ke saat run-time sehingga membuat setup dapat mengatasi problem-problem geometri.
Jika Anda memiliki lebih dari satu hard disk, dan beberapa diantaranya hanya dipakai untuk Linux serta tidak terlibat didalam proses boot maka Anda dapat memberitahukan BIOS bahwa hard disk tersebut tidak diinstal. Sistem Anda akan dapat di-boot secara lebih cepat dan Linux tidak akan membuang waktu untuk melakukan autodetect. Komputer yang dimiliki penulis seringkali berganti-ganti disk namun penulis tidak pernah melakukan perubahan terhadap konfigurasi BIOS.
Ketika Anda melihat prompt dari Lilo, Anda dapat menekan tombol <Tab> untuk menampilkan daftar pilihan. Apabila Lilo tidak dikonfigurasi untuk bekerja secara interaktif maka tekanlah tombol <Alt> atau <Shift> sebelum muncul tulisan "LILO".
Jika Anda memilih untuk memboot kernel Linux maka Anda dapat menambahkan argumen baris perintah yang diberikan setelah nama sistem pilihan Anda. Kernel menerima banyak argumen baris perintah ini. Daftar dari semua argumen yang dapat digunakan tersebut dimuat didalam dokumen berjudul "BootPrompt-HOWTO" yang ditulis oleh Paul Gortmaker, karena itu disini penulis tidak akan mengulangi pemberian daftar argumen tersebut. Namun beberapa argumen baris perintah sangat penting dan berharga untuk diuraikan disini:
root=
Argumen ini dimaksudkan untuk meminta Linux kernel untuk me-mount sebuah partisi lain menggantikan partisi yang telah dicantumkan didalam lilo.conf sebagai partisi root. Misalnya, sistem yang dimiliki penulis memiliki sebuah partisi kecil yang digunakan bagi sebuah instalasi Linux yang minimal, penulis telah berhasil mem-boot sistem sesudah partisi root tadi terhapus secara tidak sengaja.
init=
Kernel Linux dari versi 1.3.43 atau lebih akhir lagi dapat mengeksekusi perintah yang diberikan melalui baris perintah selain dari perintah /sbin/init
. Jika Anda mendapatkan kesulitan saat proses boot, Anda dapat mengakses sistem secara bare dengan cara menetapkan init=/bin/sh
(pada saat Anda berada pada prompt dari shell kemungkinan besar Anda perlu melakukan mount terhadap disk Anda: cobalah perintah "mount -w -n -o remount /; mount -a", dan ingat untuk memberikan perintah "mount -a" sebelum Anda mematikan komputer)
Dengan memberikan suatu bilangan pada baris perintah kernel, Anda memerintahkan init untuk memasuki suatu run-level tertentu (secara default run-level itu adalah 3 atau 2 tergantung kepada distribusi yang Anda gunakan). Silahkan untuk merujuk kepada dokumentasi init, /etc/inittab
, dan /etc/rc*.d
untuk mendapatkan keterangan lebih lanjut.
Pada saat Lilo melakukan overwrite terhadap sebuah boot sector, Lilo akan menyimpan sebuah salinan dari boot sector tadi kedalam file /boot/boot.xxyy
dimana xxyy adalah nomor-nomor major dan minor dari device tersebut didalam bilangan heksadesimal. Anda dapat melihat nomor-nomor major dan minor dari disk maupun partisi Anda dengan cara menjalankan perintah
ls -l /dev/device"
Misalnya, sektor pertama dari /dev/hda
(nomor major-nya 3, dan nomor minor-nya 0) akan disimpan kedalam file /boot/boot.0300
, menginstal Lilo kedalam /dev/fd0
akan menyebabkan dibuatnya file /boot/boot.0200
, demikian pula menginstal Lilo kedalam /dev/sdb3
(nomor major-nya 8, nomor minor-nya 19) akan terbentuknya file /boot/boot.0819
. Perlu dicatat disini bahwa Lilo tidak akan membuat suatu file jika file tersebut sudah terbentuk, sehingga Anda tidak perlu memperhatikan salinan tadi pada saat Anda melakukan instal ulang Lilo (misalnya sesudah melakukan kompilasi ulang kernel). Setiap backup copy yang terdapat didalam direktori /boot
merupakan gambaran sesaat dari situasi sebelum Anda menginstal Lilo.
Jika Anda pada suatu saat ingin melakukan uninstal Lilo (misalnya dalam suatu kasus yang tidak menguntungkan, Anda terpaksa harus melakukan uninstal Linux) Anda hanya perlu melakukan restore dari boot sector yang asli. Jika Lilo telah diinstal kedalam /dev/hda
maka Anda cukup hanya dengan memberikan perintah
dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1
(secara pribadi penulis hanya memberikan perintah cat /boot/boot.0300 > /dev/hda
, tetapi cara yang dilakukan penulis termasuk tidak aman karena akan mengembalikan tabel partisi lama yang mungkin selama ini telah Anda modifikasi).
Perintah tadi lebih mudah dijalankan dibandingkan dengan melakukan fdisk /mbr
dari DOS shell: Perintah ini memungkinkan Anda untuk menghapus Linux dari disk secara rapi tanpa harus mem-boot apapun kecuali Linux. Setelah melakukan penghapusan, Lilo akan mengingat untuk menjalankan fdisk dari Linux untuk menghapus setiappartisi Linux (fdisk dari DOS tidak mampu untuk menghapus partisi non-DOS).
Jika Anda menginstal Lilo ke dalam partisi root yang Anda miliki (misalnya /dev/hda2
) maka tidak ada langkah-langkah khusus yang Anda perlukan untuk melakukan uninstal Lilo. Cukup hanya dengan menjalankan fdisk dari Linux untuk menghapus partisi Linux dari tabel partisi. Anda juga perlu menandai partisi DOS sebagai bootable.