Szczegółowo opisz proces uruchamiania systemu Linux


14

Przygotowuję dokument szczegółowo pokazujący światło na sekwencji rozruchowej Linuksa od naciśnięcia przycisku Power-on hosta do pojawienia się monitu o zalogowanie się.

Byłoby wspaniale, gdybyśmy mogli połączyć i zestawić te właściwe odpowiedzi tutaj w jednym miejscu odniesienia. Podaj wszelkie szczegóły warte odnotowania podczas uruchamiania. Gdy dokument zostanie ukończony ze wszystkich punktów, opublikuję tutaj również szczegóły dokumentu i zaktualizuję link w pytaniu.

Proszę wziąć pod uwagę wszystkie możliwe scenariusze, takie jak uruchamianie z dysku, uruchamianie z USB, uruchamianie z sieci na kliencie bezdyskowym, w którym rootfs (/) znajduje się w sieci.


3
Sądząc z tego (w tym referencji) i tego , proponujesz całkiem duży projekt ...
— sr_

4
Czy to wydaje się komuś innemu jak zadanie domowe / praca dyplomowa?
— Shadur

1
Czy nie powinno to być oflagowane jako wiki-społeczności?
— użytkownik nieznany

4
Myślę, że jest to zbyt szerokie na pytanie dotyczące SE, istnieją ogromne różnice między dystrybucjami i konfiguracjami.
— Gilles „SO- przestań być zły”

1
czy możesz przesłać przygotowany przez ciebie dokument
— Abhishek

Odpowiedzi:


7

Chcesz sekwencję rozruchową Linuksa lub po prostu sekwencję rozruchową komputera ... ponieważ nie ma różnicy między uruchamianiem Linuksa z USB / Cdrom / HDD ... Linux zawsze uruchamia się z MBR, gdzie bootloader jest ...

Proces rozruchu systemu Linux:

  1. Gdy pojawi się zasilanie, BIOS otrzymuje kontrolę
  2. BIOS uruchamia autotesty, zwykle obejmujące pobieżne testy pamięci.
  3. BIOS ładuje następnie pierwszy sektor dysku, który ma zostać użyty do rozruchu i przekazuje mu kontrolę.
  4. Kod MBR jest różny. Jedna wersja będzie łączyć się z kodem w pierwszym sektorze partycji rozruchowej (Windows), inna ładuje bootloader. Uruchamianie systemu Windows odbywa się z kodu i informacji z partycji rozruchowej.
  5. bootloader wybiera lokalizację i wersję jądra
  6. bootloader przygotowuje jądro i obraz initrd w pamięci, przekazuje kontrolę do jądra
  7. ładowanie modułów jądra
  8. odkrywanie sprzętu i ładowanie dodatkowych modułów jądra do jego obsługi
  9. szukam dysków
  10. Montaż R / O partycji /, aby można ją było potencjalnie sprawdzić i naprawić
  11. proces inicjowania spawn
  12. / etc / inittab odczyt i wykonywanie
  13. montowanie wszystkich plików FS z / etc / fstab
  14. uruchomione poziomy uruchamiania (w oparciu o domyślny poziom uruchamiania w / etc / inittab) lub inną metodę init, taką jak systemd lub upstart
  15. rc.local
  16. monit o zalogowanie

Dzięki @Sebastian, to była dobra lista. Szukam szczegółowych kroków na przykład 1: co ładuje informacje mbr, przed tym jak płyną instrukcje post i bios; 2. dlaczego r / o montowanie / partition, a następnie ponownie odczyt / zapis montowanie / partycja .. co to jest proces 0 w całym tym procesie .. ale dziękuję za odpowiedź.
— Nikhil Mulley,

@Nikhil w odniesieniu do procesu 0 ... nie ma takiego procesu, po załadowaniu jądra Masz proces 1, który jest procesem init. Jeśli chodzi o resztę punktów: 1. sprawdź ibm.com/developerworks/library/l-linuxboot/index.html 2. ponieważ najpierw trzeba sprawdzić pliki, potem możesz zacząć pisać na nim ... to raczej ze względów bezpieczeństwa. ..
— Sebastian Szary

Nie ma MBR na dyskietkach lub cdroms. Proces rozruchu dla cdroms obejmuje plik katalogu, który opisuje jeden lub więcej obrazów wielosektorowych, które bios może załadować i wykonać.
— psusi

Co się stanie, jeśli moduły jądra znajdują się w ext3systemie plików, a ext3moduł jądra nie jest jeszcze załadowany? Co więcej, jeśli samo jądro znajduje się w systemie plików, którego bootloader nie rozpoznaje? Jak następujące rzeczy ładowane są kolejno, ładowanie kernel, ładowanie bootloader, montowanie /bootkatalogu, czytanie /etc/fstabpliku itp.
— yegle

3

Spróbuj zainstalować i używać programu rozruchowego .


1
dzięki za wskaźnik, tak naprawdę chcę przedstawić wizualizujący dokument przepływu tego, co dzieje się podczas rozruchu i jakiego rodzaju procesu decyzyjnego jest zaangażowany.
— Nikhil Mulley

1
dzięki @Alexander Zainstalowałem go na mojej fedorze i zapewnia bardzo szczegółowy png
— Abhishek
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.