[ powrót ] [ Streszczenie ] [ Prawa autorskie ] [ Spis treści ] [ dalej ]

Instalacja Debiana GNU/Linux 2.2 dla architektury SPARC
Część 6 Uruchamianie systemu instalacyjnego


Ten rozdział rozpoczyna się ogólnym opisem ładowania systemu Debian GNU/Linux, a następnie przedstawia dokładne informacje na temat każdego ze sposobów ładowania i kończy się radami użytecznymi w razie problemów.


6.1 Argumenty ładowania

Parametry ładowania jądra Linux zazwyczaj używane są do upewnienia się, że urządzenia peryferyjne działają poprawnie. W większości wypadków jądro może samo wykryć informacje dotyczące urządzeń zewnętrznych. Jednak w niektórych wypadkach będziesz musiał/musiała trochę jądru pomóc.

Pełne informacje na temat parametrów ładowania można znaleźć w Linux BootPrompt HOWTO; ten rozdział zawiera tylko szkic najistotniejszych parametrów.

Jeśli uruchamiasz system po raz pierwszy, spróbuj wykorzystać domyślne parametry (tzn. nie próbuj ustawiać żadnych argumentów) i zobacz czy działa poprawnie. Prawdopodobnie nie będzie żadnych problemów. Jeśli jednak jakieś się pojawią, spróbuj uruchomić komputer ponownie i poszukać dodatkowych parametrów, które poinformują system o Twoim sprzęcie.

Kiedy jądro ładuje się, na początku procesu ładowania powinien pojawić się komunikat Memory: dostępnak/całkowitak available. całkowita powinna odpowiadać wyrażonej w kilobajtach całkowitej dostępnej ilości pamięci w systemie. Jeśli tak nie jest, musisz użyć parametru mem=ram, gdzie ram jest ilością dostępnej pamięci z dodaną literą ``k'' oznaczającą kilobajty, lub ``m'' -- megabajty. Na przykład zarówno mem=65536k jak i mem=64m oznaczają 64MB RAM.

Jeśli masz czarno-biały monitor, użyj argumentu mono. W przeciwnym wypadku system instalacyjny domyślnie użyje kolorów.

Jeśli ładujesz system używając konsoli szeregowej jądro zazwyczaj samo to wykryje. Jeśli do komputera jest podłączona karta graficzna (framebuffer) i klawiatura, być może będzie konieczne dodanie parametru console=urządzenie, gdzie urządzenie jest portem szeregowym - zazwyczaj ``ttya'' lub ``ttyb'' dla SPARC, lub w innym wypadku ``ttyS0''. Ewentualnie ustaw zmienne input-device i output-device w OpenPROM na ``ttya''.

Jak nadmieniono powyżej, pełne informacje na temat parametrów ładowania można znaleźć w Linux BootPrompt HOWTO, w tym rady dotyczące rzadko spotykanego sprzętu. Częste problemy opisane są poniżej w rozdziale Co zrobić w przypadku problemu?, Rozdział 6.6.


6.1.1 Argumenty dbootstrap

System instalacyjny rozpoznaje kilka argumentów, które mogą się okazać pomocne.

quiet
System instalacyjny pominie prośby o potwierdzenie i spróbuje samodzielnie wykonać właściwe czynności. Jeśli znasz system instalacyjny, jest to dobra metoda na wyciszenie procesu.

vebose
Zadawaj jeszcze więcej pytań niż zwykle.

debug
Generuj dodatkowe komunikaty do dziennika systemowego (patrz Używanie powłoki i przeglądanie dziennika systemowego, Rozdział 7.1.1), w tym wszystkie uruchamiane komendy.

bootkbd=...
Wybierz wcześniej klawiaturę, której chcesz użyć, na przykład bootkbd=qwerty/pl

mono
Użyj trybu monochromatycznego, zamiast kolorowego


6.2 Interpretacja komunikatów startowych jądra

