2

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

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

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

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

2 ответа2

3

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

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

или же

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

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

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

1

Да, вообще говоря, они этого не делают.

Когда дело доходит до этого, все, вероятно, вышли из строя встроенных устройств - будь то сетевое оборудование, IP-устройства или другие.

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .