Tworzę własne initramfs na podstawie wiki Gentoo . Zamiast znajomego tar
i gzip
strona mówi mi, żebym używał cpio
i gzip
. Wikipedia twierdzi, że cpio
jest używany przez initramfs jądra 2.6, ale nie wyjaśnia dlaczego.
Czy to tylko konwencja, czy jest cpio
lepsza dla initramfs? Czy nadal mogę używać tar
i gzip
?
compression
cpio
initramfs
phunehehe
źródło
źródło
/init
itp.), A jądro po prostu z niego korzysta. Nie chodzi mi o generowanie initramfs przez genkernel lub podobne metody.Odpowiedzi:
Nie jestem w 100% pewien, ale ponieważ początkowy ramdysk musi zostać rozpakowany przez jądro podczas rozruchu, cpio jest używane, ponieważ jest już zaimplementowane w kodzie jądra.
źródło
cpio -H newc
archiwum.cpio
to jako konwencję i musimy z niej skorzystaćcpio
.Cytowanie
Documentation/filesystems/ramfs-rootfs-initramfs.txt
:źródło
Z tego, co pamiętam z moich dawnych czasów SysV, cpio mógł obsługiwać pliki dev, ale tar nie mógł; dzięki temu CPIO było preferowanym narzędziem do tworzenia kopii zapasowych, zanim pojawił się zrzut. Łatwiej było także obsługiwać częściowe zestawy plików i twarde łącza, dzięki czemu tworzenie przyrostowych kopii zapasowych było łatwiejsze. Myślę, że GNU tar nadrobił zaległości w funkcjach CPIO, więc teraz jest to tylko kwestia wygody użytkownika. Zarówno cpio, jak i tar powinny być domyślnie zainstalowane.
źródło
cpio
może być w stanie obsłużyćtar
archiwa -format i odwrotnie w niektórych przypadkach, ale to nie ma znaczenia. Jądro może rozpakowywać tylko archiwa wnewc
formaciecpio
-format, których nietar
znam.newc
jest oficjalnie nazwanyasc
i oczywiście obsługiwany przezstar
.