Linux: блокировка корневой файловой системы только для чтения

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

Я хочу, чтобы конечный пользователь мог просто выключить компьютер в любое время, не отправляя shutdown -h now команда или тому подобное, а затем ждет завершения работы компьютера вниз. Для этого я хочу использовать union mount, наверное aufs, так что SSD с корневой файловой системой доступен только для чтения и никогда не записывается.

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

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

29
задан ScumCoder
22.01.2023 11:48 Количество просмотров материала 3312
Распечатать страницу

1 ответ

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

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

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

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

  • mount корневая файловая система только для чтения
  • подключить tmpfs для чтения-записи ветви
  • слой их друг на друга с aufs
  • используйте pivot_root для изменения корневой файловой системы.
0
отвечен lemonsqueeze 2023-01-23 19:36

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх