The Linux Bootdisk HOWTO: Dyskietki startowe i proces startu systemu.
Następna strona
Poprzednia strona
Spis treści
3. Dyskietki startowe i proces startu systemu.
Dyskietka startowa jest po prostu miniaturowym systemem Linux na dyskietce.
Musi on spełniać wiele funkcji wykonywanych przez zwykły, pełnowymiarowy
system Linux. Zanim spróbujesz stworzyć własną dyskietkę, musisz zrozumieć
podstawy startowania systemu Linux. Prezentujemy tutaj jedynie podstawy,
które są wystarczające do zrozumienia reszty tego dokumentu. Wiele
szczegółów i opcji alternatywnych zostało ominiętych.
3.1 Proces startu systemu.
Wszystkie komputery PC rozpoczynają proces startu systemu przez wykonanie
kodu znajdującego się w pamięci ROM (konkretnie w BIOS-ie), który
ładuje jeden sektor z sektora 0, cylindra 0 napędu startowego. Napęd
startowy to zazwyczaj pierwszy napęd dyskietek (oznaczony A: w DOS-ie
i /dev/fd0 w Linuxie). Następnie BIOS próbuje wykonać zawartość
tego sektora. Na większości dyskietek startowych sektor 0, cylinder 0
zawiera:
kod programu ładującego takiego jak LILO, który, aby wystartować system,
lokalizuje jądro, ładuje je i wykonuje.
początek jądra systemu operacyjnego, takiego jak Linux.
Jeśli jądro Linuxa zostało przekopiowane bezpośrednio na dyskietkę, to
pierwszy sektor dyskietki będzie jednocześnie pierwszym sektorem jądra. Kod
znajdujący się w pierwszym sektorze będzie kontynuował proces startu
ładując resztę jądra z dyskietki.
Gdy jądro zostanie w całości załadowane, rozpoczyna ono inicjalizację
sterowników. Następnie próbuje ono załadować i zamontować główny
system plików z jednego z urządzeń. Główny system plików to po prostu
system montowany jako ``/''. Jądro musi wiedzieć, gdzie szukać głównego
systemu plików, jeśli nie znajdzie tam obrazu który można załadować,
zawiesza się.
W niektórych sytuacjach -- często w czasie startowania z dyskietki --
główny system plików zostaje załadowany do ramdysku, czyli
do pamięci RAM która jest traktowana przez system tak, jakby była dyskiem.
Istnieją dwa powody dla których system ładuje się do ramdysku. Po pierwsze,
RAM jest o wiele szybszy niż dyskietka, tak więc operacje systemowe są
wykonywane szybko. Po drugie, jądro może załadować
skompresowany system plików z dyskietki i rozpakować go do
ramdysku, dzieki czemu na dyskietce można zmieścić o wiele więcej plików.
Gdy główny system plików zostanie załadowany i zamontowany, ujrzysz taką
informację:
VFS: Mounted root (ext2 filesystem) readonly.
Następnie system odnajduje w głównym systemie plików program init (w
katalogu /bin lub /sbin) i wykonuje go. init odczytuje
swój plik konfiguracyjny /etc/inittab, szuka lini oznaczonej
sysinit i wykonuje podany tam skrypt. Skrypt sysinit to najczęściej
plik /etc/rc, /etc/init.d/boot lub podobny. Ten
skrypt to seria komend powłoki, które inicjalizują podstawowe usługi systemu,
oraz wykonują czynności takie jak:
Uruchamianie fsck na wszystkich dyskach,
Ładowanie potrzebnych modułów jądra,
Startowanie pamięci swap,
Inicjalizacja sieci,
Montowanie dysków wymienionych w fstab.
Ten skrypt często wywołuje inne skrypty odpowiadające za inicjalizację
poszczególnych modułów. Na przykład, w typowej procedurze inicjalizacyjnej
systemów zgodnych z SysV, katalog /etc/rc.d/ zawiera złożoną
strukturę podkatalogów, których pliki odpowiedzialne są za załączanie i
wyłączanie poszczególnych usług systemu. Jednak na dyskietce startowej
skrypty sysinit są na ogół bardzo proste.
Gdy skrypt sysinit zakończy pracę, kontrola powraca do programu init,
który następnie wchodzi na domyślny poziom pracy, podany w pliku
inittab przy słowie kluczowym initdefault. Linie poziomów pracy na
ogół wyszczególniają program taki jak getty, który jest
odpowiedzialny za obsługę komunikacji przez konsolę i terminale. To własnie
program getty wypisuje znaną wszystkim linię zachęty ``login:''.
Wywołuje on następnie program login, który przeprowadza
weryfikacje i ustanawia sesję użytkownika.
3.2 Typy dysków.
Po zapoznaniu się z podstawami procesu startowania systemu, możemy
zdefiniować różne typy dyskietek. Dzielimy je na cztery rodzaje.
startowaDyskietka zawierająca jądro które może zostać uruchomione.
Dyskietka może zostać użyta do wystartowania jądra, które następnie może
załadować główny system plików z innego dysku. Jądro na dyskietce startowej
zwykle musi wiedzieć, gdzie znaleźć swój główny system plików.
Często dyskietka startowa ładuje główny system plików z innej dyskietki, ale
jest także móżliwe ładowanie głównego systemu plików z twardego dysku.
Najczęściej robi się to po to, aby przetestować nowe jądro (w
rzeczywistości podczas kompilacji nowego jądra polecenie ``make zdisk''
utworzy taką dyskietkę startową).
głównaDyskietka z systemem plików zawierającym pliki wymagane do
uruchomienia systemu Linux. Taka dyskietka nie musi zawierać jądra czy
programu ładującego.
Gdy jądro zostało już wystartowane, główna dyskietka może zostać użyta, aby
uruchomić system niezależnie od innego dysku. Zazwyczaj główna
dyskietka jest automatycznie kopiowana do ramdysku. Znacznie przyspiesza to
dostęp do danych, oraz zwalnia miejsce w stacji na dyskietkę narzędziową.
startowa/głównaDyskietka zawierająca zarówno jądro,
jak i główny system plików. Innymi
słowy zawiera ona wszystko, co potrzebne do wystartowania i uruchomienia
Linuxa bez twardego dysku. Zaletą takich dyskietek jest ich zwięzłość --
wszystko znajduje się na jednej dyskietce. Jednak rozmiary wszystkich
elementów ciągle się powiększają, więc coraz trudniej zmieścić wszystko na
jednej dyskietce, nawet przy użyciu kompresji.
narzędziowaDyskietka ta zawiera system plików, ale nie jest on jednak
montowany jako główny system plików. Jest to dodatkowa dyskietka z danymi.
Używa się jej aby dostarczyć dodatkowe programy narzędziowe niemieszczące
się na głównej dyskietce.
Gdy mówimy o ``tworzeniu dyskietki startowej'', mamy na myśli tworzenie
zarówno części startowej (jądra) jak i głównej (plików). Mogą one znajdować
się razem lub osobno. Najbardziej elastycznym rozwiązaniem w przypadku
dyskietek ratunkowych jest użycie osobnej dyskietki startowej i głównej,
oraz jednej lub więcej dyskietki narzędziowej.
Następna strona
Poprzednia strona
Spis treści
Wyszukiwarka
Podobne podstrony:
bootdisk howto pl 8bootdisk howto pl 13bootdisk howto pl 7bootdisk howto pl 4bootdisk howto pl 10bootdisk howto pl 5bootdisk howto pl 6bootdisk howto pl 9bootdisk howto pl 2bootdisk howto pl 11bootdisk howto plbootdisk howto plbootdisk howto pl 12bootdisk howto pl 14bootdisk howto pl 1PPP HOWTO pl 6 (2)NIS HOWTO pl 1 (2)cdrom howto pl 1jtz howto pl 5więcej podobnych podstron