Linux #8 - Rozruch
Wstęp
Dzień dobry, dziś przekażę informacje o rozruchu w systemie linux. Serdecznie zapraszam.
Etapy uruchamiania Systemu Linux
System Linux, zanim się uruchomi do takiego stanu, w którym możemy korzystać z ich dobrodziejstw, musi przejść kilka etapów:
Bios
Pierwszym przystankiem, dla każdego systemu operacyjnego czy to MS Windows Linux, Mac, FreeBSD, AIX, HP-UX i wiele innych jest BIOS.
Bios z angielskiego Basic Input/Output System (Podstawowy system wejścia wyjścia). Jest to pierwszy z etapów rozruchowych. Bios ma za zadanie kontrolować transfer danych między podzespołami, zarządzać zasilaniem oraz uruchomić program rozruchowy.
Boot Loader
Boot loader (MBR albo EFI) ma za zadanie poinformować o tablicy partycji oraz uruchomić program rozruchowy.
GRUB
Grand Unified Bootloader - program rozruchowy, często spotykany przy systemach Linux. Nazwa może być myląca z etapem poprzednim, ale operują one w innym zakresie. Jest to interaktywny etap rozruchowy zawierający informacje o lokalizacji kernela i innych opcji rozruchowych. Pozwala również na tzw “ Dual-Boot” czyli posiadanie dwóch systemów, Windows i Linux, obok siebie. Grub uruchamia Kernel
Kernel
Montuje główny system plików (root file system) następnie, uruchamia początkowy “RAM disk”, który zawiera wszystkie potrzebne sterowniki i po wystartowaniu kernela znika a kernel wpina się na fizyczny system plików oraz uruchamia proces init.
Proces Init
W tym momencie system uruchamia programy na każdym z poziomów. Informacje, do którego poziomu ma uruchomić programy, zwykle znajdują się w /etc/inittab
W przypadku używania systemd jako “procesu init”. Mamy do wyboru kolejne poziomy:
Poziomy uruchomiania/cele
Niektóre aplikacje, nie posiadają definicji w systemd typu “to jest potrzebne do uruchomienia tego celu init”. Ale są aplikacje, które chcemy, by uruchamiały się na konkretnym poziomie. I tak dla każdego “Run level” możemy zdefiniować aplikacje, o których informacja powinna się znaleźć w odpowiednim katalogu:
- Run level 0 –
/etc/rc0.d/
- Run level 1 –
/etc/rc1.d/
- Run level 2 –
/etc/rc2.d/
- Run level 3 –
/etc/rc3.d/
- Run level 4 –
/etc/rc4.d/
- Run level 5 –
/etc/rc5.d/
- Run level 6 –
/etc/rc6.d/
Lokalizacja tych katalogów może się trochę różnić zależnie od systemu.
W tych katalogach można znaleźć różne programy, gdzie jedne zaczynają się na S
, drugie na K
i posiadają numer. Wszystko to coś znaczy. S
znaczy, że program jest uruchamiany przy starcie systemu, natomiast K
przy zamknięciu. Numery oznaczają kolejność uruchamiania.
Epilog
Na dziś wystarczy, mam nadzieję, że dowiedziałeś/łaś się czegoś nowego, albo odświeżyłeś/łaś sobie wiedzę. Tak czy inaczej, serdecznie Ci dziękuję, za przeczytanie tego posta. Jeśli masz potrzebę o cos zapytać, kontakt znajdziesz w zakładce “O Mnie”. A teraz życzę miłego dzionka i smacznej kawusi :) Do widzenia.