По поводу набора программ - советовать сложно, многое зависит от предпочтений пользователя и ориентированности использования, главное, что-бы можно было легко добавить/удалить через каталог SFS. Но изменение размера .iso со 130-150 мБ до 500-600 психологически дастся нелегко :).
Теперь по поводу мелких недостатков: Меню приложений-интернет- Электронная почта и новости. Битая ссылка от симанки.
Меню приложений-система- Sys-info не запускается, а Lighthouse пытается запуститься но ничего не выводит.
В /root/.xinitrc строки CURRENTWM="`cat /etc/windowmanager`"
if [ "$CURRENTWM" = "startkde" ];then
exec startkde
fi
присутствуют во всех Puppy на этом сайте от Ivanna до Lego prealfa. Это "тайный массонский знак" ;) или они действительно нужны в системе?
Сравни опции монтирования mount | grep sda2
mount | grep sda3
У меня сделано так же, только вставлена секция версии 04 от Ричи. Чуть чуть подправил-строка помечена. Может что напортачил?
По идее тоже должна работать, и работает-но единственное не подхватывает Usoft сразу при загрузке системы - обязательно нужен файл сохранения.
Как обойти? Или хотя бы какие конкретно строки отвечают за этот "подхват"
#load_soft Version 04, GPL, DdShurick
PSUBDIR=$(dirname $(echo $PUPSFS | cut -f3 -d ','))
["$PSUBDIR"="/"] && PSUBDIR=""
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
[ -f ${MNTPT}${PSUBDIR}/Usoft-save.sfs -o -f ${MNTPT}/SFS/Usoft-save.sfs ] && echo "PRECHOICE='no'" >> /etc/rc.d/PUPSTATE
ls -1 ${MNTPT}${PSUBDIR}/[Uu]soft-*.sfs ${MNTPT}/$SFSDIR/[Uu]soft-*.sfs 2>/dev/null | #andy-voit изменил строку.
while read USOFT
do
MNTPT=$(basename $USOFT .sfs)
mkdir -p /mnt/.$MNTPT
mount -o loop "$USOFT" /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
Как это правильно сделать?
Проверить точки монтирования, указанные в скрипте можно так: mount | grep initrd/mnt/dev
Точек монтирования никаких после чистого запуска нет.
Это должно помочь MNTPT=$(mount | grep '/initrd/mnt/dev'| cut -f3 -d' ') #определяем точку монтирования
[ $PDEV1 ] || PDEV1=$(echo $PUPSFS | cut -f1 -d ',') #если отсутствует $PDEV1, вытаскиваем его из $PUPSFS
if [ "$MNTPT" = "" ]; then #если раздел не смонтирован, монтируем раздел
mount /dev/${PDEV1} /initrd/mnt/dev_ro2
MNTPT=/initrd/mnt/dev_ro2
fi
Попробовал puppyrus528install из beta2 - все плохо. Это последняя версия? Подробности нужны?
Ошибка у меня в строке 63 упомянутого файла. (/usr/bin/puppyrus528install).В конце после слова SFS должен стоять слеш
cp /mnt/cdrom/SFS/{*.sfs,*.SFS} ${PMNTPT}${INPSUBDIR}/SFS/
Опробуем ваш вариант. Может, оно так даже лучше.
P.S: Думаю, лучше все таки в таком виде
ls -1 ${MNTPT}${PSUBDIR}/[Uu]soft-*.sfs ${MNTPT}/$SFSDIR/*.sfs 2>/dev/null | #avdy-voit изменил строку.
В таком виде подхватывает модули с префиксом возле базы. Это дает возможность кидать туда патчи, не перемешивая их с программами в каталоге SFS. В то же время модули без префикса подхватываться не будут, что создает возможность фильтрации.
В процессе подгонки системы " под себя", выяснилось, что при монтировании через Pmount разделы не открывает "автоматом" т.к в pmount в трех строчках прописан rox. И, дополнительно, исправьте, пожалуйста в /usr/share/locale/ru/LC_MESSAGES/pmount.mo строку 24 на "Pmount: ОШИБКА: невозможно смонтировать \$DEVNAME"
а то в предыдущем виде, с двумя парам кавычек, при монтировании дисков в xerrs.log выдает ошибку: /usr/share/locale/ru/LC_MESSAGES/pmount.mo: line 24: ОШИБКА: невозможно смонтировать : command not found
Не - "фишка" в оформлении, напоминающем старый добрый ХР ......Курсор мне нравится в таком виде - отражает мои консервативные свойства духа.
Я сам в стилях Диспетчера окон использую XP-ish. И действительно в общем, по виду, почти Win_XP (а у меня еще и внизу панель голубая :) ) По курсору - Автор в своей Сборке - Бог, только Вам решать.
Теперь просьбы: может в настройках Внеший вид- шрифты сразу включить сглаживание и "хинтинг" - средний . Лично мое мнение, так шрифты выглядят читаемей и симпатичней.
Если посчитаете нужным, почистьте, пожалуйста load_sfs и unload_sfs : вот выдержки из xerrs.log :
mount: warning: /mnt/.k3b-1.0.5-ru_528 seems to be mounted read-only.
/usr/sbin/load_sfs_nomenu: line 162: icewm: command not found
/usr/sbin/unload_sfs_nomenu: line 57: icewm: command not found
mv: невозможно выполнить stat для `/root/.icewm/menu': No such file or directory
/usr/sbin/unload_sfs_nomenu: line 99: /root/.icewm/menu: No such file or directory
Там еще при подключении ругается на отсутствие одного из скриптов
но с этим пока не разбирался, нет свободного времени.
P.S. отдельное спасибо за возможность редактировать initrd.lz встроенными средствами.
unicode_start2 это из моего пакета, который я устанавливаю во все свои сборки. Он нужен только для того, чтобы переключать раскладку клавиатуры без X. Я его переделал из unicode_start, который загружал кроме этого ещё и русский шрифт. Но в современных версиях русский шрифт загружается по-умолчанию, а переключение раскладки я сделал отдельным пакетом. unicode_start2 нужен только для переключения раскладки в консоли для Precise. Не знаю, насколько он нужен в Ivanna, где есть unicode_start, которого в Precise нет.
Участок кода /usr/sbin/xwin с комментарием Барри, который он редактировал после меня:
load_consolefont #120301 seems have to do this on exit from X. (new script)
#unicode_start #i18n rodin.s for unicode start after exit from X. ??????what is this??????
Система продолжает развиваться, совершенствоваться - огромное спасибо Андрею за это. Исправляется часть старых ошибок , вылазят новые :) . Так из bootsysinit.log:
/etc/rc.d/rc.update: line 178: /initrd/pup_ro2/etc/DISTRO_SPECS: No such file or directory
При ручном отключении/повторном подключении .sfs в xerrs.log появляется
Загрузка thunderbird-11.0_528...
mount: warning: /mnt/.thunderbird-11.0_528 seems to be mounted read-only.
/usr/sbin/load_sfs_nomenu: line 190: /usr/local/sfs_event/sfs_scripts/sfs_reload-thunderbird-11.0_528.sfs: No such file or directory
EXIT="exit"
xfce4-panel: Перезапуск...
libpager-Message: Setting the pager rows returned false. Maybe the setting is not applied.
EXIT="Exit on timeout"
/usr/sbin/unload_sfs_nomenu: line 57: icewm: command not found
xfce4-panel: Перезапуск...
mv: невозможно выполнить stat для `/root/.icewm/menu': No such file or directory
EXIT="exit"
На терминал еще ругается:
Can't locate urxvt.pm in @INC (@INC contains: /usr/lib/urxvt /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
urxvt: unable to initialize perl-interpreter, continuing without.
а так, по мелочи, и всё.
Возвращаясь к моей проблеме "тормозов" компьютера при первом за сеанс подключении .sfs либо подключении флешки. В RC2 полная загрузка процессора длится еще дольше! Т.к из htop и top невозможно понять каким процессом "грузится" система - на мониторе все отрисовывается рывками - "слепил" скрипт , который с интервалом в 0.5 сек скидывает данные top в файлы. Это помогло увидеть, что при подключении флешки проверяются все 63loop и еще какие-то "/sbin/modprobe -q -- block_major_* " ??? Может на машинах с быстрой памятью и быстрыми процессорами это проходит быстро, но у меня - нет . Поставил русифицированную Puppy_precise_5.4.2 - в ней таких тормозов не наблюдается, но и loop всего 10 и нет столько pup_ro с подключенными .sfs.
В ходе длительных экспериментов выяснилось, что, если заменить /sbin/blkid являющийся ссылкой на busybox на /sbin/blkid , приложение, из IvannaSE_2 3110, тормоза при первом подключении флешки или .sfs пропадают, в то-же время функция определения uuid работает# blkid /dev/sdc1
/dev/sdc1: UUID="6b4a4b32-d3bc-4aa6-aa87-930e6215a2bb" SEC_TYPE="ext2" TYPE="ext3"
З.Ы. Я вовсе не призываю автора сборки менять эти файлы в ориг. IvannaXP - возможно у меня не типичный , частный, случай, просто делюсь опытом, может кому пригодится и это решение.
Pmount работает как-то непонятно . Разделы монтирует, но в Thunar не открывает. При размонтировании- сначала открывает в thunar, а потом сразу отмонтирует. Предлагаю для четкого открытия в ФМ при монтировании строку 518 привести к виду:
exec thunar /mnt/$DEVNAME #want this window on top.
А что-бы при размонтировании не запускать ФМ, закомментировать строку 533.
Попробовал сделать "ремастер" используя подключенный .iso образ - действительно иксы упали, выкинуло в консоль.
Сильно подозреваю, что это из за того, что файл DISTRO_SPEC перемещен из /etc в доп модуль zdrv. Из за этого он проявляется не в /initrd/pup_ro2, как прописано в rc.update, а в /initrd/pup_z Вот попытался почеркать rc.update, заодно закомментировал строки в которых прописаны пути, отсутствующие в IvannaXP ( содержащие PupppyPIn, Rox-filer, jwm и тому подобные) Предлагаю протестировать
Заменил rc.update. Теперь не зависает хотя бы. :) Просто в консоль выкидывает.
IvannaXP Linux
Linux 3.2.29 [i686 arch]
puppypc8223 login: root (automatic login)
xwin преспокойно возвращает систему к жизни. Только сообщает, что в прошлый раз система плохо завершила работу.
В логах никаких ошибок не нашёл. Или стирает, или не там ищу.
Ах да, кстати. В главном меню присутствует PCurlFtp, который является командой "rox -d /root/FileSharing". Соответственно, не работает.
Мне кажется, что при наличии xfce стандартно эту ссылку лучше заменить на "tunar /root/FileSharing"
А вы во всех строках скрипта заменяли на initrd.[lg]z ? Я через поиск заменял в 5 строках, и в build соответственно было initrd.[lg]z .
Почитал внимательнее скрипт, вроде 816 строка создает
find . | cpio -o -H newc | gzip -9 > $WKGMNTPT/puppylivecdbuild/initrd.[lg]z
Мне кажется, их было 9. Я менял в Geany через Заменить - в документе. Создается норм. в каталоге puppylivecdbuil. До создания конечного iso не доводил.
но возможность использования .pfs вполне реальна.
Я сам предлагал модуль для ограниченной поддержки .pfs по аналогии с .deb или .rpm .
Строки с jwm и тому подобные лучше все же не комментировать
Естественно, решать только Вам.
Состав исходной тестовой системыSFS
initrd.lz
ixp_003.sfs
vmlinuz
ixpsave.3fs
zdrv_ixp3.sfs
Usoft-XFCE-4.10+util_ixp.sfs
Usoft-gvfs-1.13.1-ixp.sfs
Usoft-util_pfs_ixp.sfs
Состав каталога SFS midori.sfs
transmission-2.51.sfs
usoft-fbreader-0.12.10.sfs
содержимое полученного puppylivecdbuild: grldr
initrd.lz
ixp_003.sfs
menu.lst
vmlinuz
zdrv_ixp3.sfs
В новой тестовой системе толькоinitrd.lz ixp_003.sfs vmlinuz zdrv_ixp3.sfs
и система запускается и работает. Также запускаются и работают теперь уже "встроенные" мидори, трансмишен , и фб-ридер. Естественно размер основного ixp_003.sfs значительно увеличился, о чем честно предупреждает всплывающее сообщение "мастера.." А если кто захочет обновить версию XFCE то можно воспользоваться стандартным способом - разместить рядом с ixp_003.sfs модуль Usoft-XFCE-4.***_ixp.sfs
Уже сегодня пришла мысль, и опробовал ее практически : в скрипте после строки mkdir $WKGMNTPT/puppylivecdbuild
вставить mkdir $WKGMNTPT/puppylivecdbuild/SFS # Для IvannaXP
для автоматического создания пустого каталога SFS - в поддержание общей структуры IvannaXP :)
Из самого поверхностного: в ixp_004.sfs потерялся каталог /usr/share/xcowsay , поэтому при работе с .sfs не выводится финального сообщения об подключении/отключении .sfs. Так-же не работает пункт "Проверить SFS-модуль" из диалога sfs_event для отключенного модуля. В ошибках пишет:/usr/local/sfs_event/sfs_checker: line 3: exec: wish: not found
Ручным поиском по системе я так-же файла wish не нашел. Еще обратил внимание ,что если .sfs есть в списке в Меню приложений-Модули SFS а .sfs подключать/отключать щелчком непосредственно по файлу, то изменения индикации состояния не происходит. Чтобы это работало я ,для себя, в предыдущей версии IvannaXP немного доработал окончания load_sfs и unload_sfs, посмотрите, может пойдет для всех.
Опять велезла старая ошибка при монтировании/usr/share/locale/ru/LC_MESSAGES/pmount.mo: line 24: ОШИБКА: невозможно смонтировать : command not found
/usr/share/locale/ru_RU/LC_MESSAGES/pmount.mo: line 24: ОШИБКА: невозможно смонтировать : command not found
З.Ы. Частичную поддержку .pfs не будете добавлять ?
В предыдущем ixp_003.sfs wish это ссылка на wish8.5 в /usr/bin
Могу предложить свой вариант "костыля" для установщика с CD. При загрузке с CD для Ivanna_XP диск в приводе остается постоянно смонтированным, даже если выбран режим загрузки в RAM. На моей машине /dev/sr0 смонтирован постоянно на /initrd/mnt/dev_ro2. Я не копал в init ,как это прописано, но если это справедливо для любой машины, или хотя-бы для вашей, попробовать :D ,то в puppyrus528install в 61 строке исправляем 8660 на 9660 и далее меняем if [ "PDEV1FS" = "iso9660" ]; then #Если запуск PuppyRus с CD
#mount -t $DEV1FS /dev/$PDEV1 /mnt/cdrom
cp /initrd/mnt/dev_ro2/SFS/{*.sfs,*.SFS} ${PMNTPT}${INPSUBDIR}/SFS/
cp /initrd/mnt/dev_ro2/{vmlinuz,initrd.lz,$PUPSFSNAME,zdrv_ixp4.sfs,Usoft-*.sfs,usoft-*.sfs} ${PMNTPT}${INPSUBDIR}/
извиняюсь, но полностью исправленный puppyrus528install не проверял т.к. совершенно нет времени перепаковывать zdrv (чуть моск не поплыл, пока нашел где реально лежит инсталлятор), пересоздавать .iso и записывать его на болванку -RW - завтра вставать на работу в четыре утра :(
Спойлер, к сожалению, не умею делать.
Здесь спойлер не нужен, Просто в т. редакторе копируете текст, потом на странице ответа, в ряду значков , над смайликами, щелкаете " # " - код , и вставляете скопированное. Так- же можно приводить и строки из логов, скриптов и пр. А под спойлер это уже спрячет админ :)
У вас каталог IvannaXP-RC3 указан два раза - наверное просто осталось от экспериментов ? В одном каталоге должны быть все файлы только одной системы.
в строке загрузки у вас не указан параметр sfsdir=SFS Вы не загружаете доп. программы из этого каталога?
При попытке загрузить RC-3 либо RC-4 появляются хотя-бы начальные строки - загрузка драйверов.. , поиск файлов.. или нет даже этого?
Мои строки при установке на sda8 kernel /Ivanna_XP/vmlinuz pmedia=atahd pdev1=sda8 psubdir=Ivanna_XP sfsdir=SFS
initrd /Ivanna_XP/initrd.lz
IvannaXP RC4. Обшие замечания:
1. в Меню приложений ->Прочее -> есть пункты "Универсальный установщик" и "BootFlash Установка Puppy на USB" По-видимому это оригинальные пункты от Puppy-Presice. Нужны - ли они в Ivanna?
2. Нет иконки в пункте запуска " uGet Загрузчик файлов и торрентов"
Более серьезное - без Usoft-pfs-utils-XFCE-0.3.0-ixp.sfs отображение отключения/подключения .sfs работает хорошо ( Меню приложений ->SFS ->) . При загрузке с Usoft-pfs-utils-XFCE-0.3.0-ixp.sfs перестает отображаться в Меню приложений ->SFS подключение и для .sfs и для .pfs . в xerrs.log ошибок нет:xfce4-panel: Перезапуск...
libpager-Message: Setting the pager rows returned false. Maybe the setting is not applied.
/usr/sbin/load_sfs: line 97: 14488 Terminated gtkdialog3 --program=MNT_DIALOG --center
xfce4-panel: Перезапуск...
libpager-Message: Setting the pager rows returned false. Maybe the setting is not applied.
/usr/sbin/load_sfs: line 97: 15349 Terminated gtkdialog3 --program=MNT_DIALOG --center
Скрипты подключения пока не читал, конкретней подсказать не могу :(
Интересный момент.. Из того что я знаю о монтировании слоев(цитирую дядю Шурика)
Факт установленный. В init за очерёдность слоёв отвечает строка
Код:
mount -t aufs -o udba=reval,diropq=w,dirs=${UMNTMAIN}${ZLAYER}${UMNTRO} unionfs /pup_new
Например
UMNTMAIN="/pup_rw=rw:/pup_ro1=ro:/pup_ro2=ro"
ZLAYER=''
UMNTRO=":/pup_ro4=ro"
Смонтировано; 1) /pup_rw - сохранёнка, 2) /pup_ro1 - WM, 3) /pup_ro2 - база, 4) /pup_ro4 - доп. модуль, то в таком порядке слои и будут.
Теперь смотрим, что же мы имеем в init. А имеем следующее:
12) CREATEPUPSAVE2FS="/pup_rw";CREATEPUPXXXSFS="/pup_ro2"
OLDFILESMNTPT="/pup_rw";NEWFILESMNTPT="/pup_ro2";UMNTMAIN="/pup_rw=rw:/pup_ro2=ro";;
13) CREATETMPFS="/pup_rw";CREATEPUPSAVE2FS="/pup_ro1";CREATEPUPXXXSFS="/pup_ro2"
OLDFILESMNTPT="/pup_ro1";NEWFILESMNTPT="/pup_ro2";UMNTMAIN="/pup_rw=rw:/pup_ro1=ro+wh:/pup_ro2=ro";;
77) CREATETMPFS="/pup_rw";CREATEFOLDERS="/pup_ro1";CREATEPUPXXXSFS="/pup_ro2"
OLDFILESMNTPT="/pup_ro1";NEWFILESMNTPT="/pup_ro2";UMNTMAIN="/pup_rw=rw:/pup_ro1=ro+wh:/pup_ro2=ro";;
...и далее бла бла бла......................................................................
mount -t aufs -o udba=reval,diropq=w,dirs=${UMNTMAIN}${NEWLAYERS}${MAINFS}${ZLAYER}${UMNTRO} unionfs /pup_new
То есть приоритет всегда имеет pup_rw - но почему то в PUPMODE=12 это файл сохраненки, а в PUPMODE=12 или 77-это tmpfs... Почему так устроено - тайна великая для меня сия есть.
Хотя признаюсь честно - инит файл для меня полная абракадабра
А ошибка происходит вероятно из-за этого - /pup_ro1 - WM
Если бы.. В Ivanna параметр WM не используется. - /pup_ro1 - WM - здесь просто фраза из вашей цитаты, как пример..
Короче - PUPMODE=13 видимо надо менять в init по образцу PUPMODE=12. Не знаю, чем это чревато, но у меня только так получилось загрузить сохраненку с флешки в верхний слой без ущерба для функционала Ivanna :(. Что то в роде этого:
13) CREATEPUPSAVE2FS="/pup_rw";CREATETMPFS="/pup_ro1";CREATEPUPXXXSFS="/pup_ro2"
OLDFILESMNTPT="/pup_ro1";NEWFILESMNTPT="/pup_ro2";UMNTMAIN="/pup_rw=rw:/pup_ro1=ro+wh:/pup_ro2=ro";;
Или искать иные способы.
Попробовал посмотреть фильм SMPleer-ом. Не получилось. Ругается:/usr/bin/mplayer -noquiet -nofs -nomouseinput -sub-fuzziness 1 -identify -slave -vo xv, -nokeepaspect -framedrop -nodr -double -input conf=/usr/share/smplayer/input.conf -stop-xscreensaver -wid 35651618 -monitorpixelaspect 1 -ass -embeddedfonts -ass-line-spacing 0 -ass-font-scale 1 -ass-styles /root/.config/smplayer/styles.ass -fontconfig -font Arial -subfont-autoscale 0 -subfont-osd-scale 20 -subfont-text-scale 20 -subcp ISO-8859-1 -subpos 100 -nocache -osdlevel 0 -noslices -channels 2 -af equalizer=0:0:0:0:0:0:0:0:0:0 -softvol -softvol-max 110 /mnt/sda5/Films/*******2011/12 seria.avi
Настройки пока не менял , но в Настройках->Видео->Устройство вывода указано какое-то "xv," . Куда "покопать" , а то и vlc-1.1.7.sfs, прекрасно работающий в IvannaSE_2_3110 , здесь воспроизводит видео в частую вертикальную зеленую полоску? usoft-ffmpeg-0.10.3-i486.sfs подключен.
1. При щелчке в трее на значек сети информация о сети появляется очень долго, около минуты, а для сравнения в PuppyRus-13.0x в течение 2-3 секунд.
Сравнил содержание файлов /usr/sbin/ipinfo из IvannaXP и PuppyRus-13.03, основное отличие в том, что в PuppyRus закомментированы строки:
# external ip
# var0="`wget -O - -q icanhazip.com`"
# var0="Внешний IP: ""$var0"
Они отвечают за определение внешнего IP, поэтому и работает скрипт почти мгновенно, а в IvanneXP на не очень мощных машинах притормаживает.
Сначала предложения, которые ИМХО помогут избежать путанницы и облегчить тестирование :
1 Т.к. новая версия основанна на precise-5.7.1 желательно завести новую тему, и возможно, если Андрей простит мою наглость ::), назвать сборку немного по другому (типа IvannaXP_2)
2 изменить номер ixp_004.sfs и zdrv, чтобы при загрузке с CD не подхватывались старые версии с винта.
Теперь первые итоги: Пошел "правильным" путем - записал образ на RW -болванку, загрузился в ретро версию, чтобы ничего не мешало выбрал загрузку в RAM.
Порадовало - в логах ошибок и загрузки особой ругани нет.
Модули из каталога SFS не подключились (наверное так и надо, ;) ведь sfsdir= не указан)
Зато оказались смонтированы оба zdrv вот вывод losetup:# losetup
/dev/loop0: 0 /mnt/tmpfs/ixp_004.sfs
/dev/loop1: 0 /initrd/mnt/dev_ro2/Usoft-XFCE-4.10-ixp.pfs
/dev/loop2: 0 /initrd/mnt/dev_ro2/Usoft-acpi_ixp.sfs
/dev/loop3: 0 /mnt/tmpfs2/zdrv_ixp4-R.sfs
/dev/loop4: 0 /initrd/mnt/dev_ro2/Usoft-libQtWxJrFf.pfs
/dev/loop5: 0 /initrd/mnt/dev_ro2/Usoft-pfs-utils-XFCE-0.3.0.6-ixp.sfs
/dev/loop6: 0 /initrd/mnt/dev_ro2/Usoft-pup-volume-monitor-0.1.10-ixp.sfs
/dev/loop7: 0 /initrd/mnt/dev_ro2/ixp_004.sfs
/dev/loop8: 0 /initrd/mnt/dev_ro2/zdrv_ixp4-R.sfs
/dev/loop9: 0 /initrd/mnt/dev_ro2/zdrv_ixp4.sfs
Мне кажется, это именно из-за пустого значения переменной sfsdir=
PUPMODE=5
PDEV1='sr0'
DEV1FS='iso9660'
PUPSFS='sr0,iso9660,/ixp_004.sfs'
PUPSAVE=''
PMEDIA='cd'
SFSDIR=''
SFSDIR_NAME=''
так отрабатывают строки подключения модулей из rc.sysinit
ls -1 ${MNTPT}${PSUBDIR}/[Uu]soft-*.[ps]fs ${MNTPT}$SFSDIR/*.[ps]fs 2>/dev/null | #avdy-voit изменил строку.
система так-же работала и раньше, просто два zdrv на CD проявили эту особенность :).
проверю установку на USB - отпишусь
Все, что пишу - по ретро версии. Прямо с CD установил IvannaXP на флешку под fat32, в каталог. Система загружается нормально , и в стандартном варианте и только в RAM. После создания сейва изменения в визуальном оформлении сохраняются ;D. Обнаружилась неприятная особенность - при PUPMODE=5 - русские буквы в именах файлов на флешке - знаки вопроса и смонтирован раздел без utf-8 при PUPMODE=13 все норрмально с именами и смонтироан с /dev/sdc1 on /initrd/mnt/dev_save type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,quiet,utf8,errors=remount-ro)
нужно смотреть, почему init так балуется :(
Читал, читал init так и не понял, почему на флешке загрузочный раздел fat32 при PUPMODE=5 вместо shortname=mixed,quiet,utf8 монтирует shortname=mixed :( В предыдущем варианте init для IvannaXP проблема решалась "в лоб"vfat)
mount -t vfat -o shortname=mixed,quiet,utf8 $MNT_DEV $MNT_DIR
сейчасvfat)
mount -t $MNT_T -o $VFAT_OUT_PARAM $MNT_DEV $MNT_DIR
хотя, ниже, VFAT_OUT_PARAM='shortname=mixed,quiet,utf8'
"codepage=cp437,iocharset=iso8859-1" в обеих случаях совпадают :o
Сегодня полтора часа бился "головой ап стену" пытаясь загрузиться с флешки с перепакованным сначала initrd-R.lz а потом и initrd.lz. Даже если просто распаковать в initrd-tree-lz, а затем без изменений запаковать в initrd.lz, то система с флешки не загружается - не находит init :( :(
А в общем, идеи были такие : в init , в 269 строке напрямую прописать shortname=mixed,quiet,utf8
а для исключения двойного монтирования, которое проявляется не только с CD, но и при установке на раздел на флешку при PUPMODE=5 pfix=RAM , хотел попробовать изменить строки 446-453 на if [ "$SFSDIR" != "" ]; then
SFSDIR="$FND_DIRS${SFSDIR}"
LIST="`find /mnt/data${SFSDIR} -maxdepth 1 -name '*.sfs'`"
for ONE_OF_LIST in $LIST
do
LISTSFSDIR="$LISTSFSDIR,`basename $ONE_OF_LIST`"
done
else
SFSDIR="no"
fi
что-бы, даже при не указанном sfsdir= значение переменной не оставалось пустым.
Проверить, к сожалению, не могу :(
Такие идиоты должны убиваться "ап стену" насмерть!!! - это я о себе >:( >:( >:( - сам же не раз советовал перепаковывать все модули(архивы) только на разделах ext2/3/4 и сам же уперся - сейчас быстренько на флешке перепакую :D - а флешка-то под fat32 :D
В общем перепаковал я initrd с новым init
от двойного монтирования вставка помогла, # losetup
/dev/loop0: 0 /mnt/tmpfs/ixp_004.sfs
/dev/loop1: 0 /initrd/mnt/dev_ro2/Usoft-XFCE-4.10-ixp.pfs
/dev/loop2: 0 /initrd/mnt/dev_ro2/Usoft-acpi_ixp.sfs
/dev/loop3: 0 /mnt/tmpfs2/zdrv_ixp4.sfs
/dev/loop4: 0 /initrd/mnt/dev_ro2/Usoft-libQtWxJrFf.pfs
/dev/loop5: 0 /initrd/mnt/dev_ro2/Usoft-pfs-utils-XFCE-0.3.0.6-ixp.sfs
/dev/loop6: 0 /initrd/mnt/dev_ro2/Usoft-pup-volume-monitor-0.1.10-ixp.sfs
а с utf-8 нет # mount
rootfs on / type rootfs (rw,relatime)
tmpfs on /initrd/pup_rw type tmpfs (rw,relatime,size=1313208k)
tmpfs on /initrd/mnt/tmpfs type tmpfs (rw,relatime,size=132664k)
/dev/loop0 on /initrd/pup_ro2 type squashfs (ro,noatime)
tmpfs on /initrd/mnt/tmpfs2 type tmpfs (rw,relatime,size=23532k)
/dev/loop3 on /initrd/pup_z type squashfs (ro,noatime)
unionfs on / type aufs (rw,relatime,si=573645c4)
none on /proc type proc (rw,relatime)
none on /dev/pts type devpts (rw,relatime,gid=2,mode=620)
none on /sys type sysfs (rw,relatime)
shmfs on /dev/shm type tmpfs (rw,relatime,size=86060k)
/dev/sdc1 on /initrd/mnt/dev_ro2 type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/loop1 on /mnt/.Usoft-XFCE-4.10-ixp.pfs type squashfs (ro,relatime)
/dev/loop2 on /mnt/.Usoft-acpi_ixp.sfs type squashfs (ro,relatime)
/dev/loop4 on /mnt/.Usoft-libQtWxJrFf.pfs type squashfs (ro,relatime)
/dev/loop5 on /mnt/.Usoft-pfs-utils-XFCE-0.3.0.6-ixp.sfs type squashfs (ro,relatime)
/dev/loop6 on /mnt/.Usoft-pup-volume-monitor-0.1.10-ixp.sfs type squashfs (ro,relatime)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
Сейчас все проверял в модерн-версии установленной на флешку, в раздел, не в каталог.
PUPMODE=5
PDEV1='sdc1'
DEV1FS='vfat'
PUPSFS='sdc1,vfat,/ixp_004.sfs'
PUPSAVE=''
PMEDIA='usbflash'
SFSDIR='no'
SFSDIR_NAME=''
Оказалось, что в отсутствии параметра utf8 при загрузке с флешки под fat32 в PUPMODE=5 виноват Дядя Шурик :D Если загружаемся с сейвом, то после завершения init раздел остается смонтированным на /initrd/mnt/dev_save, а при PUPMODE=5 в строках 1543 и 1787 отмонтируется UMOUNTME="/mnt/dev_ro2" #mark for unmounting.
[ "$UMOUNTME" != "" ] && umntfunc $UMOUNTME #101013 puppy*.sfs was copied to tmpfs so can unmount partition.
Кроме того,в конце скрипта прописано отмонтирование CD.
А для подключения модулей в rc.sysinit записаноif [ "$MNTPT" = "" ]; then #если раздел не смонтирован, монтируем раздел
mount /dev/${PDEV1} /initrd/mnt/dev_ro2
MNTPT=/initrd/mnt/dev_ro2
else
MNTPT=/initrd/mnt/dev_save
fi
- т.е монтирование без параметров "mount /dev/${PDEV1} /initrd/mnt/dev_ro2"
Выхода мне видится два
1 поубирать везде в init размонтирование загрузочного раздела (но можно не все найти),
2либо изменить rc.sysinit , добавив из init блок mntfunc с жестко прописанным для vfat -utf8 и изменить в rc.sysinit типа:#load_soft Version 04, GPL, DdShurick
MNTPT=$(mount | grep '/initrd/mnt/dev'| cut -f3 -d' ') #определяем точку монтирования
[ $PDEV1 ] || PDEV1=$(echo $PUPSFS | cut -f1 -d ',') #если отсутствует $PDEV1, вытаскиваем его из $PUPSFS
if [ "$MNTPT" = "" ]; then #если раздел не смонтирован, монтируем раздел
mntfunc $DEV1FS /dev/$PDEV1 /initrd/mnt/dev_ro2
MNTPT=/initrd/mnt/dev_ro2
fi
Иcправил rc.sysinin и перепаковал основной .sfs - на флешке, под fat32 в PUPMODE=5 появился utf8 :)
исправленный rc.sysinit здесь (http://yadi.sk/d/OCQYWBBiAFoLd)
Еще одно маленькое предложение по init: я уже не раз писал что блок монтирования доп. .sfs в init не нужен if [ "$LISTSFSDIR" != "" ];then
SFSDONE="`echo "$LISTSFSDIR" | cut -f 1 -d ','`"
SFSDTWO="`echo "$LISTSFSDIR" | cut -f 2 -d ','`"
AUFSMD="ro"
while true; do
SFSFDIR="`echo "$LISTSFSDIR" | cut -f $CNTROFS -d ','`"
[ "$SFSFDIR" = "" ] && break
LSSFS="${SFSDONE},${SFSDTWO},${SFSDIR}/${SFSFDIR}"
LTMPFS="tmp_ro${CNTROFS}"
FSLOOP="pup_ro${CNTROFS}"
loadingsfs_func ### Loading SFS...
if [ "${LOADLAYERS}" != "" ];then
UMNTRO="${UMNTRO}${LOADLAYERS}"
ROFACTOR="${ROFACTOR}${LOADFACTOR} " #v426
fi
CNTROFS=`expr $CNTROFS + 1`
[ $CNTROFS -eq 35 ] && break
done
fi
почему-то он обрабатывается только в PUPMODE=12 и мы получаем почти двойное количество занятых loop :( В Ivanna_XBMC я этот блок закомментировал и все отлично грузится из rc.sysinit. :)
Возник вопрос - в Presice 5.7.1 появилась возможность запуска браузеров не от root. В IvannaXP , планируется что-то подобное?
Вылез странный глюк с ручным отключением\подключением .sfs :( сначала все идет нормально, по щелчку ЛКМ все подключается, в Меню--Модули PFS и SFS создается зел. иконка. по щелчку по ней - стандартно можно отключить, иконка меняется на красную. Щелчок по красной иконке вызывает стандартный диалог и вроде-бы нормально подключает, но вот отключить не удастся, пишет - нет такого файла, хотя в /mnt/ ** модуль остается подключенным :(
Почитал в /usr/local/sfs_event/sfs_scripts - Скрипт непосредственно отвечающий за подключение reload-**** за отключение unl-****
При самом первом подключении в reload-k3b-1.0.5-ru_528 записано <action>load_sfs_nomenu \"/initrd/mnt/dev_ro2/sfs1/k3b-1.0.5-ru_528.sfs\"</action>
а после повторных <action>load_pfs \"/initrd/mnt/dev_ro2/sfs1/k3b-1.0.5-ru_528.sfs\"</action>
в unl-k3b-1.0.5-ru_528 при первом подключении unload_sfs_nomenu "/initrd/mnt/dev_ro2/sfs1/k3b-1.0.5-ru_528.sfs"
а после повторных unload_pfs "/initrd/mnt/dev_ro2/sfs1/k3b-1.0.5-ru_528.sfs"
в процессе монтирования .sfs в /mnt/ создается каталог просто с именем, без .sfs в конце и unload_sfs_nomenu это нормально отрабатывает, при монтировании .pfs в /mnt/ создается каталог с имя.pfs и очевидно именно такой вариант должен правильно отрабатываться unload_pfs
Почему load_sfs_nomenu \"/initrd/mnt/dev_ro2/sfs1/k3b-1.0.5-ru_528.sfs\" создает каталог без **.sfs не знаю :)
Такое наблюдаю и в PUPMPDE=5 и в PUPMODE=12
Загрузился в одну из прежних версий IvannaXP ( еще c 004) - При подключении в /mnt/ создает каталоги /.**.sfs и /.**.pfs - - все отрабатывает правильно
Сейчас провел еще ряд экспериментов - каталог с неправильным именем создает именно load_sfs_nomenu \"/initrd/mnt/dev_ro2/sfs1/k3b-1.0.5-ru_528.sfs\" если-же вручную отмонтировать модуль, то load_pfs \"/initrd/mnt/dev_ro2/sfs1/k3b-1.0.5-ru_528.sfs\" создает в/mnt/ каталог с правильным именем - с .sfs в конце
для нормальной работы пришлось вносить изменения http://yadi.sk/d/E-xHSAsOAVk59 (http://yadi.sk/d/E-xHSAsOAVk59)
Так и не получилось заставить подключать "проблемные" .sfs из /root :( Все стопорится на этапе перемонтирования mount -o remount,append:"$mount_point"=ro /
Из выявленных проблем : при размонтировании модуля щелчком ЛКМ по нем, сначала выполняется fixmenus в unload_sfs, и второй раз в sfs_remove_old - это иногда вызывает появление ошибки "не найдена lx-panel.." После закомментирования последней строки в sfs_remove_old все нормально
еще как вариант можно попробовать подключить *.sfs через openpfs, с копированием в RAM. Но у меня при PUPMODE=5 почти нет свободного ОЗУ :( # free
total used free shared buffers
Mem: 513896 502660 11236 0 21780
-/+ buffers: 480880 33016
Swap: 2112512 86692 2025820
Возможно :( Вчера " пошагово" пробовал выполнять load_sfs - [ ! -d "$mount_point" ] && mkdir "$mount_point"
каталог создается, mount -o loop "$1" "$mount_point"
модуль в него монтируется,
а перемонтировать в корень никак mount -o remount,append:"$mount_point"=ro /
причем пробовал эту строку в разных вариантах , вплоть до подкорректированной строки и rc.sysinit mount -o remount,append:/mnt/.$sfs_module/ /
То, что тогда у byciclist56 получалось еще не гарантия, сейчас некоторые ведь подключает, а некоторые нет :(
Пойду ковырять Толстого Слако - там проблемный .sfs подключился из /root, хотя механизмы, думаю, там совсем другие - даже молча удалило модуль после отмонтирования, хотя перемещать в диалоге отказался :D
Пойду ковырять Толстого Слако - там проблемный .sfs подключился из /root, хотя механизмы, думаю, там совсем другие - даже молча удалило модуль после отмонтирования, хотя перемещать в диалоге отказался :D
До Слако дело не дошло - посмотрел в Presice5.6.1 - диалоги при подключении идиентичны
В Presice ручное монтирование идет через /initrd/pup_ro* и выглядит примерно mount -r -t squashfs -o loop,noatime /root/k3b.sfs /initrd/pup_ro4
busybox mount -t aufs -o remount,append:/initrd/pup_ro4=ro unionfs /
, но в IvannaXP и такой вариант не катит :(