Podczas startu możesz zobaczyć wiele komunikatów typu can't find something (nie można znaleźć czegoś), lub something not present (czegoś nie ma), can't initialize something (nie można zainicjalizować czegoś), lub nawet this driver release depends on something (ta wersja sterownika wymaga czegoś). Większość tych komunikatów jest nieszkodliwa. Widzisz je, powieważ jądro do systemu instalacyjnego jest zbudowane tak, aby działało na komputerach z wieloma różnymi urządzeniami peryferyjnymi. Oczywiście żaden komputer nie będzie zawierał wszystkich możliwych urządzeń, więc system operacyjny wypisze kilka komunikatów ostrzegawczych gdy szuka urządzeń, których nie posiadasz. Możesz także zauważyć, że system zatrzymuje się na chwilę. Dzieje się tak, gdy jądro czeka na odpowiedź urządzenia, którego nie ma w systemie. Jeśli uważasz, że czas startu systemu jest nie do przyjęcia, możesz po instalacji utworzyć własne jądro (patrz Kompilowanie nowego jądra, Rozdział 8.4).


6.3 Ładowanie z twardego dysku

W pewnych przypadkach można chcieć załadować Linuksa z innego systemu operacyjnego. Możesz także załadować system instalacyjny w inny sposób, ale zainstalować system podstawowy z dysku.


6.3.1 Instalacja z partycji Linuksa

Możesz zainstalować Debiana także z partycji ext2 lub Minix. Ten sposób może być odpowiedni na przykład w przypadku zamiany zainstalowanej dystrybucji Linuksa na Debiana.

Należy zwrócić uwagę, że partycja z której instalujesz nie powinna być jedną z partycji na którą instalujesz Debiana (np. /, /usr, /lib, itd.).

Aby zainstalować z istniejącej już partycji Linuksa postępuj zgodnie z poniższymi instrukcjami.

  1. Sprowadź następujące pliki i umieść je w katalogu na istniejącej partycji Linuksa:
  2. Możesz użyć dowolnej metody ładowania podczas instalacji z partycji. Poniższe instrukcje zakładają, że korzystasz z dyskietek, ale można użyć dowolnej metody.
  3. Utwórz dyskietkę Rescue Floppy jak to opisano w Tworzenie dyskietek z obrazów, Rozdział 5.6.4. Zwróć uwagę, że nie będzie potrzebna dyskietka Driver Floppies.
  4. Wsuń dyskietkę Rescue Floppy do napędu i zrestartuj komputer.
  5. Przejdź do rozdziału Początkowa konfiguracja systemu przy użyciu programu dbootstrap, Część 7.


6.4 Ładowanie i/lub instalacja z CD-ROM-u

Jeśli posiadasz płytkę, z której można załadować system i jeśli Twoja architektura obsługuje ładowanie systemu z CD-ROM-u nie będą potrzebne żadne dyskietki. Czasem wystarczy wsunąć płytę do napędu i zrestartować komputer. Większość wersji OpenBoot obsługuje komendę boot cdrom, która jest po prostu aliasem ładowania z urządzenia SCSI o identyfikatorze 6 (lub z urządzenia secondary master w przypadku systemów IDE). W przypadku starszych wersji OpenBoot nie obsługujących tej komendy może być konieczne użycie rzeczywistej nazwy urządzenia.

Należy zwrócić uwagę, że mogą wystąpić problemy przy ładowaniu z CD-ROM-u w systemach Sun4m (np. Sparc 10 i Sparc 20).

Nawet jeśli nie możesz załadować systemu z CD-ROM-u, możesz zainstalować z niego podstawowy system Debiana. Po prostu załaduj system instalacyjny z dowolnego innego nośnika, a kiedy nadejdzie moment instalacji systemu podstawowego lub dodatkowych pakietów wskaż CD-ROM jak to opisano w rozdziale ``Instalacja systemu podstawowego'', Rozdział 7.14.


6.5 Ładowanie z TFTP

Musisz skonfigurować serwer RARP, serwer BOOTP i serwer TFTP.

Protokół RARP (Reverse Address Resolution Protocol) to jedna z metod na wskazanie klientowi jakiego adresu IP ma użyć. Innym sposobem jest użycie protokołu BOOTP. BOOTP to protokół IP, który informuje komputer o jego własnym adresie IP oraz gdzie w sieci może znaleźć obraz startowy.

