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

Автор Тема: О направлении разработки PuppyRus  (Прочитано 38208 раз)

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:О направлении разработки PuppyRus
« Ответ #45 : 14 Октябрь 2012, 19:35:25 »
 Предлагаемая редакция rc.sysinit (строки 105-142)
Код
#load_soft Version 06, GPL, DdShurick
PSUBDIR=$(dirname $(echo $PUPSFS | cut -f3 -d ','))
["$PSUBDIR"="/"] && PSUBDIR=""
if [ $sfsdir ]; then
SFSDIR=$sfsdir
else
SFSDIR=Program_pfs
fi
if [ "$SAVE_LAYER" = "" ]; then
PUP_HOME=/mnt/dev_ro2
MNTPT=/initrd/mnt/dev_ro2
else
MNTPT=/initrd/mnt/dev_save
fi
if ! grep nousoft /proc/cmdline > /dev/null; then
 if [ -f ${MNTPT}${PSUBDIR}/save.sfs ]; then
mount -o loop ${MNTPT}${PSUBDIR}/save.sfs /initrd/pup_ro3
mount -o remount,add:1:/initrd/pup_ro3/ /
echo "PRECHOICE='no'" >> /etc/rc.d/PUPSTATE
 elif [ -f ${MNTPT}/${SFSDIR}/save.sfs ]; then
mount -o loop ${MNTPT}/${SFSDIR}/save.sfs /initrd/pup_ro3
mount -o remount,add:1:/initrd/pup_ro3/ /
echo "PRECHOICE='no'" >> /etc/rc.d/PUPSTATE
 fi
