3

У меня есть промышленный компьютер (читай: нет клавиатуры / мыши / монитора, кроме как во время технического обслуживания), который будет управлять некоторыми механизмами. Операционная система будет Linux (я бы предпочел OpenSuSE, но это не строгое требование). Программное обеспечение не должно хранить что-либо между последовательными запусками.

Я хочу, чтобы конечный пользователь мог просто выключить компьютер в любое время, не отправляя команду shutdown -h now или подобное, а затем ждать, пока компьютер выключится. Чтобы добиться этого, я хочу использовать объединение монтирования, возможно aufs, чтобы SSD с корневой файловой системой был доступен только для чтения и НИКОГДА, НИКОГДА не записывался.

Live USB палку статья на OpenSuSE вики говорит только dd * .iso с ОС на флэш - накопителе. Я думаю, что это будет работать и с SSD. Но я не хочу, чтобы SSD имел файловую систему ISO 9660. Могу ли я просто правильно установить OpenSuSE на скажем ext2/3/4 или XFS или что-то еще, а затем заблокировать SSD от записи, перенаправляя все запросы на запись на диск RAM через aufs?

Не могли бы вы дать мне подсказку о том, как это осуществить?

1 ответ1

0

Чтобы это произошло, вам нужно внести изменения в образ initrd используемый во время загрузки.

Посмотрите, как: создать систему Linux только для чтения, в которой объясняется, как это сделать для систем Ubuntu. Без сомнения, инфраструктура initramfs в Suse будет немного отличаться, но ее не должно быть сложно адаптировать.

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

Я более знаком с тем, как это делает knoppix, но вы, вероятно, обнаружите, что suse делает нечто очень похожее:

  • монтировать корневую файловую систему только для чтения
  • монтировать tmpfs для ветки read-write
  • накладывать их друг на друга с помощью aufs
  • используйте pivot_root для изменения корневой файловой системы.

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