Что означает "не синхронизация" в сообщении о панике ядра?
Я прочитал, что это означает, что ядро успешно синхронизировало данные с диском, но я не уверен.
Типичный контекст: «Паника ядра - не синхронизация - Попытка убить init!»
Что означает "не синхронизация" в сообщении о панике ядра?
Я прочитал, что это означает, что ядро успешно синхронизировало данные с диском, но я не уверен.
Типичный контекст: «Паника ядра - не синхронизация - Попытка убить init!»
not syncing
означает, что буферы устройств не были сброшены на фактические устройства. Мы делаем это, чтобы предотвратить повреждение данных.
Если мы синхронизируемся при панике ядра, мы можем доставить много проблем пользователю. Это связано с тем, что паника ядра могла произойти где угодно и вызвать побочные эффекты для других модулей и частей ядра.
Насколько я понимаю, есть много причин для паники ядра. Я просто пишу то, что понимаю здесь
В этом случае
Freeing unused kernel memory: 96k init
Kernel panic - not syncing: No init found.
Try passing init=option to kernel
распространенной причиной является то, что образ корневой файловой системы (будь то RAM-диск, флэш-память или корневая файловая система 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
. Когда ядро видит, что динамический загрузчик отсутствует, ядро паникует и жалуется, что не синхронизируется.