ls -1 ${MNTPT}${PSUBDIR}/*.pfs ${MNTPT}/${SFSDIR}/*.pfs 2>/dev/null |
while read SOFT
do
MNTPT=$(basename $SOFT .pfs)
mkdir -p /mnt/.$MNTPT
mount -o loop "$SOFT" /mnt/.$MNTPT
 if [ "${MNTPT:0:1}" = U ]; then
mount -o remount,add:1:/mnt/.$MNTPT/ /
 else
mount -o remount,append:/mnt/.$MNTPT/ /
 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

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
Re:О направлении разработки PuppyRus
« Ответ #46 : 14 Октябрь 2012, 19:56:07 »
Читаю последние сообщения в этой теме, и вижу что мыслим мы все, по сути, в одном направлении, а все споры возникают потому что не совсем понимаем друг друга.

Про сборочную среду согласен. Собственно вопрос уже и не актуален .pfs сборочная среда не нужна).


Монтирование модулей с копированием в память считаете не актуальным?
Думаю что функция полезная, но только для тех, кто понимает зачем это надо.
Если модуль большой - время загрузки заметно увеличится, и свободной памяти останется меньше. А большие программы обычно и памяти больше хотят.
Это про горячее монтирование. А вот для постоянных модулей - ИМХО, очень нужная функция.


Добавить $sfsdir в menu.lst, будет просто и гибко.
Поддерживаю, ИМХО - самый правильный подход.

Код для rc.sysinit завтра попробую (сегодня уже нет времени...).

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
Re:О направлении разработки PuppyRus
« Ответ #47 : 15 Октябрь 2012, 09:18:17 »
Код для rc.sysinit c дополнениями:
Код
###
basepfs="`basename "$(echo ${PUPSFS} | cut -d ',' -f3)"`"
ln -s "/initrd/pup_ro2" "/mnt/.${basepfs}"
echo "${basepfs}" >/tmp/permanent_pfs_load.log
###

#load_soft Version 06, GPL, DdShurick
#modify 15.10.2012, Zay
PSUBDIR="$(dirname $(echo $PUPSFS | cut -f3 -d ','))"
[ "$PSUBDIR" = "/" ] && PSUBDIR=""
if [ "$sfsdir" ]; then
SFSDIR="$sfsdir"
else
SFSDIR=packages
fi
if [ "$SAVE_LAYER" = "" ]; then
PUP_HOME=/mnt/dev_ro2
MNTPT=/initrd/mnt/dev_ro2
else
MNTPT=/initrd/mnt/dev_save
fi
if ! grep nousoft /proc/cmdline > /dev/null; then
 if [ -f "${MNTPT}${PSUBDIR}/save.sfs" ]; then
mount -o loop "${MNTPT}${PSUBDIR}/save.sfs" /initrd/pup_ro3
mount -o remount,add:1:/initrd/pup_ro3/ /
echo "PRECHOICE='no'" >> /etc/rc.d/PUPSTATE
 elif [ -f "${MNTPT}/${SFSDIR}/save.sfs" ]; then
mount -o loop "${MNTPT}/${SFSDIR}/save.sfs" /initrd/pup_ro3
mount -o remount,add:1:/initrd/pup_ro3/ /
echo "PRECHOICE='no'" >> /etc/rc.d/PUPSTATE
 fi
ls -1 "${MNTPT}${PSUBDIR}"/*.pfs "${MNTPT}/${SFSDIR}"/*.pfs 2>/dev/null | sort -r | while read SOFT
do
MNTPT="$(basename $SOFT)"
 if [ ! -d "/mnt/.$MNTPT" ]; then
mkdir -p "/mnt/.$MNTPT"
mount -o loop "$SOFT" "/mnt/.$MNTPT"
mount -o remount,add:1:"/mnt/.$MNTPT/" /
[ $? -eq 0 ] && echo "$MNTPT" >>/tmp/permanent_pfs_load.log
 fi
done
fi
#end load_soft

Для обкатки работы с .pfs думаю можно использовать.

А в будущем наверное лучше будет перенести загрузку .pfs в initrd (чтобы можно было, при необходимости, копировать все модули в память и размонтировать раздел).

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:О направлении разработки PuppyRus
« Ответ #48 : 15 Октябрь 2012, 09:40:00 »
SFSDIR=packages
?
Моё название (Program_pfs) вроде бы понятнее
basepfs
Системные sfs вы тоже собираетесь маркировать как .pfs? Я против.
Моноблок 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

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:О направлении разработки PuppyRus
« Ответ #49 : 15 Октябрь 2012, 09:51:00 »
zay, а что у вас за
Код
if ! grep nousoft /proc/cmdline > /dev/null; then
в вашей концепции нет usoft

Цитата
Системные sfs вы тоже собираетесь маркировать как .pfs? Я против.
увы если собирать все из pfs пакетов то и результат будет pfs. Если собирать все из gaff - результат будет sfs. Т.к. Gaff не нужон, остается pfs.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
Re:О направлении разработки PuppyRus
« Ответ #50 : 15 Октябрь 2012, 10:25:10 »
в вашей концепции нет usoft
Осталось от оригинала Дяди Шурика, не успел переделать просто.
Это же не окончательная версия, наверняка ещё многое придётся доработать.


Моё название (Program_pfs) вроде бы понятнее
Разный регистр, ИМХО - путаницы только добавляет. Поэтому и поменял.
Вообще это только альфа-версия кода, вопрос о лучшем названии каталога остаётся открытым.

Системные sfs вы тоже собираетесь маркировать как .pfs? Я против.
В предложенной мной концепции системных SFS вообще не должно быть (если получится реализовать, конечно).
Система должна состоять из постоянно подключённых пакетов, временно подключённых пакетов и содержимого save-файла (внутри save могут быть установленные пакеты).
В установленной с нуля системе не должно быть установленных пакетов, а только постоянно подключённые.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:О направлении разработки PuppyRus
« Ответ #51 : 15 Октябрь 2012, 11:55:16 »
zay, а что у вас за
Код
if ! grep nousoft /proc/cmdline > /dev/null; then 
в вашей концепции нет usoft
Саша, это моя строка.
увы если собирать все из pfs пакетов то и результат будет pfs.
А переименовать?
Моноблок 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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:О направлении разработки PuppyRus
« Ответ #52 : 15 Октябрь 2012, 12:03:21 »
Система должна состоять из постоянно подключённых пакетов
Да, это системные .sfs
временно подключённых пакетов
Да, это программные .psf
и содержимого save-файла (внутри save могут быть установленные пакеты).
Да, это pup_save[234s]fs
В установленной с нуля системе не должно быть установленных пакетов, а только постоянно подключённые.
Да.
 По моему больших противоречий у нас не возникает, а если главный sfs будет содержать спецификацию pfs, то это очень даже хорошо.
 Саша, тебе решать.
Моноблок 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

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:О направлении разработки PuppyRus
« Ответ #53 : 15 Октябрь 2012, 12:40:04 »
Саша, это моя строка.
я в курсе, но параметр с таким названием в данном контексте не применим.

Да, это системные .sfs
увы системные тоже pfs. Переименовать не вариант, ибо тогда не аргумент  различная гибкость в задании названия каталогов. можно подумать мне переименовывать не лень. И последнее - я точно знаю что nik захочет добавить в базовый пакет еще программы, чтобы можно было отключить флешку после загрузки системы и загрузить еще несколько компов.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:О направлении разработки PuppyRus
« Ответ #54 : 15 Октябрь 2012, 14:07:41 »
но параметр с таким названием в данном контексте не применим.
cleanboot?
Переименовать не вариант, ибо тогда не аргумент  различная гибкость в задании названия каталогов.
Вот это не понял
Моноблок 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

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:О направлении разработки PuppyRus
« Ответ #55 : 15 Октябрь 2012, 14:24:42 »
Вот это не понял
пользователю лень переименовать sfs чтобы он стал usoft.sfs, а мне также лень каждый раз переименовывать pfs в sfs :(
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Zay

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
    • PuppyRus-A
Re:О направлении разработки PuppyRus
« Ответ #57 : 16 Октябрь 2012, 15:25:25 »
nik захочет добавить в базовый пакет еще программы, чтобы можно было отключить флешку после загрузки системы и загрузить еще несколько компов.
Вот здесь и пригодится монтирование с копированием модулей в память

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
Re:О направлении разработки PuppyRus
« Ответ #58 : 16 Октябрь 2012, 15:57:01 »
Вот здесь и пригодится монтирование с копированием модулей в память
Возможность копирования модулей в RAM при загрузке необходима (но это, наверное, лучше делать в init).
Что касается копирования в RAM уже в процессе работы системы - то это не так важно, но кому-то, я думаю, тоже пригодится.

Оффлайн Pro

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