2022년 Fedora에서 실행/설치된 커널에서 복구 커널을 수동으로 재생성하는 방법은 무엇입니까?

2022년 Fedora에서 실행/설치된 커널에서 복구 커널을 수동으로 재생성하는 방법은 무엇입니까?

인터넷에서 나는 이것만 찾았습니다.

/etc/kernel/postinst.d/51-dracut-rescue-postinst.sh $(uname -r) /boot/vmlinuz-$(uname -r)

그러나 이 파일이 누락되고 실제로 전체 /etc/kernel/postinst.d/디렉토리가 비어 있기 때문에 Fedora 36 및 향후 37 버전에서는 작동하지 않습니다.

나도 그걸 알아차렸어

dnf reinstall kernel-core

하지만 최신 커널에서만 작동합니다. 내가 실행하고 있던 커널은 더 이상 저장소에서 사용할 수 없습니다. 게다가 이 방법 자체는 이유 없이 수백 개의 파일이 다시 설치되기 때문에 좋은 옵션이 아닙니다.

grep -r rescue /etc아무것도 발견되지 않았습니다.

# grep -r rescue /usr/bin
grep: /usr/bin/tdbdump: binary file matches
grep: /usr/bin/ctags: binary file matches
grep: /usr/bin/systemctl: binary file matches
grep: /usr/bin/systemd-analyze: binary file matches
grep: /usr/bin/efisecdb: binary file matches
grep: /usr/bin/dpkg: binary file matches
grep: /usr/bin/grub2-mkrescue: binary file matches

/usr/share많은 수의 일치 항목이 포함되어 있지만 사용 방법을 모르겠습니다.

kernel-core패키지 의 RPM 스크립트는 kernel-modules몇 가지 작업을 수행할 수 있지만 Rescue에 특정한 작업은 없습니다. 이 모든 것이 하나의 작업으로 수행되는 것처럼 보이지만 initrd를 재생성하고 싶지 않습니다.

답변1

복구 커널은 일반 initramfs를 사용하므로 다시 빌드해야 합니다. (영향을 확인하려면 initramfses의 크기를 비교하십시오.)

현재 실행 중인 커널을 사용하여 새로운 복구 커널을 생성하려면 Fedora 36에서 다음을 실행하십시오.

sudo rm /boot/*rescue*
sudo /usr/lib/kernel/install.d/51-dracut-rescue.install add "$(uname -r)" /boot "/boot/vmlinuz-$(uname -r)"

관련 정보