Различия
Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
soft:porteus-initrd [2020/01/31 12:40] 127.0.0.1 внешнее изменение |
soft:porteus-initrd [2023/02/14 14:46] (текущий) sfs [from=] |
||
---|---|---|---|
Строка 8: | Строка 8: | ||
*лог загрузки /var/log/porteus-livedbg | *лог загрузки /var/log/porteus-livedbg | ||
*очень быстро грузится | *очень быстро грузится | ||
- | *не содержит либ ядра (при смене ядра не надо пересобирать). Ядро нужно с вкомпиленной поддержкой файловых систем. | + | *не содержит модулей ядра (при смене ядра не надо пересобирать). Ядро нужно с вкомпиленной поддержкой файловых систем. С версии 221224 можно [[soft/porteus-initrd?&#аналог_udev|любые ядра]] |
*база строится из любого количества модулей лежащих в /porteus/base. Слои по алфавиту. Верхний zzz*. Верхний слой AUFS - это который перекрывает файлы нижнего | *база строится из любого количества модулей лежащих в /porteus/base. Слои по алфавиту. Верхний zzz*. Верхний слой AUFS - это который перекрывает файлы нижнего | ||
*В pra-porteus изменен порядок слоев [[http://wiki.puppyrus.org/setups/aufs|AUFS]] загружаемых модулей. 08*.pfs 09*.pfs всегда в верхнем слое | *В pra-porteus изменен порядок слоев [[http://wiki.puppyrus.org/setups/aufs|AUFS]] загружаемых модулей. 08*.pfs 09*.pfs всегда в верхнем слое | ||
*загрузка всех или указанных модулей в память | *загрузка всех или указанных модулей в память | ||
*выполнение после загрузки указанных скриптов | *выполнение после загрузки указанных скриптов | ||
- | *сохраненка на девайс, в папку или файл (можно зашифровать) | + | *сохраненка на раздел носителя, в папку или файл (можно зашифровать) |
*автозагрузка перечисленных модулей //extramod=/mnt/sdb3/porteus-modules ; extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules// выше базы | *автозагрузка перечисленных модулей //extramod=/mnt/sdb3/porteus-modules ; extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules// выше базы | ||
*можно указать опции mount : //mopt=realtime,sync,users,nosuid,noexec// | *можно указать опции mount : //mopt=realtime,sync,users,nosuid,noexec// | ||
Строка 19: | Строка 19: | ||
*Выделение памяти под / :ramsize=40% | *Выделение памяти под / :ramsize=40% | ||
*PXE загрузка из сети | *PXE загрузка из сети | ||
+ | *[[soft/porteus-initrd?&#from|Поддержка Ventoy]] from=/path/porteus.iso (загрузка из .iso) | ||
Это не весь список. | Это не весь список. | ||
*Полный в [[http://www.porteus.org/component/content/article/26-tutorials/general-info-tutorials/117-cheatcodes-what-they-are-and-how-to-use-them.html|документации]]. | *Полный в [[http://www.porteus.org/component/content/article/26-tutorials/general-info-tutorials/117-cheatcodes-what-they-are-and-how-to-use-them.html|документации]]. | ||
*Ниже перевод, сделанный for_wov и sfs. Перевод соответствует initrd из porteus v.2 | *Ниже перевод, сделанный for_wov и sfs. Перевод соответствует initrd из porteus v.2 | ||
====== Структура каталогов ====== | ====== Структура каталогов ====== | ||
- | Все модули грузятся в алфавитном порядке (z.pfs окажется выше a.pfs) | + | *Все модули загружаются в алфавитном порядке (z.pfs окажется выше a.pfs). |
+ | *Все из /base и /modules (кроме указанных в noload=) | ||
+ | *Перечисленные в load= из /optional | ||
===== Слои aufs ===== | ===== Слои aufs ===== | ||
[[/setups/aufs|AUFS]] | [[/setups/aufs|AUFS]] | ||
Строка 32: | Строка 35: | ||
*/extramod | */extramod | ||
*089-*.pfs (исправления ошибок) | *089-*.pfs (исправления ошибок) | ||
- | *090-*.pfs (сохранение состояния системы в модуль) | + | *090-*.pfs (сохранение состояния системы в модуль; может быть несколько модулей одновременно) |
*/[[http://www.porteus.org/tutoriels/26-general-info-tutorials/112-howto-use-the-rootcopy-directory.html|rootcopy]] ; [[http://www.porteus.org/tutorials/45-other/100-howto-create-and-use-magic-folders.html|magic-folgers]] ;сохраненка (файл, папка, раздел) | */[[http://www.porteus.org/tutoriels/26-general-info-tutorials/112-howto-use-the-rootcopy-directory.html|rootcopy]] ; [[http://www.porteus.org/tutorials/45-other/100-howto-create-and-use-magic-folders.html|magic-folgers]] ;сохраненка (файл, папка, раздел) | ||
*-верх- | *-верх- | ||
Строка 46: | Строка 49: | ||
*Модули не должны содержать /home /root. Иначе они перекроют сохраненкy.pfs | *Модули не должны содержать /home /root. Иначе они перекроют сохраненкy.pfs | ||
===== /optional ===== | ===== /optional ===== | ||
- | *Модули.pfs загружаются в алфавитном порядке выше base, modules при указании load=module[1];module[n]. Кроме указанных в noload= | + | *Модули.pfs загружаются в алфавитном порядке выше base, modules ТОЛЬКО при указании load=module[1];module[n]. Кроме указанных в noload= |
*Рекомендуется для хранения и горячего подключения не постоянно используемых модулей софта. Например gparted | *Рекомендуется для хранения и горячего подключения не постоянно используемых модулей софта. Например gparted | ||
*Модули не должны содержать /home /root. Иначе они перекроют сохраненкy.pfs | *Модули не должны содержать /home /root. Иначе они перекроют сохраненкy.pfs | ||
Строка 73: | Строка 76: | ||
===== changes= ===== | ===== changes= ===== | ||
- | *changes=/dev/device раздел | + | *changes=каталог, указанный в [[https://wiki.puppyrus.org/soft/porteus-initrd#dir|dir=]] , т.е. changes=pra - создаст внутри каталога с дистрибутивом pra - каталог pra/changes |
- | *changes=/path/ папка | + | *changes=/dev/device - раздел |
- | *changes=/path/file.dat контейнер | + | *changes=/path/ - каталог |
- | *[[puppyrus/pra?&#%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%B5%D1%81%D1%81%D0%B8%D0%B8|альтернатива]] - squashfs модуль сохранения или rootcopy | + | *changes=/path/file.dat - контейнер |
+ | *[[puppyrus/pra?&#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_frugal_%D1%81%D0%B5%D1%81%D1%81%D0%B8%D0%B8|альтернатива]] - squashfs модуль сохранения или rootcopy | ||
Без changes= все изменения в системе, до перезагрузки сохраняются в памяти | Без changes= все изменения в системе, до перезагрузки сохраняются в памяти | ||
Если устройство (раздел жесткого диска) имеет linux файловую систему (напр. ext) можно использовать | Если устройство (раздел жесткого диска) имеет linux файловую систему (напр. ext) можно использовать | ||
Строка 83: | Строка 87: | ||
При использовании папки - система создаст подпапку 'changes' внутри '/path' | При использовании папки - система создаст подпапку 'changes' внутри '/path' | ||
Если нужно сохранять на разделах с FAT или NTFS - используйте контейнер (file.dat). | Если нужно сохранять на разделах с FAT или NTFS - используйте контейнер (file.dat). | ||
- | Создается скриптом make-changes или : | + | Создается скриптом make-changes или (в Linux): |
- | truncate -s 2G /test/ext2.dat && losetup /dev/loop40 /test/ext2.dat && mkfs.ext2 /test/ext2.dat && losetup -d /dev/loop40 | + | truncate -s 2G ext2.dat && losetup /dev/loop40 ext2.dat && mkfs.ext2 /test/ext2.dat && losetup -d /dev/loop40 |
+ | Вместо ext2 можно любую поддерживаемую дистрибутивом Linix файловую систему. Например ext4 | ||
===== copy2ram ===== | ===== copy2ram ===== | ||
Строка 115: | Строка 120: | ||
'extramod=/mnt/sdb3/porteus-modules' | 'extramod=/mnt/sdb3/porteus-modules' | ||
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules' | 'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules' | ||
+ | 'extramod=_krn/modules' - если _krn и base на одном разделе | ||
Если нужно подключение не всех модулей, а одного или нескольких - это можно сделать: | Если нужно подключение не всех модулей, а одного или нескольких - это можно сделать: | ||
*через noload= | *через noload= | ||
Строка 128: | Строка 134: | ||
'from=/mnt/sda2/linux-testing' загрузка из папки 'linux-testing' на втором разделе. | 'from=/mnt/sda2/linux-testing' загрузка из папки 'linux-testing' на втором разделе. | ||
'from=/linux-ISO/porteus.iso' загрузка из ISO-файла внутри папки 'linux-ISO'. | 'from=/linux-ISO/porteus.iso' загрузка из ISO-файла внутри папки 'linux-ISO'. | ||
+ | 'from=/porteus.iso' - так работает с https://ventoy.net в режимах nоrmal и grub2 | ||
Если раздел не указан - загрузочный скрипт будет искать данные на всех разделах | Если раздел не указан - загрузочный скрипт будет искать данные на всех разделах | ||
+ | |||
+ | Пример загрузки из iso для grub2: | ||
+ | menuentry "LFD10" { | ||
+ | set k=6.0.0-pf2-pts+ | ||
+ | set f=/iso/lfd10-23.01-x86_64.iso | ||
+ | search --no-floppy --file --set=root $f | ||
+ | loopback loop $f | ||
+ | linux (loop)/${c}/vmlinuz-${k}_64 dir=${d} from=$f quiet | ||
+ | initrd (loop)/${c}/initrd.xz | ||
+ | } | ||
===== fsck ===== | ===== fsck ===== | ||
Строка 267: | Строка 284: | ||
Например: 'sgnfile=porteus-usb.sgn' | Например: 'sgnfile=porteus-usb.sgn' | ||
+ | В PRA модификации по умолчанию sgnfile=initrd.xz. Т.е. если initrd.xz лежит в каталоге дистрибутива (dir=) - sgnfile можно не указывать | ||
===== timezone=region/zone *===== | ===== timezone=region/zone *===== | ||
Строка 293: | Строка 311: | ||
===== zram ====== | ===== zram ====== | ||
- | Задейстует использование zram - блочного устройства внутри памяти (RAM) которое ведет себя как swap. | + | Создает swap in zram. |
- | Zram работает быстрее чем swap на жестком диске и создает больше (виртуальной) памяти чем использование | + | |
- | только памяти (RAM), т.к. данные внутри сжаты. Это даст прирост производительности на системах с | + | |
- | меньшим количеством памяти (RAM), но для этого используется больше частоты процессора (для компресси и | + | |
- | декомпрессии данных) чем при работе со swap. | + | |
- | Не используйте вместе с обычным swap (на диске) | + | |
- | Например: 'zram=33%' назначит 33% вашей памяти(RAM) для zram-диска. | + | *Этот параметр обрабатывается в дистрибутиве. В LF дистрибутивах /etc/rc.d/zram |
+ | *[[wpru>zRam]] - это блочное устройства со сжатием данных "на лету" в памяти (RAM). | ||
+ | *ZRAM включён в стандартную поставку ядра Linux начиная с версии 3.14 | ||
+ | *В LF дистрибутивах обрабатывается скриптом /etc/rc.d/zram | ||
+ | *Работает быстрее чем swap на HDD, SSD, flash. | ||
+ | *За счет компрессии создается эффект увеличения RAM. | ||
+ | *zram=150% даст прирост производительности на системах с [[https://forum.puppyrus.org/index.php?topic=23160.msg178228#msg178228|малым количеством памяти (RAM)]]. | ||
+ | *Желательно использование ядер с [[https://github.com/hakavlad/le9-patch#how-to-get-it|le9]] патчем | ||
+ | *Минус zram - дополнительная нагрузка на процессор (за счет компрессии и декомпрессии данных). | ||
+ | *Можно [[https://wiki.archlinux.org/title/Improving_performance#zram_or_zswap|регулировать]] использованием типа компрессии. | ||
+ | *Посмотреть доступные типы : /sys/block/zram0/comp_algorithm | ||
+ | *По возрастанию : lzo lzo-rle [lz4] lz4hc zstd . lzo самый быстрый, но слабо сжимающий. В [] используемый. | ||
+ | *Изменить : echo lz4 >/sys/block/zram0/comp_algorithm | ||
+ | *При использовании swap in zram вместе с обычным swap на диске (не рекомендуется, т.к. после заполнения zram - swap окажется на медленном носителе) - выставляйте zram больший приоритет : swapon --priority 100 /dev/zram0, чтобы он использовался в первую очередь | ||
+ | *Посмотреть приоритеты : swapon | ||
+ | *Кроме того, для ускорения медленных носителей можно использовать [[https://wiki.archlinux.org/title/Zswap|zswap]] | ||
+ | |||
+ | Например: 'zram=33%' назначит 33% вашей памяти(RAM) для swap in zram. | ||
===== ПРИМЕЧАНИЕ ПО ИСПОЛЬЗОВАНИЮ 'LABEL' И 'UUID': ===== | ===== ПРИМЕЧАНИЕ ПО ИСПОЛЬЗОВАНИЮ 'LABEL' И 'UUID': ===== | ||
Строка 322: | Строка 352: | ||
* Уменьшенное количество цыклов чтения/записи должно продлить жизнь SSD. | * Уменьшенное количество цыклов чтения/записи должно продлить жизнь SSD. | ||
*Единственный недостаток расширения 'EXIT:' при аварийном завершении работы (зависание, пропадание питания) все изменения будут утеряны. Используйте осторожно! | *Единственный недостаток расширения 'EXIT:' при аварийном завершении работы (зависание, пропадание питания) все изменения будут утеряны. Используйте осторожно! | ||
+ | *В итоге актуально использовать только на медленных носителях типа usb-flash | ||
+ | *[[https://forum.puppyrus.org/index.php?topic=14574.15|Обсуждение]] | ||
Например: | Например: | ||
Строка 330: | Строка 362: | ||
Примечание переводчика (for_vow) | Примечание переводчика (for_vow) | ||
*Для sdd и прочих [usbflash] устройств, использующих Nand-flash могла бы хорошо подойти f2fs (flash friendly filesystem дружественная к флеш" файловая система) активно внедряемая в последних версиях Puppy Slacko. | *Для sdd и прочих [usbflash] устройств, использующих Nand-flash могла бы хорошо подойти f2fs (flash friendly filesystem дружественная к флеш" файловая система) активно внедряемая в последних версиях Puppy Slacko. | ||
+ | |||
===== ПРИМЕЧАНИЕ ДЛЯ ИСПОЛЬЗУЮЩИХ LILO: ===== | ===== ПРИМЕЧАНИЕ ДЛЯ ИСПОЛЬЗУЮЩИХ LILO: ===== | ||
Строка 339: | Строка 372: | ||
*Если хотите использовать LILO с настроеными вами cheatcodes при каждой загрузке без их ручного ввода - вы должны изменить /boot/syslinux/lilo.conf и потом повторить установку запустив утититу /boot/Porteus-installer-for-Linux.com т.к. LILO должен перезагрузить свою конфигурацию. | *Если хотите использовать LILO с настроеными вами cheatcodes при каждой загрузке без их ручного ввода - вы должны изменить /boot/syslinux/lilo.conf и потом повторить установку запустив утититу /boot/Porteus-installer-for-Linux.com т.к. LILO должен перезагрузить свою конфигурацию. | ||
+ | |||
+ | ===== Загрузка из iso в grub2 ===== | ||
+ | menuentry "iso pporteus" { | ||
+ | set iso=/lfd10-ventoy-230105-x86_64.iso | ||
+ | set d=lfd10 | ||
+ | set k=6.0.0-pf2-pts+ | ||
+ | search --set=root --no-floppy --file ${iso} | ||
+ | loopback loop $iso | ||
+ | linux (loop)/${dk}/vmlinuz-${k}_64 dir=${d} rw quiet from=$iso | ||
+ | initrd (loop)/${dk}/initrd.xz | ||
+ | } | ||
+ | |||
====== Доработки porteus-initrd для PuppyRus-A (расширение функционала) ====== | ====== Доработки porteus-initrd для PuppyRus-A (расширение функционала) ====== | ||
- | В [[http://www.porteus.org/|porteus]] этот функционал отсутствует | + | В [[http://www.porteus.org/|porteus 2.0]] этот функционал отсутствует. |
- | *Изменено расширение модулей. | + | ===== 000-kernel ===== |
- | *В porteus: .xzm. | + | Изменено название модуля модулей ядра. |
- | *В PRA: .xzm и .pfs | + | |
- | *Изменено название модуля модулей ядра. | + | |
*В porteus: 000-kernel.pfs (в PRA тоже работает) | *В porteus: 000-kernel.pfs (в PRA тоже работает) | ||
- | *В PRA 000-kernel-версия_64.pfs, где "версия" - то что для этого ядра выводит uname -r. _64 - архитектура (для 32 -пусто). Из модулей ядра загрузится только 000-kernel-версия_64.pfs, и из видеодров загрузятся только для текущего ядра. Т.е. не надо в load= noload= писать фильтры для разных ядер | + | *В PRA 000-kernel-версия_64.pfs, где "версия" - то что для этого ядра выводит uname -r. _64 - архитектура (для 32 -пусто). |
+ | *Из модулей ядра загрузится только 000-kernel-версия_64.pfs, и из видео драйверов загрузятся только для текущего ядра. Т.е. не надо в load= noload= писать фильтры для разных ядер | ||
+ | ===== /mnt/home ===== | ||
*Cоздание /mnt/home - симлинк на раздел с файлами дистрибутива (как в puppyrus) | *Cоздание /mnt/home - симлинк на раздел с файлами дистрибутива (как в puppyrus) | ||
- | *[[http://forum.puppyrus.org/index.php?topic=17946.0|Возможна работа с любыми aufs ядрами]]. Например от [[http://mirror.yandex.ru/mirrors/manjaro/pool/|manjaro]] | + | ===== Аналог udev ===== |
- | *Убран raiserfsfsck | + | *[[https://wiki.archlinux.org/title/Udev_(Русский)|udev]] |
- | *Изменен порядок слоев AUFS загружаемых модулей. 08*.pfs 09*.pfs всегда в верхнем слое | + | *Скриптом определяются и загружаются нужные для загрузки системы модули ядра. В конце initrd неиспользованные выгружаются |
+ | *[[http://forum.puppyrus.org/index.php?topic=17946.0|Возможна работа]] с любыми aufs ядрами. [[https://forum.puppyrus.org/index.php?topic=16675.msg100386#msg100386|Например]] | ||
+ | *необходимо добавить в initrd или загрузить вторым инитрд модули нужного ядра | ||
+ | ===== Убран raiserfsfsck, e2fsck, ntfs3-g ===== | ||
+ | *raiserfsfsck, e2fsck - т.к. по большей части актуально только для USB флеш-дисков, на которых обычно не используется | ||
+ | *ntfs3-g - в свежих ядрах монтируется как [[https://forum.puppyrus.org/index.php?topic=23512.msg178582#msg178582|ntfs3]] | ||
+ | |||
+ | ===== 08*.pfs 09*.pfs всегда в верхнем слое ===== | ||
+ | Изменен порядок слоев AUFS загружаемых модулей. 08*.pfs 09*.pfs всегда в верхнем слое, не зависимо от того в какой директории находятся | ||
Строка 370: | Строка 423: | ||
Например: | Например: | ||
dir=pra | dir=pra | ||
+ | Установка в корень раздела (т.е. /base /modules ... вместо /dir/base ...) не рационально и не предусмотрено | ||
+ | |||
===== sort= ===== | ===== sort= ===== | ||
Сортировка нумерных (название модуля начинается с трех цифр, например 001-Pra03arch12nos.pfs) модулей в AUFS | Сортировка нумерных (название модуля начинается с трех цифр, например 001-Pra03arch12nos.pfs) модулей в AUFS | ||
Строка 401: | Строка 456: | ||
</code> | </code> | ||
+ | ===== xzm= ===== | ||
+ | Расширение модулей дистрибутива. По умолчанию pfs (в этом случае можно не указывать) | ||
+ | Например: | ||
+ | xzm=xzm | ||
====== Прочие параметры загрузки ядра ====== | ====== Прочие параметры загрузки ядра ====== | ||
===== Стандартные ===== | ===== Стандартные ===== | ||
Строка 489: | Строка 547: | ||
В дистрибутиве присутствует cryptsetup ([[wpru>LUKS]]) и соответствующие модули ядра. Доступен [[https://wiki.archlinux.org/index.php/Dm-crypt|весь его функционал]]. | В дистрибутиве присутствует cryptsetup ([[wpru>LUKS]]) и соответствующие модули ядра. Доступен [[https://wiki.archlinux.org/index.php/Dm-crypt|весь его функционал]]. | ||
- | Кроме того есть возможность шифрования RW(read\write; запись\чтение; changes=/path/file.dat ) и [[http://wiki.puppyrus.org/soft/porteus-initrd?&#%D0%B4%D0%BE%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8_porteus-initrd_%D0%B4%D0%BB%D1%8F_puppyrus_%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D0%B0|RO(read only;]] только чтение; changes=RO:) [[http://wiki.puppyrus.org/soft/porteus-initrd#changes|сохранения в файл]]. Такой файл создается "Меню-Настройка-Создание файла сохранения" | + | Кроме того есть возможность шифрования RW(read\write; запись\чтение; changes=/path/file.dat ) и [[soft/porteus-initrd?&#changes_ro|RO(read only;]] только чтение; changes=RO:) [[soft/porteus-initrd#changes|сохранения в файл]]. Такой файл создается "Меню-Настройка-Создание файла сохранения" |
==== Сохранение настроек только определенных программ ==== | ==== Сохранение настроек только определенных программ ==== | ||
Например, все настройки статически в RO сохраненке.pfs, а настройки браузера хочется динамически сохранять в RW . Переносим только директорию с настройками браузера на носитель. В профиле делаем [[wr>симлинк]] на перенесенное. | Например, все настройки статически в RO сохраненке.pfs, а настройки браузера хочется динамически сохранять в RW . Переносим только директорию с настройками браузера на носитель. В профиле делаем [[wr>симлинк]] на перенесенное. |