编译后的内核 4.19 将无法启动:“内核恐慌未同步:系统在内存上死锁”

编译后的内核 4.19 将无法启动:“内核恐慌未同步:系统在内存上死锁”

我正在 Ubuntu 14.04 上编译内核 4.19,因为我有一个添加系统调用的任务,但是当我尝试启动该内核时出现错误:

Kernel panic - not syncing: System is deadlocked on memory

出现此消息后没有任何反应

启动顺序因死锁错误而停止

  1. 我已经编译了几次内核并安装了模块。旧终端中没有显示任何错误。
  2. 我使用 GParted 来扩大我的/dev/sda1并设置了一个交换区域,一切都完成了。
  3. 原生 Ubuntu 14.04 内核可以正常启动。我可以顺利登录并使用。
  4. 我使用的命令:

    sudo cp /boot/config-**** .config
    sudo make menuconfig               # I did not change anything here
    sudo make -j4
    sudo make modules_install
    sudo make install
    reboot
    
  5. 对于系统调用,我只需在以下位置添加一个非常简单的 helloworld sys.c

    asmlinkage int sys_mysyscall(int arg){printk("hello %d\n",arg);return 0;}
    

    我已将其添加到 和syscalls.hsyscall_64.tbl

答案1

我把内存换成4G就解决了这个问题;

我下载了Ubuntu 18.04,内核4.20.1(稳定),我没有更改任何内容并再次运行它,仍然出现相同的错误,所以我再次尝试扩大我的内存,它起作用了。

我没有意识到这一点,因为我之前已经将其从 1 G 更改为 2 G,但它不起作用,现在一切都正确了。

使用:

wjrforcyber@wjr:~$ uname -a

表明:

Linux wjr 4.20.1 #1 SMP Fri Jan 11 20:57:27 CST 2019 x86_64 x86_64 x86_64 GNU/Linux

成功!

答案2

我在尝试将 Debian 安装为 Proxmox VM 时也遇到了这个问题...

然而问题只是我下载了不正确的 Debian iso。当我实际需要 amd64 版本时,我下载了 i386 版本。

输入uname -mshell,它将返回您的架构类型。

相关内容