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.