LILO (LInux LOader) jest najbardziej popularnym linuksowym
bootloaderem. Jego instalacja polega na utworzeniu pliku
konfiguracyjnego (/etc/lilo.conf) a następnie
na wydaniu polecenia lilo w celu instalacji w
MBR lub bootsektorze. Każda modyfikacja pliku konfiguracji,
wygenerowanie nowego obrazu initrd lub
instalacja nowego jądra pociąga za sobą konieczność ponownej
instalacji obrazu.
O initrd
poczytamy w tym dokumencie.
Konfiguracja podstawowa
Poniżej, dla przykładu przedstawiony został bardzo
prosty plik konfiguracji, ma on za zadanie umieścić
lilo w MBR dysku twardego, umożliwiając w ten sposób
uruchomienie naszej dystrybucji.
boot=/dev/hda
read-only
lba32
image=/boot/vmlinuz
label=pld
root=/dev/hda1
initrd=/boot/initrd |
Plik konfiguracji lilo dzieli się na dwie zasadnicze części:
blok opcji głównych oraz opcje obrazu. W powyższym przykładzie
opcje główne umieszczone są na samym początku (do pustego
wiersza). Wartość zmiennej
boot mówi gdzie ma zostać zainstalowany
bootloader (bootsector/MBR), w tym wypadku jest o MBR dysku.
Opcja read-only wymusza start systemu w
trybie tylko do odczytu (później jest przemontowany na tryb
do odczytu i zapisu), lba32 włącza
wykorzystanie 32-bitowego adresowania (jest rozwiązaniem
limitu cylindra 1024).
Następna sekcja (ustawienia obrazu) to konfiguracja dla
konkretnego systemu operacyjnego (tutaj Linuksa). Każdy
system, który mielibyśmy
obsługiwać z poziomu lilo, musi mieć taką sekcję. Opcja
image rozpoczyna sekcję i jednocześnie
wskazuje ściekę do jądra, label to
wyświetlana etykieta obrazu, root wskazuje
urządzenie z głównym systemem plików,
initrd to ścieżka do obrazu initrd (initial
ramdisk).
Opcję root szerzej opisano w
tym dokumencie. Z nazewnictwem
urządzeń masowych zapoznamy się w
tym dokumencie.
Dzięki powyższej konfiguracji bootloader bezzwłocznie
uruchomi nasze PLD zainstalowane na pierwszej partycji
dysku hda bez zadawania jakichkolwiek pytań. W wielu
przypadkach będziemy chcieli przekazać do kernela
specjalne parametry lub mieć możliwość wyboru innego systemu
operacyjnego (o ile dodaliśmy do lilo taką możliwość).
Wtedy konieczne będzie zdefiniowanie dwóch dodatkowych opcji:
Pierwsza włącza tryb interaktywny, druga zaś ustawia czas
oczekiwania na naszą reakcję, podawany w dziesiątych
częściach sekundy. W tej chwili możemy wygenerować lilo i
zrestartować maszynę aby sprawdzić czy dokonaliśmy prawidłowej
konfiguracji.
Inne systemy operacyjne
Istnieje możliwość uruchamiania wielu systemów operacyjnych
z poziomu lilo, w tym celu do pliku konfiguracji musimy
dodać odpowiednie obrazy i opisane wcześniej opcje
prompt i timeout.
Poniżej została umieszczona sekcja pozwalająca uruchomić
system DOS/Windows umieszczony na dysku hda3.
other=/dev/hda3
label=windows |
Domyślnym obrazem wybranym przez bootloader jest
pierwszy w kolejności z pliku konfiguracji. Możemy to
ustawienie bardzo prosto modyfikować za pomocą opcji
default wskazującej etykietę domyślnego
obrazu, np.:
Opcję default umieszczamy w głównej
części konfiguracji.
Frame Buffer
Frame Buffer (bufor ramki) to m.in. mechanizm pozwalający
na pracę konsoli w wyższych rozdzielczościach. Aby go
włączyć, do konfiguracji linuksowego obrazu lub do
sekcji głównej dodajemy parametr jądra
vga np.:
Przykładowa konfiguracja obrazu będzie wyglądała następująco:
image=/boot/vmlinuz
label=pld
root=/dev/hda1
initrd=/boot/initrd
vga=0x303 |
Listę dostępnych trybów zamieszczono w tym dokumencie.
Graficzne menu
Jeśli zdecydowaliśmy się na wyświetlanie menu początkowego
(za pomocą opcji prompt) to możemy się
pokusić o ustawienie graficznego menu. Z pakietem lilo
dostajemy odpowiednio przygotowane bitmapy, musimy tylko
dodać kilka opcji do głównej sekcji pliku konfiguracji.
Wskazujemy interesujący nas obrazek:
bitmap = /boot/lilo-pldblue8.bmp |
Określamy kolory i położenie tekstu na ekranie:
bmp-table = 17,9;1,14,16,4
bmp-colors = 0,213,137;152,24,1
bmp-timer = 2,29;152,52,1 |
Musimy pamiętać że powyższe dane są dobrane dla
konkretnego obrazka i dla innego mogą nie być dobre.
Zakończenie
Kiedy już skonfigurujemy nasz bootloader
wydajemy polecenie lilo:
następnie restartujemy system.
|