Сайт | Скачать | Видео | Wiki

Автор Тема: Автозагрузка модулей при старте системы  (Прочитано 46320 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
Re:Автозагрузка модулей при старте системы
« Ответ #15 : 26 Ноябрь 2012, 12:38:36 »
PFS должны подключаться выше базы, почему - уже много раз обсуждали.
Во время работы (по клику) по умолчанию PFS тоже подключаются выше.

Для подключения SFS выше базы - можно использовать префикс.

Кроме того все забыли про bootconfig. Давайте его судьбу тоже решим.
ИМХО можно его убрать.

Оффлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6283
  • Репутация: +141/-0
Re:Автозагрузка модулей при старте системы
« Ответ #16 : 26 Ноябрь 2012, 12:55:22 »
ИМХО можно его убрать.
А не торопитесь, если конечно rc.update переписать или от сохраненки совсем отказаться.
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33974
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Автозагрузка модулей при старте системы
« Ответ #17 : 26 Ноябрь 2012, 13:23:41 »
PFS должны подключаться выше базы
Если мнения разделились - лучше оставить все возможности. Тогда все останутся довольны

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Автозагрузка модулей при старте системы
« Ответ #18 : 26 Ноябрь 2012, 13:54:41 »
я незнаю что там про bootconfig,
давайте вариант предложенный  sfs сделаем
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33974
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Автозагрузка модулей при старте системы
« Ответ #19 : 26 Ноябрь 2012, 14:12:51 »
Кто будет делать? Помощь нужна?

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Автозагрузка модулей при старте системы
« Ответ #20 : 26 Ноябрь 2012, 14:20:27 »
делает zaу.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:Автозагрузка модулей при старте системы
« Ответ #21 : 26 Ноябрь 2012, 14:31:08 »
Помощь нужна?
Покритикуй
Код
#load_soft Version 08, GPL, DdShurick
PSUBDIR=$(dirname $(echo $PUPSFS | cut -f3 -d ','))
["$PSUBDIR"="/"] && PSUBDIR=""
[ $pfsdir ] && SFSDIR=$pfsdir || SFSDIR=programm

MNTPT=$(mount | grep '/initrd/mnt/dev'| cut -f3 -d' ')
[ $PDEV1 ] || PDEV1=$(echo $PUPSFS | cut -f1 -d ',')
if [ "$MNTPT" = "" ]; then
mount /dev/${PDEV1} /initrd/mnt/dev_ro2
MNTPT=/initrd/mnt/dev_ro2
fi
if ! grep 'pfix=ram' /proc/cmdline > /dev/null; then
 if [ -d ${MNTPT}${PSUBDIR}/userfs ]; then
mount -o remount,add:0:${MNTPT}${PSUBDIR}/userfs/ /
 elif [ -f ${MNTPT}${PSUBDIR}/userfs.sfs ]; then
busybox mount -o loop ${MNTPT}${PSUBDIR}/userfs.sfs /initrd/pup_ro3
mount -o remount,add:1:/initrd/pup_ro3/ /
echo "PRECHOICE='no'" >> /etc/rc.d/PUPSTATE
 elif [ -f ${MNTPT}/${SFSDIR}/userfs.sfs ]; then
busybox mount -o loop ${MNTPT}/${SFSDIR}/userfs.sfs /initrd/pup_ro3
mount -o remount,add:1:/initrd/pup_ro3/ /
echo "PRECHOICE='no'" >> /etc/rc.d/PUPSTATE
 fi
fi
if ! grep 'no_soft' /proc/cmdline > /dev/null; then
ls -1 ${MNTPT}${PSUBDIR}/*.pfs ${MNTPT}/${SFSDIR}/*.[ps]fs 2>/dev/null |
while read SOFT
do
MNTDIR=$(basename $SOFT .pfs)
[ "$(grep $MNTDIR /etc/mtab)" = "" ] || continue
mkdir -p /mnt/.$MNTDIR
busybox mount -o loop "$SOFT" /mnt/.$MNTDIR
 if [ "${MNTDIR:0:2}" = Up ]; then
mount -o remount,add:1:/mnt/.$MNTDIR/ /
 else
mount -o remount,append:/mnt/.$MNTDIR/ /
 fi
done
fi
#end load_soft
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33974
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Автозагрузка модулей при старте системы
« Ответ #22 : 26 Ноябрь 2012, 20:13:13 »
Чтобы полностью соответствовало http://forum.puppyrus.org/index.php/topic,13104.msg70035.html#msg70035
надо вместо  SFSDIR=programm - packages
и
Код
# if [ "${MNTDIR:0:2}" = Up ]; then
if [ "`echo ${MNTDIR} |egrep '^[[:lower:]]'`" = "" ] ;then

и еще после
Код
MNTDIR=$(basename $SOFT .pfs)
добавить:
Код
MNTDIR=$(basename $MNTDIR .sfs)

Код
if ! grep 'no_soft' /proc/cmdline > /dev/null; then
Раньше был аналогичный параметр nousoft - надо ли здесь менять? И лучше nousoft=1. Вдруг в параметрах будет типа blablanousoftblabla

/mnt/home не создается
внес изменения -см. аттач. Проверил -ОК

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:Автозагрузка модулей при старте системы
« Ответ #23 : 26 Ноябрь 2012, 20:45:05 »
/mnt/home не создается
См.  grep PUP_HOME /etc/rc.d/PUPSTATE
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33974
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Автозагрузка модулей при старте системы
« Ответ #24 : 27 Ноябрь 2012, 09:12:03 »
Все проблемы описанные в моем предыдущем посте (в том числе и home) решены в приаттаченном файле. Посмотрите опытным глазом - может что-то можно лучше-проще.

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
Re:Автозагрузка модулей при старте системы
« Ответ #25 : 27 Ноябрь 2012, 11:36:45 »
sfs, посмотрел бегло Ваш файл, но лучше выложите код на странице (так удобнее читать, без старых закоментированных кусков).
На первый взгляд не увидел записи в лог /tmp/permanent_pfs_load.log (этот файл читают некоторые скрипты PFS).

Если мнения разделились - лучше оставить все возможности. Тогда все останутся довольны
Оставить все возможности - согласен. Вопрос в том, как именно их лучше реализовать.
Идея с регистром не удачная ИМХО. От названия модуля не должно ничего зависеть. Такое поведение будет неожиданно для пользователей.

Загрузка PFS выше базы должна быть стандартом.
Пример: если пользователь делает клик по file.pfs - тот по умолчанию подключится выше базы. А если пользователь положит тот же file.pfs в packages - эффект может быть совершенно другим.

Для подключения PFS ниже - можно использовать либо фиксированный префикс, либо отдельный каталог (pfsdirlow=?).
Но в любом случае подключение PFS ниже базы - это дополнительная возможность, которая должна работать только если пользователю это явно нужно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:Автозагрузка модулей при старте системы
« Ответ #26 : 27 Ноябрь 2012, 11:49:32 »
Загрузка PFS выше базы должна быть стандартом.
Вот этого не надо категорически.
Идея с регистром не удачная ИМХО.
Не регистр, а префикс Up-.
либо отдельный каталог (pfsdirlow=?).
Опять плодите сущности без необходимости.
эффект может быть
Эффектов быть не должно, должно молча работать.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33974
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Автозагрузка модулей при старте системы
« Ответ #27 : 27 Ноябрь 2012, 11:56:19 »
/tmp/permanent_pfs_load.log : В секции, которую я написал ###sfs( ... ###sfs) использован pfsload - наверное там с этим хорошо. Дядя Шурик использовал свой метод - там , наверное и проблема. Можно (и правильнее переделать на pfslosd)
Я так понял все-таки с ТЗ не все согласны. Давайте тогда сначала с ним окончательно решим...

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:Автозагрузка модулей при старте системы
« Ответ #28 : 27 Ноябрь 2012, 12:03:54 »
Дядя Шурик использовал свой метод - там , наверное и проблема.
Метод подключения модулей один и у меня, и у вас, и у Шинобара (создать каталог монтирования - смонтировать модуль через loop - смонтировать каталог в корень). Количество строк кода разное, от 11 до двух тысяч. Кстати, у меня проблем нет.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33974
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Автозагрузка модулей при старте системы
« Ответ #29 : 27 Ноябрь 2012, 12:41:02 »
Я не говорил, что Ваш код плохой,  не трогал его (без необходимости) и он работает (проверил). Все сказанное - исключительно к /tmp/permanent_pfs_load.log который , видимо, потянет проблемы с отключалками и т.п. Проверил - unloader_pfs - без permanent_pfs_load.log не работает
А чем хуже будет использовать в rc.sysinit pfsload?

Почему подключение выше должно быть стандартом так и не понял
« Последнее редактирование: 27 Ноябрь 2012, 12:54:34 от sfs »