![젠투 커널 업그레이드 명령 순서](https://linux55.com/image/146338/%EC%A0%A0%ED%88%AC%20%EC%BB%A4%EB%84%90%20%EC%97%85%EA%B7%B8%EB%A0%88%EC%9D%B4%EB%93%9C%20%EB%AA%85%EB%A0%B9%20%EC%88%9C%EC%84%9C.png)
커널을 업데이트하는 간단한 bash 스크립트가 있습니다. 여기에는 커널 빌드, 외부 모듈 재구축, initramfs 빌드 genkernel
및 grub 구성 업데이트가 포함됩니다. 다음은 스크립트입니다.
#!/bin/bash
set -x
set -e
cd linux
# mount boot if not mounded
mount | grep "/boot type vfat" > /dev/null || mount /boot
# build the kernel
make -j16
# install modules
make modules_install
# prepare modules (for @module-rebuild)
make modules_prepare
# rebuild external modules (nvidia, etc)
emerge --ask=n @module-rebuild
# install kernel
make install
# build initramfs
genkernel --lvm --luks --install initramfs
# make grub config
grub-mkconfig > /boot/grub/grub.cfg
# umount boot
umount /boot
이 스크립트는 한 가지 예외를 제외하고 잘 작동합니다. 항상 두 번 호출해야 하고 시작 시 오류가 발생하지 않으면(initramfs를 로드할 수 없음) 스크립트의 일부 단계가 잘못된 순서로 되어 있다고 생각하지만 그렇게 할 수는 없습니다. 정확한 단계가 무엇인지 알 수 없습니다. 공식 문서에는 재구축을 위해 initramfs를 사용하는 내용이 포함되어 있지 않습니다.https://wiki.gentoo.org/wiki/Kernel/Upgrade
내 스크립트에 무슨 문제가 있나요? 이 문제를 해결하려면 어떻게 업데이트해야 하나요?
답변1
makemodules_install과 makemodules_prepare를 전환해야 할 것 같습니다.
먼저 모듈을 준비한 후 설치하세요.