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.