我正在尝试闪存缓存在我的 Ubuntu 上,它看起来很有趣,可以用它进行长期测试。我下载了源代码,编译它们并安装了生成的内核模块。到目前为止,一切都很好。
但是,一旦我更新了操作系统并安装了新内核,就需要为新内核重新编译该模块并安装在不同的路径中。
我确信这可以自动完成,但我不知道如何。每当我更新系统上的内核时,都会自动编译多个模块(其中包括 virtualbox 模块)。
如何在升级内核包时自动重新编译手动安装的内核模块?我基本上需要一些钩子make
来make install
在apt-get upgrade
.
答案1
“通常”的方法是使用数据管理系统(最初由 Dell 开发,用于支持 Linux 下服务器的特定驱动程序)。甚至 nVidia 现在也将其图形卡驱动程序与 DKMS 集成 - 该驱动程序也需要在每次内核更新时重新编译。
答案2
如果你做一个
$ 帮忙
在内核源代码目录中,您将看到
...
内核打包:
deb-pkg - 将内核构建为 deb 包
...
make deb-pkg
构建几个内核相关的包:
- linux-firmware-image_*.deb
- linux-headers-*.deb
- linux-image-*.deb
- linux-libc-dev_*.deb