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

Instalacja Debiana GNU/Linux 2.2 dla architektury ARM
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 ``ttyS0''.

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.

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 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.

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.

NOT YET WRITTEN


6.5.5 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 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:  arm
     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 ARM
version 2.2.25, 07 June, 2001
Bruce Perens
Sven Rudolph
Igor Grobman
James Treacy
Adam Di Carlo
tłumaczenie: Marcin Owsiany porridge@pandora.info.bielsko.pl