更新initramfs时出现“致命错误:无法确定内核版本”

时间:2019-10-15 12:25:05

标签: linux ubuntu linux-kernel

我下载了Linux kernel-5.0.0,并尝试将其编译并安装在Ubuntu-18.04.3上

我在/usr/src/linux-5.0中使用的命令:

sudo make mrproper

sudo make menuconfig

sudo make -j4

sudo make modules_install

sudo make install

最后一条命令的结果是错误:

 * dkms: running auto installation service for kernel 5.0.02173611831    

run-parts: executing /etc/kernel/postinst.d/initramfs-tools 5.0.02173611831 /boot/vmlinuz-5.0.02173611831

update-initramfs: Generating /boot/initrd.img-5.0.02173611831

FATAL: cannot determine kernel version

我不知道为什么这是“致命的:无法确定内核版本”以及如何解决。

一开始,我跳过了它,但是随后我发现打开这样的vim总是显示“无法确定内核版本”。 when i open vim

顺便说一句,奇怪的数字5.0.02173611831是(内核版本)+(我在大学的数字),当我的老师问“ sudo make menuconfig”时,我做了配置。

1 个答案:

答案 0 :(得分:0)

我遇到了这个错误“致命:无法确定内核版本”,结果证明是在 ./configure 脚本中误用了“cpp”。

其他用途类似

# Double quotes because CPP needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"

但是这个错误来自一行

kernsrcver=`(echo "#include <$utsrelease>";
    echo "kernsrcver=UTS_RELEASE") |
    cpp -I $kernelbuild/include |
    grep "^kernsrcver=" | cut -d \" -f 2`

我将 cpp 行更改为(并且有效):

    cpp -I $kernelbuild/include -E - |