如何在安装 Linux 映像内核后重建内核模块?

如何在安装 Linux 映像内核后重建内核模块?

我默认安装了 Ubuntu 18.04.5,它带有 Linux 内核 5.4.0。安装后,我发现我需要一个特定的内核版本:5.3.0,所以我使用 apt 安装了它:

$ sudo apt install linux-image-5.3.0-69-generic linux-headers-5.3.0-69-generic

现在,当我在 grub 菜单上选择此内核而不是默认内核时,我无法看到 ttyUSB* 设备:缺少它们的驱动程序

$ sudo modprobe usbserial
modprobe: FATAL: Module usbserial not found in directory /lib/modules/5.3.0-69-generic

5.4.0 的默认安装有这些驱动程序,但如果手动安装,新内核版本似乎不会重建模块。

我的问题是——如何使用这个内核版本重建这个模块?

我发现一件有趣的事情是,在无人值守的内核升级中:小版本升级,dkms 似乎会自动执行此操作。而我手动执行的 apt 并没有发生这种情况:

$ uname -a
Linux s8b 5.4.0-65-generic #73~18.04.1-Ubuntu SMP Tue Jan 19 09:02:24 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ lsmod | grep ftdi
ftdi_sio               61440  0
usbserial              49152  1 ftdi_sio
$ locate ftdi_sio
/lib/modules/5.4.0-64-generic/kernel/drivers/usb/serial/ftdi_sio.ko
/lib/modules/5.4.0-65-generic/kernel/drivers/usb/serial/ftdi_sio.ko

答案1

请尝试:

sudo apt install linux-modules-5.3.0-69-generic linux-modules-extra-5.3.0-69-generic

重启。

相关内容