Następna strona Poprzednia strona Spis treści

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


Następna strona Poprzednia strona Spis treści