Virtualbox 中的内核编译错误

Virtualbox 中的内核编译错误

这是我第一次使用 Virtualbox 以及与 Linux 和 Ubuntu 相关的任何东西。我会尽量使我写的信息尽可能准确。

我在 Windows 上的 Virtualbox 中安装了 Ubuntu 16.04 版(Windows 7 运行在 32 位上)。下载并配置内核版本 5.0.2 后,我尝试使用“sudo make”来编译我的内核。

但是,可能会发生以下两个错误之一:

  1. 这是第一个错误:

    scripts/link-vmlinux.sh: line 85: 1847 killed DFLAGS} ${LDFLAGS_VMLINUX} -0 ${2} -T ${lds} ${objects}
    Makefile:1019: recipe for target 'vmlinux' failed
    make: *** [vmlinux] Error 137
    
  2. 这是第二个错误:

    ld: final link failed: Memory exhausted
    Makefile:1019: recipe for target 'vmlinux' failed
    make: *** [vmlinux] Error 1
    

据我了解,这与虚拟硬盘内存不足有关。目前,我已将 vdi 设置为 24GB,其实际大小为 15.15GB(动态分配)。

通过使用该swapon -s命令,我可以看到我已经为我的/dev/sda5分区使用了 522236 个分区中的 38400 个。没有列出其他文件。(通过使用“free”命令,522236 个分区中的 483836 个分区可供交换分区使用。)

通过使用该df -h命令,尝试编译我的内核后,24G 中已经使用了 13G。

有人可以帮帮我吗?

答案1

这是旧帖子,但是我找到了这里,所以我想添加一些细节。

问题是编译器(或者更准确地说,gnu 链接器)内存不足。就我而言,我为内存分配了微不足道的 2GB。我将内存增加到 8GB,编译完成且没有错误。

相关内容