gentoo 内核升级命令顺序

gentoo 内核升级命令顺序

我有简单的 bash 脚本来更新内核。它包括构建内核、重建外部模块、构建 initramfsgenkernel和更新 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。

首先准备模块,然后安装它们。

相关内容