Tar 파일로 Debian rootfs가 있습니다. Kconfig(PetaLinux 사용)에서 initramfs 소스로 지정하고 싶지만 소스는 cpio 아카이브여야 합니다.
.tar를 .cpio로 변환하고 구조, 권한 등을 유지하는 방법은 무엇입니까?
답변1
답변2
bsdtar
어떤 프로그램도 이러한 변환( 하드 링크가 포함된 오류 처리 아카이브) 을 안정적인 방식으로 제공하지 않으므로 다음을 사용하여 tar 아카이브의 압축을 풀어야 합니다.
tar xpf archive.tar
루트로 실행하고 추출된 디렉터리 트리에서 cpio 아카이브를 만듭니다.
압축 풀기/재포장 작업을 수행하면 루트 권한이 필요하지 않습니다.가근성세션 예:
fakeroot sh -c "cd '$ROOTFS' &&
tar -xf input.tar.gz &&
find . | cpio -o -H newc" > output.cpio