Ubuntu 20.04: initramfs의 압축을 푸는 데에도 문제가 있지만 gzip으로 변경해도 문제가 해결되지 않았습니다.

Ubuntu 20.04: initramfs의 압축을 푸는 데에도 문제가 있지만 gzip으로 변경해도 문제가 해결되지 않았습니다.

우분투 20.04를 사용자 정의하는 데 문제가 있습니다. 부팅을 위해 새 initrd(iso/casper/initrd)를 만들 때 다음 오류가 발생합니다.

initramfs unpacking failed: Decoding failed

그런 다음 initramfs 쉘을 입력하십시오.

이 문제를 설명하는 게시물을 다음과 같이 찾았습니다.

https://bugs.launchpad.net/ubuntu/+source/ubuntu-meta/+bug/1870260 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1835660

그래서 initramfs.conf를 변경하여 COMPRESS=gzip(chrooted) squashfs 라이브 파일 시스템에 설정하고 다음을 사용했습니다.

mkinitrd -o initrd 5.4.0-33-generic

또한 initramfs를 사용자 정의하려면 지침을 따르십시오. https://askubuntu.com/questions/1094854/how-to-modify-initrd-initial-ramdisk-of-ubuntu-18-10-cosmic-cuttlefish

그런 다음 넣어iso/casper/initrd

그러나 그것은 내 문제를 해결하지 못했습니다. 오류 메시지는 표시되지 않지만 여전히 initramfs에 직접 연결됩니다. 즉, 플리머스나 편재성으로 들어가지 않고 단지 initramfs 쉘에서 멈춥니다.

무소식. initramfs의 (busybox)가 more작동하지 않아서 dmesg 로그도 자세히 볼 수 없습니다.

이 상황을 디버깅하는 방법이나 gzipped initramfs가 작동하도록 하려면 어떻게 해야 하는지를 포함한 모든 도움과 조언을 주시면 감사하겠습니다.

답변1

나는 스스로 답을 찾았습니다.

plymouth를 실행하는 대신 셸에 들어가는 이유는 새로 생성된 initrd의 conf/conf.d에 "default-boot-to-casper.conf" 파일이 없기 때문입니다. 이 파일은 라이브 시스템이므로 HDD가 아닌 캐스퍼에서 부팅하도록 부트로더에 지시합니다. 기본 Ubuntu iso/casper/initrd에서는 압축을 풀 때 이 파일이 존재합니다. 그러나 이는 squashfs 라이브 파일 시스템에 존재하지 않으므로 새로 생성된 initrd.img는 캐스퍼에서 시작할 수 없습니다.

콘텐츠 넣기

if [ -z "$BOOT" ]; then
    export BOOT=casper
fi

그런 다음 /etc/initramfs-tools/conf.d/default-boot-to-casper.conflz4를 사용하든 gzip 압축을 사용하든 성공적으로 시작할 수 있는 initrd를 생성합니다. lz4를 사용할 때 "디코딩 실패"가 계속 표시되지만 계속 시작할 수 있습니다.

답변2

프랭클린, UNetbootin으로 생성된 새 데스크탑에서 Ubuntu Studio 20.04의 라이브 버전을 실행하려고 할 때 동일한 문제가 발생했습니다... "initramfs 압축 풀기 실패: 디코딩 실패".

그러나 라이브 USB 스틱을 사용하여 다른 컴퓨터에서 실행하면 문제 없이 잘 실행되므로 내 문제가 다를 수 있다고 생각하게 됩니다.

어떤 아이디어가 있나요?

관련 정보