Lilo mini-HOWTO

Cameron Spitzer, cls@truffula.sj.ca.us
Wersja polska: Bartosz Maruszewski B.Maruszewski@zsmeie.torun.pl
v1.12, 26 Lipca 1997


Ten plik opisuje niektóre typowe instalacje LILO. Został on napisany jako dodatek do dokumentacji LILO. Sądze, że przykłady są pożyteczne nawet jeśli twoje ustawienia nie są podobne do moich. Mam nadzieję, że zaoszczędzi ci to kłopotów. Dokument ten został napisany w standardzie ISO-8859-2. Wersja oryginalna znajduje się pod adresem ftp.icm.edu.pl.

1. Różne instalacje LILO.

1.1 Przykład 1.

Mam dwa dyski IDE i jeden dysk SCSI. Dysku SCSI nie widać w BIOS-ie. LILO używa BIOS-owych odwołań i widzi tylko te dyski, które widzi także BIOS. Mój głupi AMI BIOS może wystartować tylko z "A:" lub "C:". Mój główny system plików jest na partycji na dysku SCSI.

Rozwiązanie:
Zapisz jądro, plik z odwzorowaniem (map file) i chain loader na partycji Linux-owej na pierwszym dysku IDE. Zauważ, że nie potrzebne jest, aby trzymać jądro na swojej partycji z głównym systemem plików.

Druga partycja na moim pierwszym dysku IDE (/dev/hda2) jest zamontowana na /u2.

Oto mój plik /etc/lilo.conf:


   # Zainstaluj rekord startowy LILO w Master Boot Record
   # na pierwszym dysku IDE.
   #
   boot = /dev/hda
   # /sbin/lilo (instalator) kopiuje rekord startowy LILO z następującego
   # pliku do MBR.
   install = /u2/etc/lilo/boot.b
   #
   # Napisałem swoje menu startowe. LILO je tam znajduje.
   message = /u2/etc/lilo/message
   # Instalator stworzy następujący plik.
   # Mówi on programowi ładującemu, gdzie znajduje się jądro.
   # 
   map = /u2/etc/lilo/map
   compact
   prompt
   #  Zaczekaj 10 sekund, a potem załaduj jądro 1.2.1 jako domyślne
   timeout = 100
   # Jądro jest zapisane tam, gdzie BIOS je zobaczy poleceniem:
   #   cp -p /usr/src/linux/arch/i386/boot/zImage /u2/z1.2.1
   image = /u2/z1.2.1
           label = 1.2.1
   # LILO informuje jądro, aby zamontowało pierwszą partycję dysku SCSI
   # jako główny system plików.
   # BIOS nie musi jej widzieć.
           root = /dev/sda1
   # Ta partycja będzie sprawdzona i ponownie zamontowana przez /etc/rc.d/rc.S
           read-only
   # Temu samemu jądru można przekazać, aby zmontowało inną partycję
   # jako główny system plików. Mam awaryjną konfigurację na /u2.
   image = /u2/z1.2.1
           label = 1.2.1-hda2
           root = /dev/hda2
           read-only
   # Trzymałem stare jądro ze Slackware w razie gdybym stworzył
   # jakieś nie działające nowe jądro. Właściwie potrzebowałem tego
   # jeden raz.
   image = /u2/z1.0.9
           label = 1.0.9
           root = /dev/sda1
           read-only
   #  Moja partycja DR-DOS-a 6
   other = /dev/hda1
           loader=/u2/etc/lilo/chain.b
           label = dos
           alias = m

1.2 Przykład 2.

System w moim biurze ma jeden dysk IDE 1GB. BIOS może widzieć tylko pierwsze 504 MB dysku IDE. (Gdzie MB oznacza 2^10 bajtów a nie 10^6 bajtów.) Tak więc mam MS-DOS na partycji 350 MB /dev/hda1 i główny system plików Linux-a na partycji 120 MB /dev/hda.

MS-DOS nie był w stanie się poprawnie zainstalować kiedy dysk był jeszcze świeży. Novell DOS 7 miał te same problemy. Na szczęście dla mnie, "Options by IBM" zapomnieli włożyć dysietki "OnTrack" do pudełka z dyskiem. Dysk miał przyjść z produktem zwanym "OnTrack Disk Manager". Jeśli tylko masz MS-DOS-a, sądze, że musisz tego użyć.

A więc zrobiłem tablicę partycji Linux-owym fdisk-iem. MS-DOS 6.2 nie chciał się zainstalować na /dev/hda1. Pisał coś jak:

'this release of MS-DOS is for new installations. Your computer already has MS-DOS [co było nieprawdą, bo dysk był czysty] so you need to get an upgrade release from your dealer.'

Co za palant! Uruchomiłem Linux-owego fdisk-a jeszcze raz i skasowałem parytcję pierwszą z tablicy partycji. To zadowoliło MS-DOS-a 6.2, który stworzył dokładnie tę samą partycję pierwszą, którą właśnie skasowałem i zainstalował się. MS-DOS 6.2 zapisał swój Master Boot Record na dysk, ale nie mógł wystartować.

Na szczęście miałem jądro ze Slackware na dyskietce (zrobioną przez program instalacyjny Slackware "setup"), wystartowałem Linux-a i zapisałem LILO na zepsuty MBR DOS-a. To działa.

