빌드 후 initramfs를 특정 위치에 복사하시겠습니까?

빌드 후 initramfs를 특정 위치에 복사하시겠습니까?

저는 Ubuntu 15.04 이미지를 사용하여 Raspberry Pi를 해킹했습니다. 암호화된 부팅 설정이 있으므로 initramfs.gz일반 텍스트 부팅 장치인 파일 시스템의 첫 번째 파티션에 이미지를 생성해야 합니다.

Ubuntu는 initramfs 이미지를 자동으로 생성합니다 /boot/initrd.img-$(uname -r). 최신 빌드 이미지를 자동으로 복사할 수 있도록 스크립트로 잡을 수 있는 후크가 있습니까 /boot/firmware/initramfs.gz?

답변1

읽다initramfs-도구 매뉴얼그리고 후크 스크립트를 작성하세요. /usr/share/initramfs-tools/hooks/참고용으로 시스템에서 제공하는 스크립트를 볼 수 있습니다 . 자신의 스크립트를 에 넣어야 합니다 /etc/initramfs-tools/hooks/. 두 폴더의 스크립트는 를 통해 병합되고 실행됩니다 mkinitramfs.

임시 폴더에서 initramfs를 생성하고 해당 내용을 검사할 수 있습니다.

mkinitramfs -o initramfs.gz
zcat initramfs.gz | cpio -id initramfs.gz

준비된 것으로 보이면 /boot시스템 initramfs 를 업데이트하세요 update-initramfs -u.

편집하다:나는 당신의 질문을 오해했습니다.

/etc/kernel각 커널 패키지의 postinst/postrm/preinst/prerm 스크립트가 호출하는 후크 스크립트 디렉터리를 볼 수 있습니다 . 이후에 호출될 다른 스크립트를 추가할 수 있도록 update-initramfs호출됩니다 ./etc/kernel/postinst.d/initramfs-toolsinitramfs-tools

답변2

알아요, 이것은 오래된 질문이지만, 같은 질문에 대한 답을 찾고 있었는데, 여기에 있습니다:

스크립트 사용/etc/initramfs/post-update.d/

우분투에는 훌륭한 문서가 없지만데비안에서 작동합니다에서 언급했듯이이 문제. 스크립트 update-initramfs는 디렉터리가 존재하는지 확인하고 initramfs를 생성한 후 해당 디렉터리에서 스크립트를 실행합니다.

먼저 디렉터리를 만듭니다.

mkdir -p /etc/initramfs/post-update.d

귀하의 경우 스크립트는 다음과 같습니다.

/etc/initramfs/post-update.d/zz-copy-to-firmware

#!/bin/sh
cp /boot/initrd.img-$(uname -r) /boot/firmware/initramfs.gz

실행 가능하게 만듭니다.

chmod +x /etc/initramfs/post-update.d/zz-copy-to-firmware

참고: Ubuntu는 최신 initramfs에 대한 심볼릭 링크를 생성 /boot/initrd.img하므로 uname -r.

관련 정보