s-frugal

111101 sfs

super-frugal или SF или Конструктор - скрипты позволяющие осуществить автозагрузку squashfs модулей выше или ниже базового модуля.

Применима в любом puppy и вообще в любом aufs frugal дистрибутиве (все ubuntu-debian версии desktop, porteus …)

Возможности

Подключает при загрузке системы

  1. Разделы hdd,cd (скрипт mount-all) . Параметр ядра: mountall=
  2. Модули.sfs (скрипт automntsfs ) выше (параметр ядра: sfsdiru=) и ниже (параметр ядра: sfsdir=) базового.sfs автоматически, при загрузке системы
  3. 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

Лог работы

/var/log/rc.frugal.log

Позволяет

  • Конструировать свой дистрибутив не ломая исходных блоков.
  • Легко патчить (модуль.sfs поверх базы)
  • Легко находить проблему (медодом отключения модулей)
  • Неубиваемый дистибутив
  • Сохраненки в виде модулей.sfs или папок
  • Multi-kernel, multi-wm

Реализация идеи

  1. s-frugal-light

Включение s-frugal-light в дистрибутив

  1. Пересобрать базовый модуль. Можно unsquashfs+mksquashfs (без remasterpup)
  2. Добавить в скрипт загрузки rc.sysinit или rc.local вызов rc.sfrugal
  3. Добавить ключи в параметры ядра

Параметры ядра 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

Отключение swap

  • Актуально при большом количестве RAM.
  • При малом противопаказано

Особенности PuppyRus21x

  • wosave=1 Не предлагать сохранение при выключении. Требует переделки /etc/rc.d/rc.shutdown
  • При расположении директории с модулями на разделе с файлами дистрибутива, ее нужно указать : sfsdir=home:/sfs

Примеры использования

Печать/экспорт