Ubuntu编译Linux内核报错:缺失arch/x86/crypto/aesni-intel.ko
编译Linux内核时
make modules_install install报错:找不到aesni-intel.ko 问题详情
在Ubuntu 20.04.6系统上编译安装Linux内核,执行make modules_install install命令时持续报错,错误信息如下:
cp cannot stat 'arch/x86/crypto/aesni-intel.ko' No such file or directory
已执行的操作步骤(除最后一步外均无报错):
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux_stable cd linux_stable git branch -a | grep linux-5 remotes/origin/linux-5.12.y remotes/origin/linux-5.11.y remotes/origin/linux-5.10.y git checkout linux-5.12.y ls /boot config-5.0.0-20-generic memtest86+.bin config-5.0.0-21-generic memtest86+.elf efi memtest86+_multiboot.bin grub System.map-5.0.0-20-generic initrd.img-5.0.0-20-generic System.map-5.0.0-21-generic initrd.img-5.0.0-21-generic vmlinuz-5.0.0-20-generic lost+found vmlinuz-5.0.0-21-generic cp /boot/config-5.0.0-21-generic .config make oldconfig make -j3 all make modules_install install
更换不同Ubuntu版本和内核版本后,执行最后一步仍出现相同错误。
解决方法
检查并修正内核配置
运行make menuconfig,依次进入Cryptographic API→Cryptographic algorithms→AES cipher algorithms,确认AES-NI instruction set support选项设置为M(编译为模块)或Y(内置到内核)。修改后保存配置,重新执行make -j3 all,再尝试安装。清理编译缓存后重新编译
执行以下命令彻底清理旧编译文件,从头开始编译:sudo make clean sudo make mrproper cp /boot/config-5.0.0-21-generic .config make oldconfig make -j3 all sudo make modules_install install验证模块是否实际生成
编译完成后,执行find . -name aesni-intel.ko查找模块文件。如果找不到,说明模块未编译成功,查看make -j3 all的输出日志,搜索是否有关于aesni-intel的编译错误信息,针对性排查。确保编译依赖完整
安装内核编译所需的全部依赖包:sudo apt-get update sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev
内容的提问来源于stack exchange,提问作者Tinaye Tsinakwadi
相关产品推荐
相关产品推荐

