type
Post
status
Published
slug
2023/02/19/Linux-compile-error-Makefile:1161:vmlinux-Error-137
summary
make: *** [Makefile:1161: vmlinux] Error 137
tags
开发
Linux
category
Linux
icon
password
new update day
Property
Oct 22, 2023 01:31 PM
created days
Last edited time
Oct 22, 2023 01:31 PM
这个情况一般是由于编译的过程中内存不足导致的,如果你没有 swap 分区,可以添加 swap 分区分担内存压力,如果是因为 swap 分区较小,可以进行适量的调整。
我当时编译的配置如下
CPU 核心数
6
memory
4096MB
swap
0
后面我将 swap 分区的大小调整为 5GB 就可以正常的完成编译了。
💡
因为我原来的系统分区中没有 swap 分区,所以我使用的方法是直接使用交换文件。具体配置方式写在了下方。

Linux 添加 swap (交换文件方式)

💡
注意:如果您使用Btrfs,请按照 Btrfs#交换文件 初始化交换文件,不要使用下面的方式。
  • 使用 dd 去创建一个由你自己指定大小的交换文件。例如,创建一个 512 MiB 的交换文件:
dd if=/dev/zero of=/swapfile bs=1M count=512 status=progress
  • 为交换文件设置权限(交换文件全局可读是一个巨大的本地漏洞):
chmod 0600 /swapfile
  • 创建正确大小的文件后,将其格式化用来作为交换文件:
mkswap -U clear /swapfile
  • 启用交换文件:
swapon /swapfile
  • 最后,编辑 /etc/fstab,在为交换文件添加一个条目:
/swapfile none swap defaults 0 0
💡
注意:交换文件必须由文件系统上的位置指定,而不是由UUID或标签指定。

参考资料

 
 
欢迎加入喵星计算机技术研究院,原创技术文章第一时间推送。
notion image
 
Linux 内核开发环境配置Linux 学习 - Make a driver change