Паника ядра - не синхронизируется: попытка убить init

Я использую buildroot версии-20011.02 для ядра, инструментальной цепочки и файловой системы. Моя настроенная плата ARMV7 cortexA9 SoC. Версия ядра - 3.18.41. Соберите ядро ​​(uImage), набор инструментов Buildroot, rootfs.tar.gz. Включите файловую систему tyep ext4 в корне сборки, а также в ядре. Распакуйте этот rootfs.tar.gz в / export / users / buildroot /. экспорт этого каталога с помощью
exportfs -a, exportfs -rv и перезапустите сервер nfs. Вроде все нормально на стороне сервера nfs. Здесь я использую конфигурацию системы "make menuconfig" ->

Init system (BusyBox)  --->

Даже пробовал с Init system (systemV) --->
с загрузочными параметрами как bootargs console=ttyAM0,115200n8 root=/dev/nfs rw rootwait ip=dhcp nfsroot=192.168.1.40:/export/users/buildroot,tcp,v3 init=/sbin/init
Каждый раз, когда я попадаю ниже журнала:

VFS: mounted fs via nfs  
devtmpfs is mounted.  
Kernel panic - not syncing:Attempted to kill init, exit code=0x000000b 

Пожалуйста, помогите мне решить эту проблему.

Постарайтесь изолировать вашу проблему. Что, если вы соберете другую версию ядра? Полагаю, вы читали это kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt.

Alex Bender 01.05.2018 13:52

Это вся стопка в журнале? Если есть еще, это может быть полезно.

kabanus 01.05.2018 13:53

Что такое / sbin / init? Это софтлинк на systemd или просто скрипт?

user2699113 01.05.2018 16:41

@AlexBender, я не пробовал использовать другую версию ядра, так как внес изменения в файл платы и другие исходные файлы, чтобы настроить это на нашу SoC. Я хочу придерживаться этого ядра, чтобы решить эту проблему. Если вы предлагаете, я дам попробуйте с другим ядром. Как вы думаете, это проблема с ядром? Да, я читал ссылку, которой вы поделились, похоже, командная строка ядра, т.е. bootargs правильная, поэтому ее установка на сервер nfs из журнала. Тем не менее, если вы чувствуете, что мне чего-то не хватает в bootargs, не стесняйтесь комментировать.

shaikh kamal 02.05.2018 17:46

@kabanus, я согласен, было бы полезнее, если бы я поделился полным журналом, но извините, я работаю в такой безопасной среде. То, что я здесь помню, я делюсь. VFS: монтируется fs через nfs. Devtmpfs монтируется. Освобождение неиспользуемой памяти kenel ... Паника ядра - не синхронизация: попытка убить init, код выхода = 0x000000b. Кажется, ядро ​​пытается найти этот init, но не может найти. Я предполагаю, что нам нужно отладить таким образом, что может быть проблемой, когда ядро ​​может найти этот init после монтирования файловой системы nfs.

shaikh kamal 02.05.2018 17:56

@ user2699113, это двоичный файл rootfs, это программная ссылка на / bin / busybox

shaikh kamal 02.05.2018 18:02

@shaikhkamal, а как насчет того, чтобы не использовать NFS. Возможно ли это для вас?

Alex Bender 02.05.2018 18:15

есть аналогичная проблема: linuxquestions.org/questions/linux-kernel-70/…

Alex Bender 02.05.2018 18:17

@AlexBender, Изначально я пробовал использовать initramfs с включением всей конфигурации в ядре и buildroot для поддержки initramfs, но он вылетал. Пробовал с nfs, по крайней мере, я получаю лучшие результаты, затем я придерживаюсь этого nfs.

shaikh kamal 02.05.2018 18:56

@AlexBender, Спасибо, что поделились этой ссылкой, да, это аналогичная проблема, но с одним отличием. Я не получаю никаких ошибок сегментации сразу после «Освобождение неиспользуемой памяти ядра ---». В этой ссылке проблема была решена libc.so .-- повреждение, даже ранее проверяли эту библиотеку зависимостей инициализации с помощью команды префикса компилятора -ldd, она показывала, что исходный libc.so softlink не найден, затем скопировал этот libc.so из buildroot в каталог nfs, затем создал такую ​​же softlink, затем просто пропустил ядро проверка то время. завтра попробую ядро ​​и обновлю вас

shaikh kamal 02.05.2018 19:23

Поскольку я не разработчик ядра и не тот, кто знает его на достойном уровне - вам лучше спросить в каналах IRC, связанных с ядром и платами ARM. Это мое предложение. Несмотря на то, что я хочу помочь, у бутона нет необходимого уровня знаний.

Alex Bender 03.05.2018 10:48

Убедитесь, что / bin / busybox статически связан. Попробуйте связать другой статический двоичный файл вместо / bin / busybox (systemd?)

user2699113 03.05.2018 11:32

@AlexBender, я проверил arm-linux-ldd init - проверка зависимостей на не найдено. libc.so.0 => not found. (0x0000000), затем я проверил директорию rootfs lib, в которой эта библиотека уже есть, и правильно компоновала. кажется, что что-то пошло не так в двоичном файле инициализации.

shaikh kamal 10.05.2018 13:16

@ user2699113, статически строить не хочу.

shaikh kamal 10.05.2018 13:21
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
14
4 269
1

Ответы 1

Это может вам помочь.

Как вы сказали, есть журнал, как показано ниже.

Kernel panic - not syncing:Attempted to kill init, exit code=0x000000b 

Это означает, что init (busybox) закрыт, а код выхода - 0xb. Итак, ядро ​​впадает в панику. Возможно, это вызвано проблемой сети. Но пока мы не можем сделать вывод, что это связано с сетью или нет.

Вы сказали, что видели сбой без NFS. Я думаю, что устранение этого сбоя может быть лучшим способом решения этой ситуации.

Поделитесь журналом сбоев без конфигурации NFS. Если поделитесь логом, я его проверю.

Теперь я пробовал с initramfs, у меня все еще была такая же проблема, что и в nfs.

shaikh kamal 10.05.2018 13:27

Одна вещь, которую я заметил, когда я отключил I-cache в ядре, он работает нормально, но я проверил с другими платами, такими как beaglebone, они включают этот I-cahe. Мне нужно с включенным I-cache, похоже, некоторая конфигурация ядра должна быть правильной. Кто-нибудь знает, как решить эту проблему с включением I-cache в ядре. Если у кого-то есть рабочая конфигурация ядра ARMv7 cortex a9 для buildroot, поделитесь, пожалуйста, пока я проверяю конфигурацию своего ядра.

shaikh kamal 10.05.2018 13:33

Другие вопросы по теме