在内核定制

时间:2018-05-24 00:13:36

标签: c linux linux-kernel

我试图在virtualbox中自定义内核。当运行usr / src / linux时,我收到错误“/ usr / src / linux没有这样的文件或目录存在”

下面是我自定义内核的步骤,我在第10步尝试从usr / scr / linux编译内核

  1. 从CentOS Update镜像站点获取内核源代码rpm文件:
  2. 以“root”身份登录,并确保您当前的工作目录为/ root。如果不是,请cd / root。

    然后在shell提示符下键入以下命令(任何这些内核版本都可以):

    wget http://vault.centos.org/7.4.1708/updates/Source/SPackages/kernel-3.10.0-693.1.1.el7.src.rpm

    注意:如果镜像站点上不再提供上述内核源代码,请下载该站点上列出的最新发行版。

    1. yum install rpm-build

    2. yum install redhat-rpm-config

    3. yum install xmlto asciidoc hmaccalc python-devel newt-devel

    4. yum install perl-ExtUtils-Embed pesign elfutils-devel zlib-devel binutils-devel

    5. yum install audit-libs-devel java-devel numactl-devel pciutils-devel ncurses-devel

    6. 解压缩内核源代码。从包含您在上面的步骤1中下载的内核源rpm包的目录中执行以下命令(可能/ root)

    7. rpm -Uvh kernel-3.10。*。src.rpm

      如果您看到如下所示的一系列警告消息,请忽略它们:

      警告:group mockbuild不存在 - 使用root

      警告:用户mockbuild不存在 - 使用root

      1. 将目录(cd)更改为/ root / rpmbuild / SPECS /(验证此目录是否存在),并发出以下命令:
      2. rpmbuild -bp --target = x86_64 kernel.spec

        Generic:rpmbuild -bp --target = $(uname -m)kernel.spec

        1. 内核树将位于/ root / rpmbuild / BUILD /(验证此目录是否存在)。使用以下命令从/ usr / src链接到它:

          ln -s /root/rpmbuild/BUILD/kernel-3.10.0-693.1.1.el7/linux-3.10.0-693.1.1.el7.x86_64 / usr / src / linux

        2. 注意:验证路径/root/rpmbuild/BUILD/kernel-3.10.0-693.1.1.el7/linux-3.10.0-693.1.1.el7.x86_64是否存在并相应调整以匹配内核源版本你已经安装了。

          1. 编译新内核及其模块(从/ usr / src / linux运行以下make命令):
          2. 制作bzImage

            制作模块

            我在第10步尝试从usr / src / linux运行,但它说文件或目录不存在

            然而,当我通过键入ls usr / src来查看usr / src时,它会输出 “调试内核linux linux-3.10.0-693.1.1.el7.x86_64”

            这意味着它在那里?我该怎么办

0 个答案:

没有答案