Oto plik /etc/lilo.conf jakiego użyłem:


   boot = /dev/hda
   map = /lilo-map
   delay = 100
   ramdisk = 0             # Wyłącza ramdisk w jądrze Slackware
   kernel
   timeout = 100
   prompt
   disk = /dev/hda         # BIOS widzi tylko pierwsze 500 MB.
      bios=0x80            # podaje pierwszy dysk IDE.
      sectors = 63         # weź te liczby z dokumentacji twojego
      heads= 16            #    dysku twardego
      cylinders = 2100
   image = /vmlinuz
     append = "hd=2100,16,63"  # To jest opcjonalne.
     root = /dev/hda2
     label = linux
     read-only
     vga = extended
   other = /dev/hda1
     label = msdos
     table = /dev/hda
     loader = /boot/chain.b

   ## koniec

Po tym, jak zainstalowałem te systemy, stwierdziłem, że partycja zawierająca zImage, boot.p, map, chain.b i plik z komunikatami może używać systemu plików msdos, tak długo dopóki nie jest potraktowana "stacker-em" czy "doublespace-m". Tak więc mogłem zrobić partycję DOS-ową na /dev/hda1 o poj. 500 MB.

Dowiedziałem się także, że "OnTrack" zapisałby tablicę partycji poczynając od kilku tuzinów bajtów od początku dysku, zamiast zacząć na samym początku dysku, i że jest możliwe tak przerobić sterownik Linux-owy do IDE, żeby sobie poradził z tym problemem. Ale instalacja z prekompilowanym jądrem ze Slackware nie byłaby możliwa. Ostatecznie IBM przysłał mi dyskietkę "OnTrack". Zadzwoniłem do serwisu technicznego "OnTrack". Powiedzieli, że Linux jest popsuty, bo nie używa BIOS-u. Oddałem im dyskietkę spowrotem.

1.3 Przykład 3

Potem zainstalowałem Windows 95 w moim biurze. Rozwaliły mój ładny LILO MBR w pył, ale zostawiły moją partycję Linux-ową w spokoju. Jądra długo się ładują z dyskietek, więc zrobiłem dyskietkę z działającym na niej ustawieniem LILO, która mogła startować moje jądro z dysku IDE.

W ten sposób stworzyłem dyskietkę LILO:


     fdformat /dev/fd0H1440     #  utwórz ścieżki na dyskietce
     mkfs /dev/fd0 1440         #  utwórz na niej stsem plików minix
     mkdir /3                   #  stwórz katalog, żeby ją zamontować
     mount /dev/fd0 /3          #  zamontuj dyskietkę
     cp -p /boot/chain.b /3     #  przekopiuj chain loader
     lilo -C /etc/lilo.flop     #  zainstaluj LILO i mapę systemu na dyskietce
     umount /3                  # odmontuj dyskietkę

Zauważ, że DYSKIETKA MUSI BYĆ ZAMONTOWANA KIEDY URUCHAMIASZ NA NIEJ INSTALATORA tak, żeby LILO mogło zapisać swoją mapę prawidłowo.

Oto plik /etc/lilo.flop. Jest prawie identyczny z poprzednim:


   #  Tworzy dyskietkę, która może ładować jądra z dysku twardego.
   boot = /dev/fd0
   map = /3/lilo-map
   delay = 100
   ramdisk = 0     # Wyłącza ramdisk w jądrze ze Slackware
   timeout = 100
   prompt
   disk = /dev/hda        # Dysk 1 GB, BIOS widzi tylko 500 MB
      bios=0x80
      sectors = 63
      heads = 16
      cylinders = 2100
   image = /vmlinuz
     append = "hd=2100,16,63"
     root = /dev/hda2
     label = linux
     read-only
     vga = extended
   other = /dev/hda1
     label = msdos
     table = /dev/hda
     loader = /3/chain.b

   ## koniec

Ostatecznie, potrzebowałem MS-DOS-a 6.2 w moim systemie biurowym, ale nie chciałem dotykać pierwszego dysku. Dodałem kontroler SCSI i dysk, stworzyłem na nim Linux-owym mkdosfs-em plik systemów msdos i Windows 95 widzi to jako "D:". Ale oczywiście MS-DOS nie wystartuje z "D:". To nie jest problem jeśli masz LILO. Dodałem:


   other = /dev/sda1
     label = d6.2
     table = /dev/sda
     loader = /boot/any_d.b

do lilo.conf z przykładu 2. MS-DOS 6.2 działa i myśli, że jest na"C:" a Windows 95 jest na "D:".

1.4 Od tłumacza.

Jeśli znalazłeś jakieś rażące błędy ortograficzne, gramatyczne, składniowe, techniczne to pisz do mnie:

B.Maruszewski@zsmeie.torun.pl

Oficjalną stroną tłumaczeń HOWTO jest http://www.jtz.org.pl/

Aktualne wersje przetłumaczonych dokumentów znajdują się na tejże stronie. Dostępne są także poprzez anonimowe ftp pod adresem ftp.ippt.gov.pl/pub/Linux/JTZ/

Przetłumaczone przeze mnie dokumenty znajdują się także na mojej stronie WWW. Są tam też odwołania do Polskiej Strony Tłumaczeniowej.

Kontakt z naszą grupą, grupą tłumaczy możesz uzyskać poprzez listę dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz sie na nią zapisać, to wyślij list o treści subscribe jtz Imię Nazwisko na adres listproc@ippt.gov.pl