内核恐慌消息中的“不同步”是什么意思?
我读过这意味着内核成功地将数据同步到磁盘,但不确定。
一个典型的上下文是:“内核恐慌 - 不同步 - 试图杀死 init!”
not syncing
表示设备缓冲区尚未刷新到实际设备。我们这样做是为了防止数据损坏。
如果我们在内核恐慌时同步,我们可能会给用户带来很多麻烦。这是因为内核恐慌可能发生在任何地方,并且可能会对内核的其他模块和部分产生副作用。
根据我的理解,内核恐慌的原因有很多。我只是在这里写下我所理解的
在这种情况下
Freeing unused kernel memory: 96k init
Kernel panic - not syncing: No init found.
Try passing init=option to kernel
常见原因是根文件系统映像(无论是 ramdisk、Flash 还是 NFS 根文件系统)does not have the supporting libraries for the binaries that the kernel is trying to execute
。
这意味着 rootfs 中可能不存在动态加载器,因此当内核尝试执行某些程序时,它不会在 rootfs 中找到所需的动态库。在这里kernel try to sycn (i.e data to be written to the underlying filesystems) with your hard disk which having rootfs
。当内核发现没有动态加载器时,内核会恐慌并抱怨不同步。