Стабильность встроенного Linux

Стабильность встроенного Linux

Я разрабатываю встроенный Linux (сейчас он почти закончен). Я борюсь с тем, что система становится нестабильной из-за частого отключения питания и больше не загружается. Она даже не работает fsck.

В системе есть только XFCE с фиксированным приложением Qt, автоматически загружаемым для отображения некоторых диаграмм.

Мой вопрос заключается в том, как коммерческие встраиваемые дистрибутивы Linux (например, Linux для управления точками доступа Wi-Fi, ...) избегают этой проблемы?

Есть ли у вас какие-либо идеи?

решение1

Большинство делают одно из двух:

Они либо запускают основную файловую систему только для чтения и имеют отдельную область для хранения данных, которая монтируется для чтения и записи,

или

У них основная файловая система сжата в файл, который во время загрузки расширяется в виртуальный диск.

Это означает, что файловая система всегда находится в одном и том же состоянии, что бы ни случилось. Есть только небольшая область хранения конфигурации, о которой нужно беспокоиться, и она может иметь файловую систему, которая не слишком беспокоится о потере питания.

Еще один совет — отключить все кэширование на разделе хранилища, чтобы все изменения немедленно записывались на диск.

решение2

Да, в общем-то, нет.

Когда дело доходит до дела, у каждого, вероятно, случались отказы встроенных устройств — будь то сетевое оборудование, IP-устройства или что-то еще.

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

Постарайтесь сделать свое приложение максимально надежным — поставьте проверку ошибок на самом высоком/каждом уровне. Например, если у вас есть файл конфигурации, который необходим, и ваше приложение не может работать без него, поставьте звуковой сигнал/обратную связь, если он не найден — дайте знать пользователю.

Следующий уровень на самом деле зависит от производителя оборудования — ключевыми факторами являются избыточность или надежность, и снова убедитесь, что поставщик оборудования следует вышеуказанным идеям, таким как проверка ошибок/подробная обратная связь, чтобы в случае возникновения сбоя люди знали, почему/что привело к сбою.

Я не вдавался в подробности, но надеюсь, что это поможет вам и укажет правильное направление.

Связанный контент