Protokółu TFTP (Trivial File Transfer Protocol) używa się aby przekazać obraz startowy klientowi. Teoretycznie można użyć dowolnego serwera obsługującego ten protokół, na dowolnej platformie. W przykładach w tym rozdziale podamy komendy dla systemów SunOS 4.x, SunOS 5.x (in. Solaris), i GNU/Linux.


6.5.1 Konfiguracja serwera RARP

Aby skonfigurować serwer RARP, musisz znać adres Ethernet klienta (in. adres MAC). Jeśli go nie znasz, możesz znaleźć go pośród komunikatów startowych OpenPROM, użyć komendy OpenBoot .enet-addr, lub załadować system używając trybu ``ratunkowego'' (np. z dyskietki Rescue Floppy) i użyć komendy /sbin/ifconfig eth0.

W systemie GNU/Linux trzeba wypełnić tablicę RARP jądra. Aby to zrobić, wykonaj

     /sbin/rarp -s nazwa-klienta adres-ethernet-klienta
     /usr/sbin/arp -s adres-ip-klienta adres-ethernet-klienta

Jeśli zobaczysz komunikat SIOCSRARP: Invalid argument, prawdopodobnie konieczne będzie załadowanie modułu RARP jądra, lub skompilowanie jądra z obsługą RARP. Spróbuj użyć komendy modprobe rarp, a następnie ponownie komendy rarp.

W SunOS musisz umieścić sprzętowy adres Ethernet klienta w bazie danych ``ethers'' (albo w pliku /etc/ethers, albo w NIS/NIS+) i bazie ``hosts''. Następnie należy uruchomić daemona RARP. W SunOS 4, należy w tym celu wykonać (jako root) komendę: /usr/etc/rarpd -a; w SunOS 5 -- /usr/sbin/rarpd -a.


6.5.2 Konfiguracja serwera BOOTP

W systemie GNU/Linux są dostępne dwa serwery BOOTP: CMU bootpd i ISC dhcpd, znajdujące sie w pakietach bootp i dhcp w systemie Debian GNU/Linux.

Aby użyć serwera CMU bootpd, należy usunąć komentarz sprzed odpowiedniej linii (lub dodać ją) w /etc/inetd.conf. W systemie Debian GNU/Linux możesz wykonać w tym celu polecenie update-inetd --enable bootps, a następnie /etc/init.d/inetd reload. W przypadku innego systemu, odpowiednia linia powinna wyglądać następująco:

     bootps         dgram   udp     wait    root    /usr/sbin/bootpd        bootpd -i -t 120

Teraz należy utworzyć plik /etc/bootptab file. Ma on format starych dobrych plików BSD printcap(5), termcap(5), i disktab(5). Więcej informacji zawiera strona podręcznika systemowego bootptab(5). W przypadku CMU bootpd musisz znać adres sprzętowy (MAC) klienta.

W przeciwieństwie do niego konfiguracja BOOTP w przypadku serwera ISC dhcpd jest na prawdę łatwa, ponieważ traktuje klientów BOOTP jako szczególny przypadek klientów DHCP. Nie musisz znać adresu sprzętowego (MAC) klienta, chyba, że chcesz podać dodatkowe opcje, jak nazwa pliku obrazu startowego lub ścieżkę katalogu głównego NFS w zależności od klienta, albo chcesz nadawać maszynom statyczne adresy IP używając BOOTP i/lub DHCP. Po prostu dodaj komendę allow bootp do bloku konfiguracyjnego podsieci zawierającej klienta i zrestartuj dhcpd przy pomocy komendy /etc/init.d/dhcpd restart.


6.5.3 Włączanie serwera TFTP

Najpierw należy włączyć serwer tftpd. Umożliwia to następująca linia w /etc/inetd.conf:

     tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd -l /tftpboot

