Различия
Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
soft:porteus-initrd [2016/08/18 12:49] |
soft:porteus-initrd [2023/02/14 14:46] (текущий) sfs [from=] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Porteus-initrd. PuppyRus модификация ====== | ||
+ | |||
+ | [[http://forum.puppyrus.org/index.php/topic,14184.msg75908.html#msg75908|Porteus]] [[wpru>initrd]]. | ||
+ | |||
+ | *[[http://forum.puppyrus.org/index.php/topic,14190.0.html|Тема на форуме]] | ||
+ | *Используется в [[http://forum.puppyrus.org/index.php/topic,14534.0.html|PuppyRus-A]] , LF, DDR | ||
+ | ====== Особенности porteus-initrd ====== | ||
+ | *лог загрузки /var/log/porteus-livedbg | ||
+ | *очень быстро грузится | ||
+ | *не содержит модулей ядра (при смене ядра не надо пересобирать). Ядро нужно с вкомпиленной поддержкой файловых систем. С версии 221224 можно [[soft/porteus-initrd?&#аналог_udev|любые ядра]] | ||
+ | *база строится из любого количества модулей лежащих в /porteus/base. Слои по алфавиту. Верхний zzz*. Верхний слой AUFS - это который перекрывает файлы нижнего | ||
+ | *В 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// выше базы | ||
+ | *можно указать опции mount : //mopt=realtime,sync,users,nosuid,noexec// | ||
+ | *noload=module[1];module[n] | ||
+ | *Выделение памяти под / :ramsize=40% | ||
+ | *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|документации]]. | ||
+ | *Ниже перевод, сделанный for_wov и sfs. Перевод соответствует initrd из porteus v.2 | ||
+ | ====== Структура каталогов ====== | ||
+ | *Все модули загружаются в алфавитном порядке (z.pfs окажется выше a.pfs). | ||
+ | *Все из /base и /modules (кроме указанных в noload=) | ||
+ | *Перечисленные в load= из /optional | ||
+ | ===== Слои aufs ===== | ||
+ | [[/setups/aufs|AUFS]] | ||
+ | *-низ- | ||
+ | */base | ||
+ | */modules | ||
+ | */optional | ||
+ | */extramod | ||
+ | *089-*.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]] ;сохраненка (файл, папка, раздел) | ||
+ | *-верх- | ||
+ | |||
+ | |||
+ | |||
+ | ===== /base ===== | ||
+ | *Базовые модули, файловые и оконные менеджеры, сохраненка.pfs | ||
+ | */base/000-kernel.pfs - модули ядра. Должны быть совместимы с дистрибутивом. Название менять нельзя. Модуль временно монтируется во время работы initrd | ||
+ | ===== /modules ===== | ||
+ | *Модули.pfs автозагружаются в алфавитном порядке выше base | ||
+ | *Рекомендуется для автоподключения постоянно используемых модулей софта. Например браузера, проигрывателя. | ||
+ | *Модули не должны содержать /home /root. Иначе они перекроют сохраненкy.pfs | ||
+ | ===== /optional ===== | ||
+ | *Модули.pfs загружаются в алфавитном порядке выше base, modules ТОЛЬКО при указании load=module[1];module[n]. Кроме указанных в noload= | ||
+ | *Рекомендуется для хранения и горячего подключения не постоянно используемых модулей софта. Например gparted | ||
+ | *Модули не должны содержать /home /root. Иначе они перекроют сохраненкy.pfs | ||
+ | ===== /extramod , /rootcopy ===== | ||
+ | [[http://wiki.puppyrus.org/soft/porteus-initrd?&#extramod|/extramod]] ; [[soft/porteus-initrd#rootcopy|/rootcopy]] | ||
+ | |||
+ | =======Параметры загрузки дистрибутива c porteus-initrd. ======= | ||
+ | Параметры загрузки (cheatcodes) дописываются в конфигурационном файле загрузчика системы (например у grub4dos - menu.lst) в параметры ядра. | ||
+ | |||
+ | *Список cheatcodes в алфавитном порядке | ||
+ | *cheatcodes, приведенные в примерах, иногда заключены в одиночные кавычки (напр. 'example=somevalue') для выделения в общем тексте. При практическом использовании кавычки не нужны. | ||
+ | ***Помеченные в конце строки * - не работают или не тестировались в PuppyRus-A** | ||
+ | |||
+ | ===== autoexec=my_script ===== | ||
+ | |||
+ | autoexec=my_script;reboot | ||
+ | Выполнить указанные команды перед входом в систему. | ||
+ | Используйте ";" как разделитель, без пробелов. | ||
+ | Если вам понадобится использовать пробелы в командной строке замените их на "~" | ||
+ | Например: 'autoexec=echo~Shutting~power;poweroff' выведет на консоль текст с пробелами вместо "~" | ||
+ | |||
+ | ===== base_only ===== | ||
+ | |||
+ | Загружаем только "базовые" модули (названия которых начинаются с base/0: 000-kernel.xzm, 001-core.xzm) | ||
+ | Это полезно при отладке, чтобы понять связаны ли ваши возможные проблемы с модулем, добавленным вами в систему. | ||
+ | |||
+ | ===== changes= ===== | ||
+ | *changes=каталог, указанный в [[https://wiki.puppyrus.org/soft/porteus-initrd#dir|dir=]] , т.е. changes=pra - создаст внутри каталога с дистрибутивом pra - каталог pra/changes | ||
+ | *changes=/dev/device - раздел | ||
+ | *changes=/path/ - каталог | ||
+ | *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= все изменения в системе, до перезагрузки сохраняются в памяти | ||
+ | Если устройство (раздел жесткого диска) имеет linux файловую систему (напр. ext) можно использовать | ||
+ | раздел ('changes=/dev/sdb2') или папку ('changes=/path/') | ||
+ | '/path/'- путь от корня раздела с файлами дистрибутива (т.е. без '/dev/') | ||
+ | При использовании папки - система создаст подпапку 'changes' внутри '/path' | ||
+ | Если нужно сохранять на разделах с FAT или NTFS - используйте контейнер (file.dat). | ||
+ | Создается скриптом make-changes или (в Linux): | ||
+ | |||
+ | truncate -s 2G ext2.dat && losetup /dev/loop40 ext2.dat && mkfs.ext2 /test/ext2.dat && losetup -d /dev/loop40 | ||
+ | |||
+ | Вместо ext2 можно любую поддерживаемую дистрибутивом Linix файловую систему. Например ext4 | ||
+ | ===== copy2ram ===== | ||
+ | |||
+ | Копирует все модули в память. Вам потребуется как минимум 256mb. | ||
+ | Система 64-бит с KDE-4 потребует не меньше 768mb. | ||
+ | 'copy2ram' замедляет этап загрузки, но ускоряет работу системы. | ||
+ | |||
+ | Напоминание: cheatcode 'noeject' можно использовать вместе с 'copy2ram', чтобы предотвратить отмонтирование | ||
+ | вашего загрузочного устройства (CD/DVD,usbflash,card-reader,и.т.д.) | ||
+ | Так же можно использовать 'rammod' чтобы выборочно загружать модули в память (смотрите описание 'rammod' ниже) | ||
+ | |||
+ | ===== debug ===== | ||
+ | |||
+ | Запуск консоли отладки. Пошаговый режим | ||
+ | |||
+ | ===== delay= ===== | ||
+ | |||
+ | Например: 'delay=5' приостановит загрузку на 5 секунд. Необходимо устройствам, требующими допольнительного | ||
+ | времени для настройки. | ||
+ | |||
+ | ===== extramod= ===== | ||
+ | |||
+ | extramod=/path/folder_with_modules;/path2/folder_with_modules | ||
+ | Загрузка модулей из одной или нескольких внешних папок (расположеных не в папке с файлами дистрибутива). | ||
+ | Если все папки на одном разделе с дистрибутивом - можно указать пути от корня раздела | ||
+ | Для нескольких папок на разных разделах нужно указывать полные пути с разделителем ";" без пробелов. | ||
+ | Например: | ||
+ | 'extramod=/mnt/sdb3/porteus-modules' | ||
+ | 'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules' | ||
+ | 'extramod=_krn/modules' - если _krn и base на одном разделе | ||
+ | Если нужно подключение не всех модулей, а одного или нескольких - это можно сделать: | ||
+ | *через noload= | ||
+ | *если Ваш дистрибутив на ext разделе и Вы не используете noauto - можно сделать симлинк на модуль в /modules. Симлинк делать через /mnt/sda... | ||
+ | |||
+ | ===== from= ===== | ||
+ | from=/dev/device | ||
+ | from=/path/folder | ||
+ | from=/path/porteus.iso | ||
+ | Загружает систему с устройства, папки или ISO файла | ||
+ | Например: | ||
+ | 'from=/dev/sdb2' загрузка со второго раздела на втором диске. | ||
+ | 'from=/mnt/sda2/linux-testing' загрузка из папки 'linux-testing' на втором разделе. | ||
+ | '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 ===== | ||
+ | |||
+ | Проверка разделов с ext(2,3,4) и reiserfs | ||
+ | XFS не нуждается в проверке с параметром fsck т.к. проверка происходит автоматически во время монтирования. | ||
+ | На некоторых системах необходимо использовать 'delay=' для подготовки устройства. | ||
+ | Это по большей части необходимо только для USB флеш-дисков. | ||
+ | |||
+ | ===== kmap= *===== | ||
+ | kmap=раскладка_клавиатуры | ||
+ | Определяет предпочитаемую раскладку клавиатуры для KDE/LXDE/XFCE или другого рабочего окружения. | ||
+ | Полный список поддерживаемых раскладок можно найти в папке /etc/X11/xkb/symbols | ||
+ | Например: 'kmap=ru' установит русскую раскладку клавиатуры. | ||
+ | |||
+ | ===== load=module ===== | ||
+ | |||
+ | load=module[1];module[n] | ||
+ | Загрузка модулей из папки /optional/ на загрузочном устройстве. | ||
+ | Модули разделяются ";" без пробелов. | ||
+ | Например: 'load=gimp;inkscape' - загрузка модулей, содержащих в названии строки 'gimp' и 'inkscape' | ||
+ | из папки /porteus/optional | ||
+ | |||
+ | ===== login=user_name *===== | ||
+ | |||
+ | Имя пользователя (можно 'root') для автологина | ||
+ | Если имя пользователя не указано, то загрузка приостанавливается на экране входа LXDM/KDM. | ||
+ | |||
+ | ===== lxde *===== | ||
+ | |||
+ | Использовать рабочее окружение LXDE | ||
+ | |||
+ | ===== mopt ===== | ||
+ | |||
+ | Настройка параметров монтирования файловых систем. По умолчанию : "noatime,nodiratime,suid,dev,exec,async". | ||
+ | Каждый параметр разделяется с помощью "," без пробелов. | ||
+ | Например: 'mopt=realtime,sync,users,nosuid,noexec'. | ||
+ | |||
+ | ===== noauto ===== | ||
+ | |||
+ | Отключить автомонтирование устройства во время загрузки. Каждый диск нужно будет монтировать вручную. | ||
+ | Флэшка, подключенная до загрузки системы не автомонтируется | ||
+ | |||
+ | ===== nocd ===== | ||
+ | |||
+ | Не искать файлы на CD/DVD во время загрузки системы | ||
+ | |||
+ | ===== noeject ===== | ||
+ | |||
+ | Не извлекать CD/DVD диски во время загрузки и выключения. | ||
+ | Совместное использование 'copy2ram' и 'noeject' предотвратит размонтирование загрузочного устройства | ||
+ | (CD/DVD, usb, card-reader, и т.д.). Чтобы извлечь CD вам нужно будет его отмонтировать из консоли, | ||
+ | вручную командами 'umount /mnt/sr0' и 'eject /dev/sr0' | ||
+ | |||
+ | ===== nohd ===== | ||
+ | |||
+ | Не искать файлы на жестких дисках во время загрузки системы | ||
+ | |||
+ | ===== nohotplug ===== | ||
+ | |||
+ | Отключить автоопределение специфического оборудования в случае зависания системы. | ||
+ | Использовуйте команду "modprobe" после входа в текстовый режим и загрузите необходимые драйвера вручную. | ||
+ | |||
+ | ===== noload=module ===== | ||
+ | |||
+ | noload=module[1];module[n] | ||
+ | Отключит загрузку перечисленных модулей. Распространяется на все модули, влючая папки /base и /modules | ||
+ | Пример: 'noload=kde' - отключит загрузку всех модулей с строчкой 'kde' в названиях. | ||
+ | Полезен с 'copy2ram', потому, что лишние модули не будут копироваться в память. | ||
+ | Можно указать много модулей с разделителем ";" без пробелов | ||
+ | Например: 'noload=lxde;devel' исключит загрузку модулей в названии которых содержатся строчки с 'lxde' и 'devel' | ||
+ | |||
+ | ===== nomagic *===== | ||
+ | |||
+ | Не создавать "magic folders" во время загрузки. Полезно когда что-то пошло не так с настройками системы | ||
+ | и вы хотите загрузиться в "Всегда свежый" ('Always Fresh') режим. Т.е. без сохранения | ||
+ | |||
+ | ===== nonetwork ===== | ||
+ | |||
+ | Отключает автоподключение к сети. | ||
+ | Внимание! Вносит изменения в систему, которые нужно восстанавливать вручную, | ||
+ | поэтому рекомендуется использовать только в ("Always Fresh") режиме. | ||
+ | Если вы проигнорировали этот совет и вам нужно восстановить ваше сетевое подключение, наберите в консоли: | ||
+ | chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager | ||
+ | sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop | ||
+ | |||
+ | ===== norootcopy ===== | ||
+ | |||
+ | Не копирует файлы из папки rootcopy. Как и 'nomagic' полезен если что-то пошло не так с настройками | ||
+ | и вы хотите загрузиться в 'Always Fresh' режим. | ||
+ | |||
+ | ===== noswap ===== | ||
+ | |||
+ | Запрещает автоматически использовать существующий раздел со swap (файл подкачки). | ||
+ | По умолчанию система ищет на всех подключенных дисках swap-разделы и подключает их. | ||
+ | |||
+ | ===== ramsize= ===== | ||
+ | |||
+ | Установить произвольный размер раздела с tmpfs, который используется как root (/) вашей live файловой системы, | ||
+ | т.е. когда изменения сохраняются только в памяти ('Always Fresh' режим, т.е. без использования changes=). | ||
+ | Значение по умолчанию -- 60% доступной физической памяти (RAM). | ||
+ | Например: 'ramsize=40%' | ||
+ | |||
+ | ===== rammod= ===== | ||
+ | |||
+ | rammod=folder | ||
+ | rammod=module[1];module[n];folder[1];folder[2] | ||
+ | Работает только вместе с 'copy2ram'. Только модули, перечисленные в rammod= модуль(и) или папку(и) с модулями копируются в | ||
+ | память(RAM) | ||
+ | Это позволит вам иметь преимущество в скорости 'copy2ram' для наиболее часто используемых модулей, не занимая | ||
+ | оперативной памяти модулями, которые вы используете реже. Модули, не указанные в rammod= будут подключены с носителя и | ||
+ | Вы не сможете его извлечь во время работы системы | ||
+ | |||
+ | Вы можете использовать полные или частичные названия модулей, но помните что все модули и папки, совпадающие с частью | ||
+ | названия будут загружены в папять (RAM); | ||
+ | Если у вас есть дополнительные модули в папке с названием 'lxde' и вы используете 'rammod=lxde', | ||
+ | тогда модуль 003-lxde.xzm из /base будет загружен дополнительно со всеми модулями в папке 'lxde'. | ||
+ | |||
+ | 'rammod' нельзя использовать без 'copy2ram', и он так же не загрузит модули из /optional и прочих мест, | ||
+ | пока вы не укажите эти модули в 'load=' или 'extramod='. | ||
+ | |||
+ | Например: | ||
+ | 'rammod=001;002;004;firefox' | ||
+ | 'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp' | ||
+ | |||
+ | ===== rootcopy= ===== | ||
+ | rootcopy=/путь/к_папке/с_файлами | ||
+ | Скопирует файлы из указанной папки прямо в live файловую систему. | ||
+ | Не рекомендуется использовать на fat и ntfs, т.к. на все файлы устанавливаются права 755 (чтение, запись и запуск) для всех. | ||
+ | Эта папка будет использоваться вместо традиционной /rootcopy. | ||
+ | Например: 'rootcopy=/mnt/sda5/root-files' | ||
+ | |||
+ | ===== sgnfile= ===== | ||
+ | |||
+ | Указать идентификационный файл *.sgn, который система ищет при загрузке. | ||
+ | Полезно если у Вас несколько копий системы на одном hdd(cd) диске. | ||
+ | Должен находиться в каталоге дистрибутива (там же где base, modules ...) | ||
+ | Например: 'sgnfile=porteus-usb.sgn' | ||
+ | |||
+ | В PRA модификации по умолчанию sgnfile=initrd.xz. Т.е. если initrd.xz лежит в каталоге дистрибутива (dir=) - sgnfile можно не указывать | ||
+ | ===== timezone=region/zone *===== | ||
+ | |||
+ | Полный список доступных временных зон можно найти в файле /usr/sbin/timeconfig | ||
+ | Например: 'timezone=Europe/Kiev' | ||
+ | Например: 'timezone=Factory' | ||
+ | |||
+ | ===== vga_detect *===== | ||
+ | |||
+ | Автоматически определяет AMD или nVidia видео карты и загружает необходимые драйвера. | ||
+ | Модуль видео драйвера (nVidia или amd-catalyst) должен находиться в /optional/ и его название должны | ||
+ | начинаться с 'nVidia-' или 'amd-catalyst'. Скрипт загрузки ищет модули драйверов по названию. | ||
+ | Позволяет переключатся между разными конфигурациями оборудования в то время как модули проприетарных | ||
+ | драйверов (AMD, nVidia) могут находится вместе в папке /optional/ не мешая друг другу. | ||
+ | Они активируются только когда потребуются. | ||
+ | =====volume====== | ||
+ | |||
+ | Устанавка громкости динамиков (Master Volume channel) на указанное значение (в процентах). | ||
+ | Значение по умолчанию -- 75%. | ||
+ | Например: 'volume=0%' запустит сеанс графического интерфейса беззвучно. | ||
+ | |||
+ | ===== xfce *===== | ||
+ | |||
+ | Использовать XFCE как рабочее окружение по умолчанию. | ||
+ | |||
+ | ===== zram ====== | ||
+ | |||
+ | Создает swap in 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': ===== | ||
+ | |||
+ | *Все части этих команд чувствительны к регистру. | ||
+ | *Используйте в терминале команду 'blkid', чтобы увидеть UUID и LABEL устройства. | ||
+ | *UUID и LABEL являются уникальными для вашего устройства. Файлы дистрибутива будут правильно найдены. | ||
+ | *'LABEL' и 'UUID' можно использовать с любым cheatcode, содержaщим /путь | ||
+ | |||
+ | Например: | ||
+ | changes=UUID:СТРОКА-ЗНАЧЕНИЙ/путь/файл.dat | ||
+ | extramod=LABEL:НазваниеВашейМетки/путь/к_папке/с_файлами | ||
+ | from=UUID:СТРОКА-ЗНАЧЕНИЙ/путь/папка | ||
+ | rootcopy=LABEL:азваниеВашейМетки/путь/к_папке/с_файлами | ||
+ | |||
+ | ===== ПРИМЕЧАНИЕ ПО ИСПОЛЬЗОВАНИЮ 'changes' ВМЕСТЕ С РАСШИРЕНИЕМ 'EXIT:': ===== | ||
+ | |||
+ | *Расширение 'EXIT:' указывает 'changes=' сохранять все изменения, сделанные за время сеанса в памяти до перезагрузки/выключения. Запись изменений на диск производится 1 раз при корректмом выключении. | ||
+ | *Конструкция 'changes=EXIT:' имеет следующие преимущества: | ||
+ | * Система работает так же быстко как и в 'Always Fresh' режиме т.к. все изменения производятся в памяти (RAM). | ||
+ | * Уменьшенное количество цыклов чтения/записи должно продлить жизнь SSD. | ||
+ | *Единственный недостаток расширения 'EXIT:' при аварийном завершении работы (зависание, пропадание питания) все изменения будут утеряны. Используйте осторожно! | ||
+ | *В итоге актуально использовать только на медленных носителях типа usb-flash | ||
+ | *[[https://forum.puppyrus.org/index.php?topic=14574.15|Обсуждение]] | ||
+ | |||
+ | Например: | ||
+ | changes=EXIT:/dev/device | ||
+ | changes=EXIT:/path/ | ||
+ | changes=EXIT:UUID:STrING-0F-ChARACtERS/путь/файл.dat | ||
+ | |||
+ | Примечание переводчика (for_vow) | ||
+ | *Для sdd и прочих [usbflash] устройств, использующих Nand-flash могла бы хорошо подойти f2fs (flash friendly filesystem дружественная к флеш" файловая система) активно внедряемая в последних версиях Puppy Slacko. | ||
+ | |||
+ | ===== ПРИМЕЧАНИЕ ДЛЯ ИСПОЛЬЗУЮЩИХ LILO: ===== | ||
+ | |||
+ | *Если был установлен загрузчик lilo, у вас будет текстовое меню со стандартными параметрами загрузки (KDE, LXDE, Always Fresh, и.т.д). | ||
+ | *Используйте клавиши стрелок чтобы выделить желаемый путкт меню (если вы используете первое значение (KDE), нажмите down, потом up чтобы выделить KDE). Название вашего загрузочного параметра добавится в строку 'boot:' и вы сможете печатать cheatcodes после этого. | ||
+ | |||
+ | Например: | ||
+ | boot: KDE debug noauto - загрузить KDE со всеми стандартными кодами для KDE, плюс отладка и noauto. | ||
+ | |||
+ | *Если хотите использовать 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 (расширение функционала) ====== | ||
+ | В [[http://www.porteus.org/|porteus 2.0]] этот функционал отсутствует. | ||
+ | ===== 000-kernel ===== | ||
+ | Изменено название модуля модулей ядра. | ||
+ | *В porteus: 000-kernel.pfs (в PRA тоже работает) | ||
+ | *В PRA 000-kernel-версия_64.pfs, где "версия" - то что для этого ядра выводит uname -r. _64 - архитектура (для 32 -пусто). | ||
+ | *Из модулей ядра загрузится только 000-kernel-версия_64.pfs, и из видео драйверов загрузятся только для текущего ядра. Т.е. не надо в load= noload= писать фильтры для разных ядер | ||
+ | ===== /mnt/home ===== | ||
+ | *Cоздание /mnt/home - симлинк на раздел с файлами дистрибутива (как в puppyrus) | ||
+ | ===== Аналог udev ===== | ||
+ | *[[https://wiki.archlinux.org/title/Udev_(Русский)|udev]] | ||
+ | *Скриптом определяются и загружаются нужные для загрузки системы модули ядра. В конце 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 всегда в верхнем слое, не зависимо от того в какой директории находятся | ||
+ | |||
+ | |||
+ | ===== changes=RO: ===== | ||
+ | |||
+ | *'changes' ВМЕСТЕ С РАСШИРЕНИЕМ 'RO:': | ||
+ | *Расширение 'RO:' указывает 'changes=' подключаться в режиме "только чтение". Запись изменений в этом случае не производится. RO можно использовать только с сохранением в файл. Монтируется в слой aufs выше всех .pfs перед rootcopy. С параметром copy2ram сохраненка копируется в память | ||
+ | *Конструкция 'changes=RO:' имеет следующие преимущества: | ||
+ | * Сохраненка "неубиваема". | ||
+ | * В отличие от .pfs сохранения, возможно шифрование, но нет сжатия | ||
+ | |||
+ | Например: | ||
+ | changes=RO:/path/файл.dat | ||
+ | changes=RO:UUID:STrING-0F-ChARACtERS/путь/файл.dat | ||
+ | |||
+ | ===== dir= ===== | ||
+ | Название каталога (не путь) с файлами дистрибутива. Обязательно указывать | ||
+ | Например: | ||
+ | dir=pra | ||
+ | Установка в корень раздела (т.е. /base /modules ... вместо /dir/base ...) не рационально и не предусмотрено | ||
+ | |||
+ | ===== sort= ===== | ||
+ | Сортировка нумерных (название модуля начинается с трех цифр, например 001-Pra03arch12nos.pfs) модулей в AUFS | ||
+ | |||
+ | Необязательный параметр. Удобен для многовариантной загрузки с компоновкой [[wpru>DE]] из модулей в /optional c помощью load= | ||
+ | Например : | ||
+ | sort=456789 или sort=4-9 | ||
+ | Модули, начинающиеся с 0xy- , будут загружены верхний слой AUFS по алфавиту (т.е. перекроют остальные модули) | ||
+ | *x - указанное Вами маска в sort= | ||
+ | *y - любая цифра | ||
+ | |||
+ | <code>Например : | ||
+ | /mnt/sda1/pra3/base/000-kernel.pfs | ||
+ | /mnt/sda1/pra3/base/001-Pra03arch12nos.pfs | ||
+ | /mnt/sda1/pra3/base/040-jwm-pra3c.pfs | ||
+ | /mnt/sda1/pra3/base/070-Pra-151119.pfs | ||
+ | /mnt/sda1/pra3/base/089-pra-up.pfs | ||
+ | /mnt/sda1/pra3/base/090-save-150921net-pra.pfs | ||
+ | /mnt/sda1/pra3/modules/042-cow-notify-s04.pfs | ||
+ | /mnt/sda1/pra3/optional/075-Systemd-217-8-s03.pfs | ||
+ | |||
+ | с sort=4-9 : | ||
+ | /mnt/sda1/pra3/base/000-kernel.pfs | ||
+ | /mnt/sda1/pra3/base/001-Pra03arch12nos.pfs | ||
+ | /mnt/sda1/pra3/base/040-jwm-pra3c.pfs | ||
+ | /mnt/sda1/pra3/modules/042-cow-notify-s04.pfs | ||
+ | /mnt/sda1/pra3/base/070-Pra-151119.pfs | ||
+ | /mnt/sda1/pra3/optional/075-Systemd-217-8-s03.pfs | ||
+ | /mnt/sda1/pra3/base/089-pra-up.pfs | ||
+ | /mnt/sda1/pra3/base/090-save-150921net-pra.pfs | ||
+ | </code> | ||
+ | |||
+ | ===== xzm= ===== | ||
+ | Расширение модулей дистрибутива. По умолчанию pfs (в этом случае можно не указывать) | ||
+ | Например: | ||
+ | xzm=xzm | ||
+ | ====== Прочие параметры загрузки ядра ====== | ||
+ | ===== Стандартные ===== | ||
+ | http://man7.org/linux/man-pages/man7/bootparam.7.html | ||
+ | https://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt | ||
+ | ==== quiet ==== | ||
+ | Уменьшает вывод на экран и ускоряет загрузку | ||
+ | ==== modprobe.blacklist ==== | ||
+ | Запрет загрузки модулей ядра. | ||
+ | |||
+ | Например : Отключить ip версии 6 и встроенный динамик | ||
+ | modprobe.blacklist=pcspkr,ipv6 | ||
+ | |||
+ | ===== Systemd===== | ||
+ | Только при использовании [[wpru>systemd]] | ||
+ | ==== 1 - восстановительный режим ==== | ||
+ | *примерно соответствующего прежнему уровню выполнения 1 | ||
+ | *Например, **загрузиться в консоль без Х.** | ||
+ | *Это режим эффективен для решения проблем, возникающих на этапе запуска обычных служб, когда ключевые компоненты системы уже инициализированы. В такой ситуации, вы можете просто отключить проблемную службу. | ||
+ | |||
+ | ==== emergency - аварийный режим ==== | ||
+ | Если загрузка не доходит даже до восстановительного (1) режима — попробуйте менее требовательный, аварийный (emergency) | ||
+ | режим. | ||
+ | |||
+ | |||
+ | ==== systemd.unit= ==== | ||
+ | Стандартная цель - default.target, которая по умолчанию является псевдонимом юнита graphical.target (примерно соответствующего прежнему уровню выполнения 5). Для изменения цели при загрузке по умолчанию, добавьте следующий дополнительный параметр ядра в вашем загрузчике: | ||
+ | *systemd.unit=multi-user.target (что примерно соответствует прежнему уровню выполнения 3), | ||
+ | *systemd.unit=rescue.target (что примерно соответствует прежнему уровню выполнения 1). | ||
+ | |||
+ | ==== net.ifnames=0 biosdevname=0==== | ||
+ | Чтобы имена интерфейсоы не менялись - с systemd используйте в menu.lst параметр ядра net.ifnames=0 biosdevname=0 | ||
+ | |||
+ | Всегда будет eth0 wlan0 | ||
+ | ====== Утилиты, совместимые с porteus-initrd ====== | ||
+ | *[[http://forum.puppyrus.org/index.php/topic,13900.msg76616.html#msg76616|freememapplet_tray]] | ||
+ | *trayinfo | ||
+ | |||
+ | |||
+ | ======Сохранение сессии====== | ||
+ | 3 основных стратегии: | ||
+ | -Весь софт и сохранение модулями. Удобно для мобильного использования. Неубиваемо неосторожными действиями пользователя. Файловая система - любая | ||
+ | -Большая сохраненка в раздел (каталог). Софт доустанавливается пакетным менеджером. Это почти обычная установка. Разница только в том, что можно иметь несколько сохранений для разных случаев и экспериментов. Удобно для стационарного использования. Невозможно на fat, ntfs (но можно сделать сохранение в файл). **НЕЛЬЗЯ создавать** changes=директория u /rootcopy **на fat, ntfs**. Будут сломаны права на файлы. | ||
+ | -Весь софт и сохранение модулями. /home (или его часть, например профиль браузера, вынесены симлинком на ext раздел). Т.е. среднее между 1 и 2. Сделать: | ||
+ | -Закрыть все приложения или выйти из Х | ||
+ | -В файл менеджере, запущенном от root - перенести с сохранением прав /home на ext раздел | ||
+ | -sudo ln -s /путь_к_home_на_ext /home | ||
+ | -Сделать сохранение в модуль | ||
+ | |||
+ | Далее рассмотрены варианты этих стратегий | ||
+ | ==== Модуль сохранения.pfs ==== | ||
+ | *Вместе с [[soft/porteus-initrd?&#copy2ram|copy2ram]] позволяет иметь полностью настроенную под Ваши нужды и загруженную в память неизменяемую систему. Удобно для работы с flash (нет износа и тормозов при записи) | ||
+ | *Скрипт //create-save-pfs// (Меню - настройки - Создание файла сохранения.pfs) | ||
+ | ==== rootcopy ==== | ||
+ | **Альтернатива** - использовать [[soft/porteus-initrd?&#rootcopy|rootcopy]]. В отличие от [[soft/porteus-initrd?&#changesdevdevice|changes]] ее содержимое не изменяется в процессе работы и все содержимое находится в памяти. Удобно для тестирования изменений, которые потом будут добавлены в сохраненку.pfs | ||
+ | |||
+ | Неудобства rootcopy: | ||
+ | *Необходимо размещение на ext разделе | ||
+ | *Файлы находятся в памяти в несжатом виде | ||
+ | *При загрузке тратится время на копирование в память | ||
+ | ==== Сохранение в каталог, раздел, файл-контейнер.dat ==== | ||
+ | |||
+ | -[[soft/porteus-initrd#changes|RW (read\write чтение\запись) сохраненка]]. | ||
+ | -Достоинства: | ||
+ | *Все изменения записываются сразу. Сессия сохранена даже при аварийном выключении | ||
+ | -Недостатки: | ||
+ | *Хранение в несжатом виде. | ||
+ | *Сохранение в файл наиболее неудобно. актуально только на fat ntfs. | ||
+ | *Неосторожные действия пользователя могут привести к незагружаемой системе и любым другим проблемам. Делайте резервные копии сохраненок | ||
+ | *Износ флэшки, расход батареи | ||
+ | -[[soft/porteus-initrd#%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%87%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E_changes_%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B5_%D1%81_%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC_exit|RW сохраненка с записью при завершении работы]] | ||
+ | -Достоинства: | ||
+ | *Нет износа флэшки, расхода батареи | ||
+ | -Недостатки: | ||
+ | *Потеря данных при аварийном выключении | ||
+ | -R модуль сохранения.pfs | ||
+ | -Достоинства: | ||
+ | *При [[soft/porteus-initrd#copy2ram|copy2ram]] нет износа флэшки, расхода батареи | ||
+ | *Размещение на любой файловой системе | ||
+ | *Неубиваемость | ||
+ | *Хранение данных в сжатом виде | ||
+ | -Недостатки: | ||
+ | *Потеря данных при аварийном выключении | ||
+ | *Необходимость пересборки или иерархии (несколько сохраненок.pfs накладывающихся друг на друга) | ||
+ | |||
+ | ==== Шифрование файла сохранения ==== | ||
+ | В дистрибутиве присутствует cryptsetup ([[wpru>LUKS]]) и соответствующие модули ядра. Доступен [[https://wiki.archlinux.org/index.php/Dm-crypt|весь его функционал]]. | ||
+ | |||
+ | Кроме того есть возможность шифрования 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>симлинк]] на перенесенное. | ||
+ | |||
+ | Это нечто среднее между сохранением в модуль и в папку | ||
+ | |||
+ | |||
+ | |||