Антон слил изменения из uird.next ветки в мастер. Чтоб UIRD не поделился на две несовместимых ветки. Там много изменений в т.ч. ломающих совместимость. У нас месяц до новой сборки чтоб все оттестить и починить
Тестить нужно буквально все параметры начиная с основных, так как полностью переписана система передачи параметров в UIRD.
Совместимость сломалась в следующем месте. Раньше:
uird.from=/MagOS::/mount/point::opt1+opt2
Теперь:
uird.from=/MagOS::MNT=/mount/point::MNT_OPTS=opt1+opt2
Писать больше, зато ошибочное определение того где точка монтирования, а где опции исключено. Также это позволило передавать дополнительные параметры.
uird.from=/MagOS::TIMEOUT=2::FORCE=yes
(указание force фигурными скобками тоже работает, оставил для совместимости)
uird.changes=/MagOS-Data/my.img::FS=btrfs::SIZE=2048::MNT_OPTS=compress=lzo
В случае отсутствия файла для сохранений - будет создан с такими параметрами. Если есть, то параметры будут проигнорированы.
uird.changes=/memory/my.img::FS=btrfs::SIZE=2048::MNT_OPTS=discard+compress=lzo
Это changes в файл btrfs со сжатием в RAM. (идея stea.61)
Упразнен параметр uird.sgnfile. Теперь так:
uird.from=/MagOS::SGN=/MagOS.sgn
(думаю для хомяка тоже сработает)
UIRD тeпереь работает с LUKS разделами. Никаких дополнительных параметров не требуется.
uird.from=/dev/sda1/MagOS;/MagOS-Data
/dev/sda1 здесь LUKS, при его подключении UIRD спросит пароль. Без указания раздела (метки или UUID) нельзя, LUKS разделы пропускаются при поиске. Если второй источник на том же разделе второй раз указывать раздел не надо, найдет сам. Как в примере.
Подключать LUKS’ы можно и по ключу. Ключ при этом может быть как “вшитый” в UIRD, так и лежать на любом диске. На флешке например. Синтаксис такой:
uird.from=/dev/sda1/MagOS::KEY=/my.key
Поиск начинается с UIRD, если там нет то ищет как обычно ищет файлы UIRD. Чтоб ключ попал в UIRD нужно перед сборкой положить его в папку keys в корне сборочной UIRD.
uird.from=/dev/sda1/MagOS::KEY=/dev/sda2/my.key
Так тоже конечно можно.
LUKS аналогично uird.from должен работать для changes и home.
Немного изменена логика uird.break в качестве точек остановки теперь не специальные метки, а имена параметров uird. Метки сложно запоминать :), При первом поиске указанного параметра UIRD переходит в дебаг режим:
uird.break=uird.from