s-frugal
111101 sfslinux@gmail.com
super-frugal или SF или Конструктор - скрипты позволяющие осуществить автозагрузку squashfs модулей выше или ниже базового модуля.
Применима в любом puppy и вообще в любом aufs frugal дистрибутиве (все ubuntu-debian версии desktop, porteus …)
Возможности
Подключает при загрузке системы
Разделы hdd,cd (скрипт
mount-all) . Параметр ядра:
mountall=
Модули.sfs (скрипт
automntsfs ) выше (параметр ядра:
sfsdiru=) и ниже (параметр ядра:
sfsdir=) базового.sfs автоматически, при загрузке системы
home директории, сохраненные на ext разделе
Модифицирует:
В начало /~/.xinitrc добавляет скрипт /usr/local/bin/xinitrc_local .
Его создает пользователь.
При отсутствии - ничего не происходит.
/root/.xinitrc автоматически патчится скриптом rc.sfrugal
Удобно для манипуляций с дисплеем и его разрешением
Примеры параметров ядра:
sfsdiru=sda1:/sfsdiru/_stand-f.lst sfsdir=_sfs:mc,firef mountall=sda1,sda2 home=sda2:/pp/root
Лог работы
Позволяет
Конструировать свой дистрибутив не ломая исходных блоков.
Легко патчить (модуль.sfs поверх базы)
Легко находить проблему (медодом отключения модулей)
Неубиваемый дистибутив
Сохраненки в виде модулей.sfs или папок
Multi-kernel, multi-wm
Реализация идеи
Включение s-frugal-light в дистрибутив
Пересобрать базовый модуль. Можно unsquashfs+mksquashfs (без remasterpup)
Добавить в скрипт загрузки rc.sysinit или rc.local вызов rc.sfrugal
Добавить ключи в параметры ядра
Параметры ядра s-frugal
Передаются через загрузчик системы.
Пример:
kernel /_pr217b/vmlinuz psubdir=_pr217b sfsdiru=home:/_sfs:Jwm,Thunar,Mc,Sfs-tk,Fris sfsdir=home:/_sfs:pup-v,ymount,fire
Все параметры можно комбинировать в любых вариантах
sfsdir
sfsdir=sfs/dir - директория (папка) с модулями или их симлинками. Модули.SFS автоматически монтируются в алфавитном порядке как часть системы
sfsdir=sfsdir - файл сo списком модулей. Список через пробел или перевод строки. Если модули находятся в этом же каталоге - можно перечислять без пути. Модули.SFS автоматически монтируются в порядке перечисления.
sfsdir=sfsdir:mc,firef* - директория с перечислением модулей. Название модуля можно указывать не до конца. При более одного совпадения будет загружен последний по алфавиту.
Модули.SFS автоматически монтируются в порядке перечисления ниже базового.SFS, т.е. файлы модулей.SFS не заменяют файлы базового.SFS.
Расположение каталога указывается относительно корня раздела с файлами системы.
Таким образом рекомендуется монтировать программное обеспечение.
Опционально можно указать раздел диска: sfsdir=sda1:/sfs
sfsdiru
Аналогично sfsdir= , но монтирование выше базового.SFS, т.е. файлы модулей.SFS заменяют файлы базового.SFS.
Таким образом рекомендуется с осторожностью монтировать только русификацию и прочие модификации базового.SFS.
home
Использовать в качестве домашней директории указанную директорию. Cинтаксис аналогичен sfsdir= :
home=home/dir home=sda1:/home/dir
Если директория не существует - она создается копированием /root
Старый /root перемещается в /tmp (можно удалить)
Рекомендуется использовать home= созданый в этом же дистрибутиве.
mountall
Автомонтирование разделов носителей (hdd, usbflash)
mountall=1 - автомонтировать все разделы всех носителей
mountall=sda1,sdb2 - автомонтировать перечисленные разделы
sfs2ram=1
Копировать все модули перед подключением в RAM.
swapoff=1
Особенности PuppyRus21x
wosave=1 Не предлагать сохранение при выключении. Требует переделки /etc/rc.d/rc.shutdown
При расположении директории с модулями на разделе с файлами дистрибутива, ее нужно указать : sfsdir=home:/sfs
Примеры использования