首页 > 解决方案 > 构建内核 2.6.32-754.18.2 时出错 - 自检失败 /usr/lib64/hmaccalc

问题描述

我正在构建内核 rpm 版本 2.6.32-754.18.2,它一直失败并显示“自检失败”消息。我试图进一步探索,发现权限有一些可能性,或者是预链接问题。

我正在尝试使用非 root 用户构建内核。

+ sha512hmac /scratchpad/workdirs/NeoUser/build/RPM/BUILDROOT/kernel-2.6.32-754.18.2.el6test1 .x86_64/boot/vmlinuz-2.6.32-754.18.2.el6test1.x86_64
+ sed -e s,/scratchpad/workdirs/NeoUser/build/RPM/BUILDROOT/kernel-2.6.32-754.18.2.el6test1.x 86_64
SELF TEST FAILED (/usr/lib64/hmaccalc/sha512hmac.hmac)

为了找到我在此处(页面末尾)找到的修复,其中提到 /tmp 应安装为“exec”而不是“noexec”,并且我的 fstab 具有“tmp”条目,例如:

/dev/mapper/vgroot-plat_tmp /tmp ext4 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0

如果我没记错的话 tmpfs /dev/shm 意味着它会占用 RAM 空间。我应该在这里进行什么编辑,以便 tmp 使用“exec”作为选项,我可以使用它来构建我的 RPM。

我试图编辑 tmp 权限,但假设我的 fstab 仍然正确,它失败了。

我还阅读了一篇建议使用的博客:'/usr/sbin/prelink -av –mR' 来解决这个问题,但该命令会生成大量输出,其中包含以下几行:

/usr/sbin/prelink: /usr/lib64/librpm.so.1.0.0 has a dependency cycle
Laying out 4 libraries in virtual address space 0000003000000000-0000004000000000
Random base 0x00000038e7600000
Assigned virtual address space slots for 64-bit x86-64 ELF libraries:
/lib64/ld-linux-x86-64.so.2                                  0000003930a00000-0000003930c22190
/lib64/libaio.so.1                                           0000003930e00000-0000003931000a80
/lib64/libc.so.6                                             0000003931200000-0000003931593928

标签: unixcompilationlinux-kernelkernel

解决方案


推荐阅读