.\" -*- coding: UTF-8 -*-
.\" Written by Oron Peled <oron@actcom.co.il>.
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
.\" I tried to be as much generic in the description as possible:
.\" - General boot sequence is applicable to almost any
.\" OS/Machine (DOS/PC, Linux/PC, Solaris/SPARC, CMS/S390)
.\" - kernel and init(1) is applicable to almost any UNIX/Linux
.\" - boot scripts are applicable to SYSV-R4 based UNIX/Linux
.\"
.\" Modified 2004-11-03 patch from Martin Schulze <joey@infodrom.org>
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH boot 7 "8 lipca 2023 r." "Linux man\-pages 6.05.01" 
.SH NAZWA
boot \- proces rozruchu systemu w stylu UNIX System V wydanie 4
.SH OPIS
\fBProces rozruchu\fP (lub \[Bq]\fBsekwencja rozruchowa\fP\[rq]) różni się w
detalach pomiędzy systemami, ale może być z grubsza podzielony na fazy
kontrolowane przez następujące komponenty:
.IP (1) 5
sprzęt
.IP (2)
program rozruchowy
.IP (3)
jądro
.IP (4)
proces w przestrzeni użytkownika root (\fIinit\fP i \fIinittab\fP)
.IP (5)
skrypty rozruchowe
.PP
Poniżej opisano bardziej szczegółowo każdy z etapów.
.SS Sprzęt
Po uruchomieniu lub sprzętowym resecie, kontrola jest przekazywana
programowi przechowywanemu w pamięci tylko do odczytu (zwykle PROM); ze
względów historycznych dotyczących komputera osobistego, program ten jest
często nazywany \[Bq]\fBBIOS\fP\-em\[rq].
.PP
Program zwykle przeprowadza podstawową samokontrolę komputera oraz odczytuje
pamięć nieulotną pozyskując dalsze parametry. Pamięć ta w zwykłym komputerze
zasilana jest baterią CMOS, dlatego często nazywana jest
\[Bq]\fBCMOS\fP\-em\[rq]; natomiast poza światem komputerów osobistych zwykle
zwie się \[Bq]\fBNVRAM\fP\-em\[rq] (ang. \[Bq]nonvolatile RAM\[rq] \- nieulotny
RAM).
.PP
Parametry przechowywane w NVRAM różnią się pomiędzy systemami, ale powinny
określać przynajmniej urządzenie, które zawiera program rozruchowy lub choć
urządzenie, które powinno być sprawdzone w celu odszukania tego programu;
takie urządzenie jest zwane \[Bq]\fBurządzeniem rozruchowym\fP\[rq]. Etap
rozruchu sprzętowego ładuje program rozruchowy z ustalonej pozycji na
urządzeniu rozruchowym i przekazuje do niego dalszą kontrolę.
.TP 
Uwaga:
Urządzenie z którego można załadować program rozruchowy można dołączyć przez
sieć; w takim przypadku dalsze detale rozruchu są określone protokołami
takimi jak DHCP, TFTP, PXE, Etherboot, itp.
.SS "Program rozruchowy"
Głównym zadaniem programu rozruchowego jest odnalezienie jądra na jakimś
urządzeniu, załadowanie i uruchomienie go. Większość programów może być
interaktywna, aby umożliwić wybranie innego jądra (być może jego kopii
zapasowej, jeśli ostatnio skompilowane jądro nie działa) i przekazanie
opcjonalnych parametrów do jądra.
.PP
W tradycyjnych komputerach program rozruchowy jest położony w pierwszym
512\-bajtowym bloku urządzenia rozruchowego, blok ten nazywa się
\[Bq]\fBMBR\fP\[rq] (ang. Master Boot Record \- główny sektor rozruchowy).
.PP
W większości systemów, ze względu na wiele ograniczeń, program rozruchowy
jest uproszczony. Nawet w systemach innych niż komputery osobiste istnieją
pewne ograniczenia dotyczące jego rozmiaru i złożoności, ale rozmiar MBR na
zwykłym komputerze (512 bajtów, uwzględniając w tym tablicę partycji) czyni
niemal niemożliwym dodanie większej liczby funkcji.
.PP
Z tego względu większość systemów dzieli rolę ładowania systemu operacyjnego
pomiędzy pierwotny program rozruchowy i wtórny program rozruchowy, ten drugi
może już zajmować większą powierzchnię na trwałym magazynie danych, takim
jak partycja dysku.
.PP
W Linuksie menedżerem rozruchu jest często \fBgrub\fP(8) (alternatywą jest
\fBlilo\fP(8)).
.SS Jądro
Podczas ładowania, jądro dokonuje inicjalizacji wielu części komputera i
systemu operacyjnego; każdy fragment oprogramowania odpowiedzialny za takie
zadanie jest zwykle uważany za \[Bq]\fBsterownik\fP\[rq] danej części. Jądro
uruchamia wymianę pamięci wirtualnej (we współczesnych jądrach Linux
dokonuje tego proces jądra zwany \[Bq]kswapd\[rq]) i montuje pewne systemy
plików w korzeniu systemu plików \fI/\fP.
.PP
Część parametrów, które można przekazać do jądra odnosi się do tych
aktywności (na przykład można przesłonić domyślny katalog główny systemu
plików); więcej informacji o parametrach jądra znajduje się w podręczniku
\fBbootparam\fP(7).
.PP
Dopiero wówczas jądro tworzy pierwszy proces w przestrzeni użytkownika,
któremu nadawany jest identyfikator procesu (\fBPID\fP) numer 1. Proces ten
tradycyjnie wykonuje program \fI/sbin/init\fP, do którego przekazywane są
parametry nieobsłużone do tej pory przez jądro.
.SS "Proces w przestrzeni użytkownika root"
.TP 
Uwaga:
Poniższy opis dotyczy systemu operacyjnego działącego w oparciu o UNIX
System V wydanie 4. Wiele powszechnie używanych systemów przyjęło powiązane,
ale fundamentalnie odmienne podejście pod nazwą \fBsystemd\fP(1); opis jego
procesu rozruchowego opisano w powiązanym z nim podręcznikiem \fBbootup\fP(7).
.PP
Gdy uruchamia się \fI/sbin/init\fP, odczytuje plik \fI/etc/inittab\fP w celu
uzyskania dalszych instrukcji. Plik określa to, co powinno być uruchomione
gdy program \fI/sbin/init\fP ma wejść w dany poziom pracy, dając
administratorowi możliwość łatwego określenia środowisk do różnych
zastosowań; każdy poziom pracy jest związany z zestawem usług (np. poziom
pracy \fBS\fP jest trybem pojedynczego użytkownika, a poziom pracy \fB2\fP oznacza
uruchomienie większości usług sieciowych).
.PP
Administrator może zmienić aktualny poziom pracy za pomocą \fBinit\fP(1) oraz
sprawdzić bieżący poziom pracy poleceniem \fBrunlevel\fP(8).
.PP
Jednak ze względu na to, że zarządzanie pojedynczymi usługami za pomocą tego
pliku jest niewygodne, \fI/etc/inittab\fP uruchamia jedynie zestaw skryptów
które uruchamiają/zatrzymują poszczególne usługi.
.SS "Skrypty rozruchowe"
.TP 
Uwaga:
Poniższy opis dotyczy systemu operacyjnego działającego w oparciu o UNIX
System V wydanie 4, jednak wiele popularnych systemów operacyjnych
(Slackware Linux, FreeBSD, OpenBSD) używa skryptów rozruchowych w jakimś
stopniu odmiennych.
.PP
Każda zarządzana usługa (poczta elektroniczna, serwer nfs, cron itp.)
posiada pojedynczy skrypt uruchomieniowy w określonym katalogu (w większości
wersji Linuksa jest to \fI/etc/init.d\fP). Każdy z tych skryptów akceptuje jako
pojedynczy argument słowo \[Bq]start\[rq] (uruchamiające usługę) lub słowo
\[Bq]stop\[rq] (zatrzymujące usługę). Dla \[Bq]wygody\[rq] skrypt może
opcjonalnie akceptować inne parametry (np. \[Bq]restart\[rq] do zatrzymania
i ponownego uruchomienia, \[Bq]status\[rq] do wyświetlenia statusu usługi
itp.). Uruchomienie skryptu bez argumentów wyświetla dopuszczalne argumenty.
.SS "Katalogi sekwencyjne"
Aby określone skrypty uruchamiały się na określonych poziomach pracy i w
określonej kolejności, występują \fIkatalogi sekwencyjne\fP, zwykle w postaci
\fI/etc/rc[0\-6S].d\fP. W każdym z tych katalogów istnieją dowiązania (zwykle
symboliczne) do skryptów w katalogu \fI/etc/init.d\fP.
.PP
Główny skrypt (zwykle \fI/etc/rc\fP) jest wywoływany z \fBinittab\fP(5); wywołuje
on następnie skrypt każdej usługi za pomocą dowiązania w odpowiednim
katalogu sekwencyjnym. Każde dowiązanie, którego nazwa zaczyna się literą
\[Bq]S\[rq] jest wywoływane z argumentem \[Bq]start\[rq] (uruchamiając
usługę). Każde dowiązanie, którego nazwa zaczyna się literą \[Bq]K\[rq] jest
uruchamiane z argumentem \[Bq]stop\[rq] (zatrzymując usługę).
.PP
Do zdefiniowania kolejności uruchamiania i zatrzymywania usług na tym samym
poziomie pracy, używa się \fBnumeru kolejności\fP w nazwie dowiązania. Aby
zachować przejrzystość, nazwa dowiązania zwykle kończy się nazwą usługi do
której odsyła dowiązanie. Przykładowo dowiązanie \fI/etc/rc2.d/S80sendmail\fP
uruchamia usługę \fBsendmail\fP(8) na poziomie pracy 2. Dzieje się to po
uruchomieniu \fI/etc/rc2.d/S12syslog\fP, ale przed uruchomieniem
\fI/etc/rc2.d/S90xfs\fP.
.PP
Zarządzenie opisanymi dowiązaniami oznacza zatem zarządzenie kolejnością
rozruchu i poziomami pracy, w wielu systemach istnieją pomocne narzędzia
służące do tego celu (np. \fBchkconfig\fP(8)).
.SS "Konfiguracja rozruchowa"
Program udostępniający usługę jest często nazywany
\[Bq]\fBdemonem\fP\[rq]. Demon może zwykle otrzymać różne opcje i parametry
wiersza poleceń. W celu umożliwienia ich zmiany przez administratora systemu
bez potrzeby edytowania całego skryptu rozruchowego, istnieje jakiś odrębny
plik konfiguracyjny, położony w określonym katalogu, w którym może odnaleźć
go skrypt rozruchowy (w starszych systemach Red Hat jest to
\fI/etc/sysconfig\fP).
.PP
W starszych systemach UNIX, taki plik zawierał faktyczne opcje wiersza
poleceń do demona, ale we współczesnych systemach Linux (oraz HP\-UX),
zawiera jedynie zmienne powłoki. Skrypt rozruchowy w \fI/etc/init.d\fP
odczytuje i włącza swój plik konfiguracyjny (wykonuje \[Bq]\fBsource\fP\[rq] na
swoim pliku konfiguracyjnym), a następnie używa wartości zmiennych.
.SH PLIKI
\fI/etc/init.d/\fP, \fI/etc/rc[S0\-6].d/\fP, \fI/etc/sysconfig/\fP
.SH "ZOBACZ TAKŻE"
\fBinit\fP(1), \fBsystemd\fP(1), \fBinittab\fP(5), \fBbootparam\fP(7), \fBbootup\fP(7),
\fBrunlevel\fP(8), \fBshutdown\fP(8)
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
