Jaka jest różnica między initrd a initramfs?


12

Chciałbym wiedzieć, jaka jest różnica między initrdi initramfs?

Odpowiedzi:


12

Initrd jest przestarzałe, zastąpione przez Initramfs, który nie ma żadnych słabych stron initrd:

  • Initrd wymaga, aby przynajmniej jeden sterownik systemu plików został wkompilowany w jądro
  • Dysk stworzony przez initrd ma mieć stały rozmiar
  • Wszystkie odczyty / zapisy na Initrd są zbędnie buforowane (niepotrzebnie) do pamięci głównej

Myślę, że to wszystko.


Jak to polecenie update-initramfs generuje /boot/initrd.img?

Przekształca niezbędne pliki w cpio archiwum , które jest formatem archiwum binarnego (bardzo podobnym do tar, nie używanym powszechnie w Linuksie), a następnie używa gzip do skompresowania tego archiwum. Gzip to nie jest samo archiwum, tylko kompresja (dlatego otrzymujesz pliki archiwów .tar.gz).

W czasie uruchamiania archiwum jest nieskompresowane i rozpakowywane na    dysk RAM .

Zobacz także: Jak uruchamia się komputer


„Initrd wymaga, aby przynajmniej jeden sterownik systemu plików został wkompilowany w jądro”. Nie mam o tym pojęcia. Czy możesz to wyjaśnić?
Sen

Zwykle sterowniki systemu plików mogą być dowolnie przykręcone do systemu operacyjnego, a niektóre rzeczy muszą zostać skompilowane bezpośrednio w jądrze. Co jest uciążliwe, ponieważ wszystkie wersje jądra muszą być dostosowywane, powiększane, wprowadzane dodatkowe zależności i tak dalej. (Przynajmniej tak sądzę, może się mylić, nie mam doskonałej wiedzy na temat systemów plików)
Stefano Palazzo

Czy to tak, że initramfs nie musi być montowany początkowo?
Sen

Wszystkie systemy plików muszą zostać zamontowane, zanim będą mogły być używane. Jeśli chcesz dowiedzieć się więcej o initramfs, zajrzyj na en.wikipedia.org/wiki/Initrd - istnieje o wiele bardziej szczegółowe wyjaśnienie.
Stefano Palazzo

Jak to polecenie update-initramfs generuje /boot/initrd.img?
Sen

3
  • initrd był oparty na urządzeniach blokowych, initramfs jest bazą plików.

  • za pomocą initrd utworzyłeś obraz systemu plików. za pomocą initramfs tworzysz archiwum z plikami, które jądro wypakowuje do tmpfs.


czy mógłbyś wyjaśnić mi kroki od początku do ładowania i czytania initramfs?
Sen
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.