使用自定义内核时如何处理 Linux 内核更新?

使用自定义内核时如何处理 Linux 内核更新?

我需要在编译时使用自定义内核选项 (ACPI_REV_OVERRIDE_POSSIBLE),以便我的图形卡能够与 Dell XPS 15 9560 上的 bumblebeed 和 nvidia 驱动程序正常工作。我使用的是 ArchLinux。每隔几天,就会发布一个新的内核版本(4.11.5、4.11.6,...)。

我应该如何处理这些内核更新?每次都需要手动重新编译内核吗? (我制作了一个小脚本来加速这个过程,但是有些东西仍然需要手动完成,并且编译需要很长时间)。是否可以自动化该过程,例如每次显示内核更新时,包管理器都会使用我指定的选项编译内核本身?或者用脚本?

答案1

该配置行应该存在于您之前配置过的任何内核的 /proc/config.gz 文件中。您可以在我的 Gentoo 系统上以两行代码执行我所做的操作:

su -
cd /usr/src && cp -a linux-<new version> /dev/shm/ && ln -s /dev/shm/linux-<new version> linux && cd linux && zcat /proc/config.gz > .config && make olddefconfig && make -j<numcpus+1> bzImage modules && mount /boot && make modules_install install && grub-mkconfig > /boot/grub/grub.cfg && sync && reboot -hi

我现在正在手机上凭记忆输入此内容,而且我总是搞乱“ln”的顺序,它可能是“defoldconfig”。但基本上,我每次都是这样做的。对我有用。 :) YMMV。一旦我得到一个好的终端和 shell,我将在稍后进行编辑和更正。 :)

我总是在 tmpfs 上进行编译,因为系统上没有什么比 RAM 更快、更能抵抗写腐烂了。

查看在内核源代码目录中运行时的“make help”输出以获取参考,并查看美味的 Gentoo Wiki 以获取更多有用的信息。

https://wiki.gentoo.org/wiki/Kernel/Upgrade/ https://wiki.gentoo.org/wiki/GRUB2

相关内容