如何重新编译内核?

vic*_*tor 5 kernel make

我从无线开发人员那里了解到,我必须运行make menuconfig命令来更改无线驱动程序的某些配置(启用/禁用某些内容)。更改后,是否必须重新编译内核才能使更改生效?如果必须,如何编译?

qbi*_*qbi 5

首先,您必须获得内核源代码。请查看“在 Ubuntu 中获取内核源代码”的答案。它会告诉您从何处获取资源。如果您使用了命令apt-get source linux-source,您将得到一个 tar.gz 文件。您可以双击它来解压或使用命令行:

tar xfz linux.tar.gz
Run Code Online (Sandbox Code Playgroud)

您可能还需要其他几个包。此命令安装所有需要的:

sudo apt-get install git kernel-package fakeroot build-essential ncurses-dev
Run Code Online (Sandbox Code Playgroud)

现在您应该切换到内核源代码所在的目录。如果你下载它,git它们可能在子目录中linux。否则它们将被复制到/usr/src.

在下一步中,您应该将现有的内核配置文件复制到源代码树:

cp /boot/config-$(uname -r) .config
Run Code Online (Sandbox Code Playgroud)

现在你可以执行

make menuconfig
Run Code Online (Sandbox Code Playgroud)

并输入您的更改。另请参阅Ubuntu wiki 中的GitKernelBuild站点以获取更多建议。保存更改后,您可以编译新内核:

CONCURRENCY_LEVEL=`getconf _NPROCESSORS_ONLN` fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
Run Code Online (Sandbox Code Playgroud)

如果你输入,ls ..你会看到一些.deb文件。您可以安装它们并使用您的新内核。