aes-x86_64.ko No such file or directory for 4.12.9 Kernel编译后Module Installation失败

aes-x86_64.ko No such file or directory for 4.12.9 Kernel编译后Module Installation失败

情景

我正在编写一个演示模块,将其插入内核中,然后写入系统,我已经在头文件和表文件中为其添加了条目。

到目前为止已执行的程序

我使用编译内核

/linux-4.12.9$ sudo make -j4

其中我收到一些警告并且没有错误。无论如何都无法获取这些警告,因为终端已溢出。

没有错误后,我解雇了

/linux-4.12.9$ sudo make modules_install install

问题

返回

INSTALL arch/x86/crypto/aes-x86_64.ko cp: cannot stat 'arch/x86/crypto/aes-x86_64.ko': No such file or directory At main.c:291:
- SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178 
sign-file: /lib/modules/4.12.9/kernel/arch/x86/crypto/aes-x86_64.ko: No such file or directory 
scripts/Makefile.modinst:35: recipe for target 'arch/x86/crypto/aes- x86_64.ko' failed 
make[2]: *** [arch/x86/crypto/aes-x86_64.ko] Error 1 
        Makefile:1237: recipe for target '_modinst_' failed 
        make[1]: *** [_modinst_] Error 2 
        Makefile:527: recipe for target '__build_one_by_one' failed make: *** [__build_one_by_one] Error 2

我还在上面的命令中发布了工作目录,以防我在错误的目录中执行此操作。

答案1

问题出在我正在使用的受支持的库和包上。要在撰写本文时编译最新内核,您必须安装以下 4 个软件包/库:

  1. libssl 开发
  2. libncurses5-dev
  3. qt4-默认
  4. qt4-开发工具

虽然我对qt4有点怀疑开发工具默认,因为我是一起下载的。

另请注意,我使用的是 Ubuntu 16.04 LTS,并且根据您的发行版命令和软件包要求可能会发生变化

汇编

所以上面提到的编译命令(有问题)是正确的,只是注意它需要相当多的时间才能完成。为了验证一切是否顺利,你到达一个可以找到这个的点 -

Setup is 17564 bytes (padded to 17920 bytes).
System is 7215 kB
CRC 3b136d62
Kernel: arch/x86/boot/bzImage is ready  (#1)

它会在那里暂停几分钟,然后再次开始创建目标文件。是的,我第一次用qt5包做的时候没有收到。

安装

同样,上述命令(有问题)是正确的,并且在触发相同命令时,您将看到系统中安装了多个内核对象,如下所示:

...
  INSTALL /lib/firmware/emi62/spdif.fw
  INSTALL /lib/firmware/emi62/midi.fw
  INSTALL /lib/firmware/kaweth/new_code.bin
  INSTALL /lib/firmware/kaweth/trigger_code.bin
  INSTALL /lib/firmware/kaweth/new_code_fix.bin
  INSTALL /lib/firmware/kaweth/trigger_code_fix.bin
  INSTALL /lib/firmware/ti_3410.fw
...

它必须以

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.12.9
Found initrd image: /boot/initrd.img-4.12.9
Found linux image: /boot/vmlinuz-4.4.0-93-generic
Found initrd image: /boot/initrd.img-4.4.0-93-generic
Found linux image: /boot/vmlinuz-4.4.0-92-generic
Found initrd image: /boot/initrd.img-4.4.0-92-generic
Found linux image: /boot/vmlinuz-4.4.0-91-generic
Found initrd image: /boot/initrd.img-4.4.0-91-generic
Found linux image: /boot/vmlinuz-4.4.0-83-generic
Found initrd image: /boot/initrd.img-4.4.0-83-generic
Found Windows Boot Manager on /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done

菜鸟警报

另请注意,根据系统上安装的操作系统(和内核)的数量,成立声明可能会改变!我有 2 个操作系统,因此我还有一个额外的操作系统成立Windows 声明

相关内容