Это старая версия документа.
Содержание
Initrd UIRD (Unified Init Ram Disk system). Примены использования
Официальная документация
Сборка в разных дистрибутивах
Arch
Debian
Роса
Принципы работы UIRD
Указываем:
- Где? uird.from
- С чем сделать что? Фильтры режима копирования: uird.cp
- Что оставить и что убрать? Фильтры второго уровня : uird.load, uird.noload
- Не забываем про дефолтные параметры из uird_configs/basecfg.ini.
- += добавить к значению из basecfg.ini. Пример uird.from+=
- =»» обнулить значению из basecfg.ini. Именно кавычки »», а не пустота.
Варианты установки дистрибутива
Примеры приведены для дефолтного конфига uird_configs/basecfg.ini
uird.config=MagOS.ini uird.ramsize=70% uird.ro=*.xzm;*.rom;*.rom.enc;*.pfs uird.rw=*.rwm;*.rwm.enc uird.cp=*.xzm.cp,*/rootcopy uird.load=/base/,/modules/,rootcopy uird.noload=/MagOS-Data/changes,/MagOS-Data/homes uird.from=/MagOS;/MagOS-Data uird.find_params=-maxdepth_3 uird.mode=clean uird.changes=/MagOS-Data/changes uird.syscp=/livekitlib::/usr/lib/magos/scripts;/uird.scan::/usr/lib/magos/scripts;/liblinuxlive::/mnt/live
full установка
- uird.from=/dev/sda1 uird.ro=*layer-base/0 uird.load=* - запуск дистрибутива из корня sda1.
- layer-base/0 - здесь маска для точки монтирования источника из uird.from
- То же с автопоиском uird.sсan=legacy
- uird.from=/dev/sda1/dirname uird.ro=*0/dirname uird.load=* - запуск дистрибутива из каталога dirname на sda1 в RO (read only) с сохранением изменений в памяти (после перезагрузки не сохраняются). Позволяет иметь несколько дистрибутивов на одном разделе
- uird.ro=*0/dirname - 0 это точка монтирования первого источника
- Указав uird.mode=changes uird.changes= (можно использовать другие типы сохранения)
- uird.changes=/dev/sda1/dirname/changes - в каталог changes (который надо заранее создать)
- Позволяет экспериментировать, не затронув установленный дистрибутив
- uird.from=/boot uird.mode=changes uird.changes=/dev/sda1 - близкий к стандартному запуск дистрибутива из корня раздела sda1.
- uird.from=/boot - любой каталог без модулей
- uird.from=pra@ - вместо метки можно /dev/sda1 или UUID
- uird.from=pra@ uird.ro=*0/full uird.load=full uird.mode=changes uird.changes=pra@/changes - запуск с раздела с меткой pra из каталога full с сохранением в каталог changes на этом же разделе
- uird.from=/dev/sda1/dir uird.load=/base.img uird.ro=*0/base.img запуск дистрибутива из файла /dev/sda1/dir/base.img. Файл может распологаться на любой ФС. В том числе на fat и ntfs (т.е., например, на одном разделе вместе с windows). Этот вариант актуален только для fat, ntfs.
frugal установка
- changes в /mnt/live/memory/changes
- squashfs в /mnt/live/memory/images
- copy2ram копирует в /memory/copy2ram ($SYSMNT/copy2ram. /memory можно заменить в initvars внутри uird).
- Все файлы, кроме changes=каталог_или_раздел, можно располагать на fat и ntfs
- uird.from=/dir uird.load+=/optional/module1.pfs;/optional/module2.pfs uird.copy2ram=001,070 - эмуляция pra-porteus: модули из dir/base и dir/modules + перечисленные из dir/optional + копирование поверх содержимого /rootcopy.
- Модули по маске uird.copy2ram=001,070 копируются в память
- Слои по алфавиту dir/dir/*.pfs (т.е. сортировка по dir/*.pfs ,вместе с каталогом). z - верхний
- Сохраненка в памяти. Прочие варианты сохранения
- Чтобы модули 08* 09* были в верхнем слое, как в pra-porteus - переложите их в /optional и добавьте в конец uird.load+=0[89]-. Чтобы такое расположение модулей правильно заработало c pra-porteus : load=08;09
- uird.from=LABEL@/ISO/R81.iso;/LiveOS/squashfs.img;LABEL@/MagOS-Multi/ uird.load=* uird.noload=»» uird.ro=*.xzm,*/*fs.img uird.config=MagOS-Full.in - загрузка xzm и ext3fs.img из squashfs.img, находящегося в R81.iso (Роса)
Загрузка по сети
- Скорость работы системы будет пропорцианальна скорости сети. Обойти это можно использованием uird.copy2ram (потребуется много RAM)
- Аналогична примерам выше. В uird.from нужно указывать сетевые источники
- Авторизация добавляется через uird.netfsopt[+]=. В коде UIRD подставлется так:
OPTIONS="-o $(cmdline_value $UIRD_NETFSOPT)" $BIN_SSHFS ${1/ssh:??/} $2 $OPTIONS