Я пытаюсь создать небольшой резервный раздел (около 800 МБ свободного места после всех других разделов системы и хранилища) для ноутбука со специализированным оборудованием, для которого требуются специальные модули ядра и ядра, такие как запасные инструменты восстановления, такие как Clonezilla Live и GParted Live. т работать очень хорошо. Раздел слишком мал, чтобы включать в себя модули и программное обеспечение, необходимые для того, что я хотел бы построить, поэтому большую часть системы необходимо сжать и загрузить в ОЗУ во время выполнения. Кроме того, я предпочитаю полностью извлекать систему, а не полагаться на кабачки
, и хотелось бы иметь возможность сохранять внесенные в систему изменения настолько, насколько позволяет раздел. Используя Ubuntu 20.04 в качестве базовой системы, я разработал для этой цели следующую схему:
- После создания исходной системы в
chroot
, создать и очистить папку /ОЗУ
в качестве точки монтирования tmpfs
для размещения распакованных системных и пользовательских файлов во время выполнения, переместите все папки с системными и пользовательскими файлами (дом
,usr
,вар
,выбрать
,и т.д
, и т.д.) в /ОЗУ
и замените каждый символической ссылкой на / баран / $ каталог
. Компресс /ОЗУ
как/ram.tar.gz
и оставить специальные точки монтирования (разработчик
, система
,бег
,температура
, и процесс
) а также ботинок
один на rootfs
. Удалить /ОЗУ/*
и напишите rootfs
на перегородку.
- При загрузке, после ядра и
initrd
загружаются, предварительно монтируются rootfs
, устанавливать tmpfs
на /ОЗУ
, затем извлеките содержимое /ram.tar.gz
в /ОЗУ
. Это должно произойти до rootfs
заменяет initramfs
как root, иначе rootfs
не могу получить доступ к утилитам, необходимым для монтирования /ОЗУ
и извлечь из сжатого архива.
- Устанавливать
rootfs
и продолжить загрузку.
- При выключении резервное копирование
/ram.tar.gz
как /ram.tar.gz.bak
затем сжать измененный /ОЗУ
в /ram.tar.gz
. Это может быть достигнуто с помощью системад
.
Очевидно, что на шаге 4 что-то может пойти не так, и поэтому шаг 2 должен включать целостность /ram.tar.gz
и загрузите резервную копию, если это не удастся, но это всего лишь несколько дополнительных команд, которые нужно включить в initramfs-инструменты
script и выходит за рамки моего вопроса, а именно:
Без изменения /usr/доля/initramfs-инструменты/инит
, как создать скрипт в /etc/initramfs-инструменты/скрипты
выполнить шаг 2? Команды должны быть достаточно простыми, т.к.
mount -t tmpfs -o $OPTIONS нет /ram
смола xvzf ram.tar.gz
Но я немного в недоумении, в какую папку включать скрипт (инициальная? локальная? верхняя? нижняя? предварительная установка?) и как работать с ПРЕДЗАПРОС
заголовок в самом скрипте.