• 技术文章 >运维 >linux运维

    linux如何编译内核

    angryTomangryTom2019-11-06 10:58:40原创1924

    php入门到就业线上直播课:进入学习

    linux如何编译内核

    下载内核

    我们要做的第一件事是下载内核源码。在 Kernel.org 找到你要下载的所需内核的 URL。找到 URL 之后,使用如下命令(我以 4.17 RC2 内核为例) 来下载源码文件:

    wget https://git.kernel.org/torvalds/t/linux-4.17-rc2.tar.gz

    安装需要的环境

    为了编译内核,我们首先得安装一些需要的环境。这可以通过一个命令来完成

    sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

    务必注意:你将需要至少 128GB 的本地可用磁盘空间来完成内核的编译过程。因此你必须确保有足够的空间。

    解压源码

    在新下载的内核所在的文件夹下,使用该命令来解压内核:

    tar xvzf linux-4.17-rc2.tar.gz

    使用命令 cd linux-4.17-rc2 进入新生成的文件夹。

    配置内核

    在正式编译内核之前,我们首先必须配置需要包含哪些模块。实际上,有一些非常简单的方式来配置。使用一个命令,你能拷贝当前内核的配置文件,然后使用可靠的 menuconfig 命令来做任何必要的更改。使用如下命令来完成:

    cp /boot/config-$(uname -r) .config

    现在你有一个配置文件了,输入命令 make menuconfig。该命令将打开一个配置工具,它可以让你遍历每个可用模块,然后启用或者禁用你需要或者不需要的模块。

    很有可能你会禁用掉内核中的一个重要部分,所以在 menuconfig 期间小心地一步步进行。如果你对某个选项不确定,不要去管它。或者更好的方法是使用我们拷贝的当前运行的内核的配置文件(因为我们知道它可以工作)。一旦你已经遍历了整个配置列表(它非常长),你就准备好开始编译了。

    编译和安装

    现在是时候去实际地编译内核了。第一步是使用 make 命令去编译。调用 make 命令然后回答必要的问题。这些问题取决于你将升级的现有内核以及升级后的内核。

    回答了长篇累牍的问题之后,你就可以用如下的命令安装那些之前启用的模块:

    make modules_install

    这个命令将耗费一些时间。

    现在我们使用这个命令来安装内核:

    sudo make install

    又一次,另一个将要耗费大量可观时间的命令。事实上,make install 命令将比 make modules_install 命令花费更多的时间。

    启用内核作为引导

    一旦 make install 命令完成了,就是时候将内核启用来作为引导。使用这个命令来实现:

    sudo update-initramfs -c -k 4.17-rc2

    当然,你需要将上述内核版本号替换成你编译完的。当命令执行完毕后,使用如下命令来更新 grub:

    sudo update-grub

    现在你可以重启系统并且选择新安装的内核了。

    推荐:linux使用教程

    以上就是linux如何编译内核的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    Linux系统运维及项目正式上线:点击学习

    专题推荐:linux 编译
    上一篇:linux如何使用u盘 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• Linux 编译 hadoop-cdh4.2.1• CentOS 5.3 Linux 编译安装 mysql-6.0.10-alpha 源代码和简单设置• Linux 编译 Ldap 扩展• linux 编译安装 php7.2
    1/1

    PHP中文网