Zobacz do tego pliku i zapamiętaj katalog, który występuje jako argument programu in.tftpd; będzie on potrzebny później. Argument -l pozwala niektórym wersjom in.tftpd zapisywać wszystkie żądania do dziennika systemowego; przydaje się to przy diagnozowaniu problemów z ładowaniem. Jeśli konieczna była modyfikacja /etc/inetd.conf, musisz o tym powiadomić działający proces inetd. W przypadku systemów Debian uruchom /etc/init.d/netbase reload (w przypadku wersji potato/2.2 i nowszych użyj komendy /etc/init.d/inetd reload. W przypadku innych systemów znajdź identyfukator procesu inetd i wykonaj kill -HUP identyfikator.


6.5.4 Przenoszenie obrazów TFTP na miejsce

Następnie należy umieścić potrzebny obraz startowy (patrz Opis plików systemu instalacyjnego, Rozdział 5.4 w katalogu startowym tftpd. Ogólnie mówiąc będzie to katalog /tftpboot. Następnie należy utworzyć dowiązanie od tego pliku do pliku, którego tftpd użyje do startu danego klienta. Niestety nazwę tego pliku określa klient TFTP i nie istnieją powszechne standardy.

Często klient będzie szukał pliku o nazwie ip-klienta-szestnastkowoarchitektura-klienta. Aby obliczyć ip-klienta-szestnastkowo należy wziąć każdy z bajtów adresu IP klienta i zamienić na notację szestnastkową. Jeśli masz pod ręką maszynę z programem bc, możesz go użyć do tego celu. Wpisz obase=16 aby ustawić szestnastkową notację wyniku, a następnie wprowadź osobno każdą część adresu. Jeśli chodzi o architektura-klienta, spróbuj kilku różnych wartości.

Na przykład architektury SPARC używają nazw podarchitektur, jak ``SUN4M'' lub ``SUN4C''; w niektórych przypadkach pole architektury jest pozostawione puste, więc klient szuka pliku o nazwie ip-klienta-szestnastkowo. Dlatego jeśli podarchitektura Twojego systemu to SUN4C, a jego IP to 192.168.1.3, plik powinien nosić nazwę C0A80103.SUN4C.

Można także zmusić niektóre systemy Sparc do szukania konkretnego pliku dodając jego nazwę na końcu komendy boot OpenPROM, na przykład boot net moj-sparc.image. Musi on się znajdować jednak w katalogu, w którym szuka go serwer TFTP.

Kiedy już określisz nazwę pliku, utwórz dowiązanie w ten sposób: ln /boot/tftpboot.img /boot/nazwa-pliku.

Teraz powinieneś/powinnaś być w stanie uruchomić system. W przypadku maszyn z OpenBoot, po prostu uruchom boot monitor na maszynie, na której instalujesz system (patrz Wywoływanie OpenBoot, Rozdział 3.3.1) i użyj komendy boot net. Niektóre starsze wersje OpenBoot wymagają użycia nazwy urządzenia, na przykład boot le().


6.5.5 Instalacja z TFTP w systemach z małą ilością pamięci

W przypadku niektórych systemów standardowy RAM-dysk instalacyjny w połączeniu z wymaganiami pamięciowymi obrazu startowego TFTP nie mieści się w pamięci. W tym wypadku nadal można zainstalować system z wykorzystaniem TFTP, ale konieczne jest przejście dodatkowego kroku związanego z montowaniem przez NFS głównego systemu plików. Ten typ instalacji jest także właściwy w przypadku klientów bezdyskowych.

Najpierw powtórz wszystkie kroki z powyższego rozdziału, Ładowanie z TFTP, Rozdział 6.5.

  1. Skopiuj obraz jądra Linuksa na serwer TFTP przy pomocy obrazu a.out dla architektury, na której instalujesz.
  2. Rozpakuj archiwum głównego systemu plików na serwerze NFS (może to być ta sama maszyna co serwer TFTP):
         # cd /tftpboot
         # tar xvzf root.tar.gz
    

    Upewnij się, że używasz wersji GNU programu tar (inne wersje tego programu, jak SunOS niewłaściwie traktują pliki urządzeń jako zwykłe pliki).

  3. Wyeksportuj katalog /tftpboot/debian-sparc-root z dostępem administratora swojemu klientowi. Na przykład dodając następującą linię do pliku /etc/exports (składnia GNU/Linux, powinna być podobna do SunOS):
         /tftpboot/debian-sparc-root	klient(rw,no_root_squash)
    

    UWAGA: "klient" to nazwa (ang. hostname) lub adres IP maszyny, na której instalujesz system.

  4. Utwórz dowiązanie symboliczne z adresu IP do debian-sparc-root w katalogu /tftpboot. Na przykład jeśli adres klienta to 192.168.1.3, użyj następującej komendy:
         # ln -s debian-sparc-root 192.168.1.3
    
  5. Teraz możesz uruchomić klienta jak to opisano w Ładowanie z TFTP, Rozdział 6.5.

NOT YET WRITTEN


6.5.6 Installing with TFTP and NFS Root

It is closer to "tftp install for lowmem..." because you don't want to load the ramdisk anymore but boot from the newly created nfs-root fs. You then need to replace the symlink to the tftpboot image by a symlink to the kernel image (eg. linux-a.out). My experience on booting over the network was based exclusively on RARP/TFTP which requires all daemons running on the same server (the sparc workstation is sending a tftp request back to the server that replied to its previous rarp request). However, Linux supports BOOTP protocol, too, but I don't know how to set it up :-(( Does it have to be documented as well in this manual?


6.6 Co zrobić w przypadku problemu?

Jeśli pojawią się problemy i jądro zatrzymuje się w czasie ładowania, nie wykrywa urządzeń, które są w systemie lub napędy nie są poprawnie rozpoznawane, najpierw należy spróbować podać parametry ładowania, jak zostało to opisane w rozdziale Argumenty ładowania, Rozdział 6.1.

Problemy można często rozwiązać wyjmując z komputera dodatkowe urządzenia i próbując uruchomić komputer jeszcze raz.

Jeśli nie można załadować systemu z powodu problemu z ``IDPROM'', to możliwe jest, że wyczerpała się bateria NVRAM, podtrzymująca informacje na temat firmware. Więcej informacji można znaleźć w Sun NVRAM FAQ.

Jeśli ładujesz system z dyskietki i widzisz komunikaty takie jak:

     Fatal error: Cannot read partition
     Illegal or malformed device name

to jest możliwe, że ładowanie systemu z dyskietki po prostu nie jest obsługiwane przez Twoją maszynę. Patrz Ładowanie systemu z dyskietek, Rozdział 5.6.2.

Jeśli nadal masz problemy, prosimy o przysłanie zgłoszenia błędu. Wyślij list elektroniczny na adres submit@bugs.debian.org. Musisz załączyć następujące linie na samym początku listu:

     Package: boot-floppies
     Version: wersja

Zamiast wersja wpisz numer wersji systemu instalacyjnego, której używałeś/używałaś. Jeśli nie znasz numeru wersji, wpisz w to miejsce datę sprowadzenia z sieci i dodaj dystrybucję, której dotyczy system instalacyjny (np. ``stable'', ``frozen'').

Powinieneś/powinnaś także zamieścić w zgłoszeniu następujące informacje:

     architecture:  sparc
     model:         producent sprzętu i model
     memory:        ilość pamięci RAM
     scsi:          kontroler SCSI, jeśli go posiadasz
     cd-rom:        model CD-ROM-u i typ interface'u, np., ATAPI
     network card:  karta sieciowa, jeśli ją posiadasz
     pcmcia:        szczegóły na temat jakichkolwiek urządzeń PCMCIA

W zależności od typu błędu dobrze jest też zgłosić czy instalujesz na dysk IDE czy SCSI, czy posiadasz inne urządzenia zewnętrzne takie jak karta dźwiękowa, oraz podać pojemność dysku i model karty grafiki.

Opisz także na czym polega problem, widoczne komunikaty jądra w przypadku jego zatrzymania się. Opisz kroki, które doprowadziły system do stanu, w którym wystąpił błąd.


[ powrót ] [ Streszczenie ] [ Prawa autorskie ] [ Spis treści ] [ dalej ]
Instalacja Debiana GNU/Linux 2.2 dla architektury SPARC
version 2.2.22, 27 March, 2001
Bruce Perens
Sven Rudolph
Igor Grobman
James Treacy
Adam Di Carlo
tłumaczenie: Marcin Owsiany porridge@pandora.info.bielsko.pl