
Моя команда разрабатывает программное обеспечение для решения Embedded Linux. Проблема, с которой мы сталкиваемся, заключается в том, что системе требуется слишком много времени, чтобы подготовиться к запуску желаемых приложений (то есть слишком много времени для загрузки ядра Linux). Обычно для этого требуется от 38 до 43 секунд. Мы уже пересмотрели конфигурацию ядра, удалив файлы, которые, как мы знали, нам не нужны, но это все равно занимает так много времени.
Мои вопросы: что еще можно сделать, чтобы ядро запускалось быстрее (желательно без изменений в оборудовании)? Нормально ли, что Embedded Linux так долго заряжается? Можно ли заставить ядро Linux запустить наши приложения до того, как ядро полностью зарядится?
Система — Texas Instruments.ОМАП L138.
Далее следуют изображения со всеми наиболее важными сообщениями, которые отображаются в Терминале при загрузке ядра. Если у вас нет (общего) ответа на мои вопросы, но вы знаете что-то об одной из строк, которая может помочь улучшить скорость загрузки ядра, не стесняйтесь ответить!
решение1
В вашем выводе точка, где ядро фактически загружается, следующая:
Init version 2.86 booting
Который через 23 секунды. После этого,в этом, процесс пользовательского пространства, берет на себя управление и начинает настройку пользовательского пространства, хотя это неизбежно вызывает активацию различных драйверов ядра, возможно, включая загрузку соответствующих модулей.
Вы не сказали, какая это платформа, но, например, на 700 МГц одноядерном raspberry pi это ~4 секунды. Так что это все еще очень медленно, что указывает на проблему.
Если мы вычтем зазор между 0 и 19 секундами, то получим то, что можно было бы ожидать. Этот зазор заканчивается комментарием о MII PHY --это драйвер устройства Ethernet. Если возможно загрузить систему без сети, вы можете подтвердить это, настроив драйвер Ethernet вне ядра и посмотрев, станет ли это init
быстрее.
После отметки 23 секунды основным узким местом, вероятно, будет ввод-вывод в корневой файловой системе. По какой-то причине между 25 и 30 секундами есть 5-секундный промежуток, заканчивающийся комментарием об ошибке файловой системы FAT. На самом деле там есть несколько ошибок fs. Это означает, что система init пытается смонтировать файловые системы, которых не существует, что будет пустой тратой времени.
Между 33 и 37 секундами у вас больше ошибок, указывающих на промахи, связанные скак организованы файловые системы и/или как настроено программное обеспечение, которое от них зависит. Одна из этих зависимостеймощьбыть файловой системой tmpfs, которая должна была быть создана в оперативной памяти, но не удалась (отсюда и отсутствие файлов в /var/
и /tmp
). Вы можете задать отдельный вопрос, разместив свой /etc/fstab
и попросив кого-нибудь объяснить его, если смысл здесь не ясен.