%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%BB%A4%EB%84%90%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%95%95%EC%B6%95%EC%9D%84%20%ED%92%80%EA%B3%A0%20%EC%9D%BC%EB%B6%80%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%8D%AE%EC%96%B4%EC%93%B4%20%EB%8B%A4%EC%9D%8C%20%EB%AA%A8%EB%93%A0%20%EA%B2%83%EC%9D%84%20%EB%8B%A4%EC%8B%9C%20%EC%95%95%EC%B6%95%ED%95%98%EC%97%AC%20%EC%83%9D%EC%84%B1%EB%90%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EB%B6%80%ED%8C%85%EB%90%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
제목에서 알 수 있듯이 나는 gunzip과 cpio를 사용하여 커널 파일의 압축을 풀고(첫 번째 파일은 initrd.img-5.10.0-18-amd64.gz로 가정) 일부 파일을 덮어쓰고 모든 것을 다시 패키지하려고 합니다. 문제는 생성된 새 커널 파일이 부팅 가능하지 않다는 것입니다. 누군가 내가 이유를 이해하도록 도와줄 수 있나요? 심지어 크기도 다릅니다. 내가 하고 싶은 것은 Ubuntu 22.04의 CUBIC을 호스트 OS로 사용하고 Debian 11을 다음과 같이 사용하여 새로운 프로필, 로고 및 이미지 세트로 Debian 11 ISO 이미지를 사용자 정의하려고 할 때 initrd.img* 파일의 내용을 변경하는 것입니다. CUBIC의 "방문자". 내가 내린 명령은 다음과 같습니다.
mkdir /home/ziomario/Scrivania/PassT-Cubic/kernels
mkdir /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped
mkdir /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64
cd /home/ziomario/Scrivania/PassT-Cubic/kernels/
gunzip -k initrd.img-5.10.0-18-amd64.gz
mkdir /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64
cpio -idv < initrd.img-5.10.0-18-amd64 -D /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64
mkdir -p usr/share/plymouth/
mkdir -p usr/share/plymouth/themes/homeworld/
cp /usr/share/plymouth/debian-logo.png usr/share/plymouth/
cp /usr/share/plymouth/themes/homeworld/debian.png usr/share/plymouth/themes/homeworld/
cp /usr/share/plymouth/themes/homeworld/logo.png usr/share/plymouth/themes/homeworld/
cp usr/share/plymouth/debian-logo.png /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64/usr/share/plymouth/
cp usr/share/plymouth/themes/homeworld/debian.png /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64/usr/share/plymouth/themes/homeworld
cp usr/share/plymouth/themes/homeworld/logo.png /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64/usr/share/plymouth/themes/homeworld
cd /home/ziomario/Scrivania/PassT-Cubic/kernels/unzipped/initrd.img-5.10.0-18-amd64
find . -print -depth | cpio -o > ../../initrd.img-5.10.0-18-amd64
find: warning: you have specified the global option -depth after the argument
-print, but global options are not positional, i.e., -depth affects tests
specified before it as well as those specified after it. Please specify global
options before other arguments.
893621 blocks
cd ../..
gzip initrd.img-5.10.0-18-amd64
CUBIC을 사용하여 새 ISO 이미지를 "굽고" 부팅할 기본 커널을 선택한 후 결과 커널 파일이 부팅할 수 없음을 발견했습니다. 실제로는 원본보다 크기가 더 큽니다. 가상 머신에서 시작하려고 할 때 보고된 오류는 다음과 같습니다.
이유는 모르겠습니다. 커널 파일 내부에서는 모든 것이 괜찮아 보입니다. Google 드라이브에 잘못된 파일을 넣었습니다. 어쩌면 당신 옆에서 시험해 보고 싶나요? 매우 유용한 지원에 감사드립니다.
https://drive.google.com/drive/folders/16z5INJTSB3YcpzE980q9eqRIRVG02-JH?usp=sharing
어쨌든 보고된 오류는 다음과 같습니다.https://ibb.co/rm5WRSz
답변1
해결책은 다음과 같습니다.
find . -depth | cpio --create --format='newc' > ../../initrd.img-5.10.0-19-amd64