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

Автор Тема: Overlay для mkpfs  (Прочитано 11705 раз)

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

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 4865
  • Репутация: +126/-1
Re: Overlay для mkpfs
« Ответ #90 : 19 Январь 2022, 22:56:02 »
Вообщем, как уже писал выше, я с 12.12.21 на overlay. В uird он работает из коробки с uird.union=overlay.
В какой-то момент обнаружил, что не создаются модули привычным гуи pfs-mk, поэтому накатил утилиты из PFSOV.pfs. Осталось добавить горячее подключение, которого нет, как я понял. :)

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 4865
  • Репутация: +126/-1
Re: Overlay для mkpfs
« Ответ #91 : 19 Январь 2022, 23:00:37 »
Т е горячего подключения нет. Только так работает Overlay.
Ну а AUFS то же нормально работает.
В принципе  горячее подключение можно сделать но это только для AUFS и усложнение кода. Нужно ли это ?
Может мы по разному понимаем выражение "горячее подключение", т.к. в aufs оно и так из коробки?

Есть у меня, например, модуль DEVX-2110-sf07.pfs, где упаковано все что требуется для компиляции и т.д. Модуль большой и по умолчанию не подключен. Вот возможность подключить его в верхний слой, а по окончании работ отключить, и есть "горячее подключение". Во всяком случае, для меня это так. В overlay оно не работает, по умолчанию.

В overlay оно не работает, по умолчанию.
После pfsload DEVX-2110-sf07.pfs, появляется запись /memory/bundles/DEVX-2110-sf07.pfs, но команда make из этого модуля, не выполняется.
После же pfsunload DEVX-2110-sf07.pfs, пишет что модуль не был монтирован.
« Последнее редактирование: 19 Январь 2022, 23:59:48 от krasnyh »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 32840
  • Репутация: +222/-0
    • PuppyRus-A
Re: Overlay для mkpfs
« Ответ #92 : 20 Январь 2022, 10:36:28 »
я с 12.12.21 на overlay
в чем практический смысл перехода?
Overlay загружает систему немного быстрее чем AUFS
Можно подробнее? Только загружается или и работает быстрее? Как мерили?

Если это действительно так и не на 1 сек - в теории можно сделать 2в1 :загрузку базовых модулей через overlay , а потом использовать это как слой aufs - т.е. поверх этой составной базы aufs подключать - отключать модули

Оффлайн ingvaro

  • Пользователь
  • **
  • Сообщений: 93
  • Репутация: +1/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #93 : 20 Январь 2022, 21:25:27 »
С порядком вроде нет проблем, что /proc/mounts, что /var/log/uird.dbg.log показывают одинаковый цифро-буквенный порядок,

Запускал я сборку от Papirus. Там папка base была вроде пронумерована и это должна быть система. Не пронумерована папка modules, и как я понял, это больше  связано с железом.
И это вроде не так страшно и разбирательство порядка загрузки слоев можно отложить.
А можно ли скачать вашу сборку.  Если что то тестировать то лучше использовать что то одно.

« Последнее редактирование: 20 Январь 2022, 21:28:47 от ingvaro »

Оффлайн ingvaro

  • Пользователь
  • **
  • Сообщений: 93
  • Репутация: +1/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #94 : 20 Январь 2022, 21:40:50 »
Может мы по разному понимаем выражение "горячее подключение", т.к. в aufs оно и так из коробки?

Как я понимаю горячее подключение.

-  подготавливаются нужные папки в **/memory/WORKFS** и стартует пустой AUFS
-  addlayer находит и монтирует  слой за слоем в ~/bundles$N**
    И  добавляет слои в  запущенный пустой AUFS командой mount -o remount
    Если будет допустим 100 слоев то это 100 перемонтирований образа

Теперь как организовано у меня

1) mk_unionfs подготавливает нужные папки в /memory/WORKFS
2) addlayer монтирует нужные слои  в /memory/WORKFS/bundles$N
    И готовит список монтируемых соев - **/tmp/LAYERUNION**
3) mount_unionfs монтирует все слои в Overlay или AUFS в /memory/WORKFS
   Если это будет 100 слоев то и в Overlay или в  AUFS все смонтируется за один раз
« Последнее редактирование: 20 Январь 2022, 21:51:02 от ingvaro »

Оффлайн ingvaro

  • Пользователь
  • **
  • Сообщений: 93
  • Репутация: +1/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #95 : 20 Январь 2022, 21:47:23 »
Можно подробнее? Только загружается или и работает быстрее? Как мерили?

Просто при загрузке системы, когда запускал Overlay или AUFS, я это заметил
AUFS демонстрирует то же достойную загрузку но Overlay чуть быстрее.

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 2937
  • Репутация: +33/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #96 : 21 Январь 2022, 05:19:28 »
Если это действительно так и не на 1 сек - в теории можно сделать 2в1 :загрузку базовых модулей через overlay , а потом использовать это как слой aufs - т.е. поверх этой составной базы aufs подключать - отключать модули
Тоже была такая мысль. Решил, что это оверинжиниринг.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 32840
  • Репутация: +222/-0
    • PuppyRus-A
Re: Overlay для mkpfs
« Ответ #97 : 21 Январь 2022, 08:25:57 »
при загрузке системы, когда запускал Overlay или AUFS, я это заметил
AUFS демонстрирует то же достойную загрузку но Overlay чуть быстрее.
Проверил. У меня одинаково

Про горячую overlayfs загрузку. Вроде уже высказывал эту идею. Запускать каждую прогу в своем chroot2pfs, составленном из тех же модулей, что и загруженная система.
Возможно, будет жрать немного больше памяти, т.к. например gtk3 либы будут загружены в каждом чруте. Тут как раз uksmd должен помочь
Цитата
попытка совмещения технологий Puppy Linux с использованием контейнерной изоляции для запуска компонентов системы. Каждое приложение, а также сам рабочий стол, могут быть запущены в отдельных контейнерах, для изоляции которых используется собственных механизм Easy Containers

Оффлайн ingvaro

  • Пользователь
  • **
  • Сообщений: 93
  • Репутация: +1/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #98 : 21 Январь 2022, 22:38:53 »
Обновил первую страницу - https://forum.puppyrus.org/index.php?topic=23518.msg178662#msg178662

Основное работает. Особенно chroot2pfs
Добавил опцию -db (debug)
Перед финальной паковкой модуля работа прерывается и появляется chroot-терминал (Konsole или QTerminal)
Тут можно проверить работу образа или обновить его. Уже обновил свою систему.
Так и работает мой chroot2xzm. Но chroot2pfs монтирует все модули. А мне надо не все.
Пробовал обновить Lubuntu 20.10 и обновление не удалось. Помешал  мой магос-модуль.

PS
Но горячего подключения тут нет в том числе и для AUFS.
Попробуйте хоть один раз.
Все работает

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 4865
  • Репутация: +126/-1
Re: Overlay для mkpfs
« Ответ #99 : 22 Январь 2022, 00:05:52 »
А можно ли скачать вашу сборку.  Если что то тестировать то лучше использовать что то одно.
Моя сборка слишком узкоспециализирована под железо. Ядро под проц, пакеты собранные с --native...
##############################################


Подготовил для скачивания на базе дефолтной prar21.10-x86_64-04.iso. Ссылка prar21.10-x86_64-04-OVERLAY.iso, хеш 189020197150aed39df861c1798f323e.

Что сделал:
- Отредактировал menu.lst, оставив только uird, чтобы не путаться.
- Переименовал папку prar2110 в prar2110-overlay, чтобы не было пересечений с моей системой.
- Из DE оставил только de-ols. Убрал 2 модуля, относящиеся к full - 070-prar-full, pamac-aur.
- Выключил некоторые приложения из автозагрузки, добавив в /rootcopy/home/live/.config/autostart
- Некоторые настройки перенес в UIRD/lfa.ini. Они в самом конце файла, после ### Мои настройки. Это pfs.cfg и 99-sysctl.conf. Хотел и автозагрузку там прописать, но что-то 'забарахлило', в итоге закомментировал.
- Перенес 089-upd-2110-sf35.pfs из /base в /UIRD/base, т.к. он должен быть в верхнем слое, по задумке разработчика (sfs).
- В папку /optional добавил DEVX, pkg. Первый нужен для компиляции, второй - это синхронизированные базы реп и пакетов.

- Закинул содержимое PFSOV.pfs в /rootcopy/usr/local/bin
- Добавил pfs-filtr в /toxzm/filtres/
- Добавил mhddfs в /modules/soft/


##################################################

Если возникнет потребность создать модуль, есть команда "sudo pacman2pfs пакет". Она создаст папку в текущей директории, которую уже можно упаковывать с mkpfs. Но перед этим подключить модуль с базами /optional/pkg*.pfs.


1. Сборку можно использовать в виде iso в вирте. Если надо ее отредактировать, то после запустить "sudo ./iso-make-hybrid.sh" в корне iso, для пересборки. Требуется mkisofs, который я положил в /modules/soft.
2. Или, можно распаковать iso на флешку. И сделать загрузочной, выполнив:   
/boot/grub4dos/install/linux/ext4/bootlace.com /dev/sdb


Порядок загрузки:
Код
$ grep /memory/layer-base/ uird.dbg.log

/memory/layer-base/0/base/000-kernel-5.16.0-pf1-mg2_64.pfs
/memory/layer-base/0/base/000-net-kernel-5.16.0-pf1-mg2_64.pfs
/memory/layer-base/0/base/001-prar-2110-sf07.pfs
/memory/layer-base/0/base/001-prar-2110-sf07_DEV.pfs
/memory/layer-base/0/base/030-qt5-noicu-5.15.2-2110-sf02.pfs
/memory/layer-base/0/base/040-de-ovs-gtk3-2110-sf05.pfs
/memory/layer-base/0/base/083-chrome-profile-sf23.pfs
/memory/layer-base/0/modules/celluloid-0.21-2110-sf03.pfs
/memory/layer-base/0/modules/connman-1.40-2110-sf03.pfs
/memory/layer-base/0/modules/evince-gtk3-p-3.26.0_64-sf06.pfs
/memory/layer-base/0/modules/google-chrome-gtk3-p-97.0.4692.71_64-au01.pfs
/memory/layer-base/0/modules/gparted-1.3.1-2110-sf01.pfs
/memory/layer-base/0/modules/gthumb-gtk3-p-3.10.0_64-sf01.pfs
/memory/layer-base/0/modules/linux-firmware-middle-pt-2201_any-sf01.pfs
/memory/layer-base/0/modules/mesa-driver-2110_64-sf01.pfs
/memory/layer-base/0/modules/pra-installer-2021.08-17-any.pfs
/memory/layer-base/0/modules/premote-p_64-sf03.pfs
/memory/layer-base/0/modules/remmina-gtk3-p-1.4.2_64-sf04.pfs
 /memory/layer-base/0/modules/soft/mhddfs-0.1.39-5-2110-kr01.pfs
/memory/layer-base/0/modules/soft/mkisofs-p_64.pfs
/memory/layer-base/0/modules/transmission-sequential-gtk3-p-3.00_64-sf03.pfs
/memory/layer-base/0/modules/usbimager-gtk3-p-1.0.5_64-sf02.pfs
/memory/layer-base/0/modules/vlc-qt5-cel-3.0.16-2110-sf01.pfs
/memory/layer-base/0/modules/youtube-dl-2021.11.10_any-sf01.pfs
/memory/layer-base/0/rootcopy [CP mode]
/memory/layer-base/1/base/089-upd-2110-sf35.pfs
« Последнее редактирование: 22 Январь 2022, 00:10:39 от krasnyh »

Оффлайн ingvaro

  • Пользователь
  • **
  • Сообщений: 93
  • Репутация: +1/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #100 : 22 Январь 2022, 23:41:27 »
Что то не пошла у меня ваша сборка.
Но скачал prar21.10-x86_64-04 и положил ваши ~/modules/soft.
Видимо не подошел 040-de-ovs-gtk3-2110-sf05.pfs
Запустил родной 040-de-lxqt-gtk3-1.0.0-2110-sf03.pfs, но правда из своей сборки. Но запускал из uird.
Пробовал запускать свой magosm-модуль. Взят из MagOS и он настраивает систему до старта системы. Конечно можно запустить систему, сделать изменения и перегрузиться с сохранением инфы.
Вначале я так и делал но настраивать перед стартом системы удобнее.
Но не хватает пакетов. К примеру при настройке Lubuntu 20.04 я добавил пакеты - https://forum.magos-linux.ru/t/magos-i-ubuntu/63
Но хоть проверил и исправил  скрипты. Теперь точно все работает.
090-PFS-OVL-3- https://forum.puppyrus.org/index.php?topic=23518.msg178662#msg178662

PS

   Добавил опцию -db (debug)
   Перед финальной паковкой модуля работа прерывается и появляется chroot-терминал (Konsole или QTerminal)
   Тут можно проверить работу образа или обновить его. Уже обновил свою систему.
   Но при проверке на prar21.10-x86_64-04  выяснилось что терминал не стартует.
   У меня работает.   Пока закоментировал стр 247.
   Если эта опция интересна, то можно раскоментировать и проверить.
« Последнее редактирование: 22 Январь 2022, 23:53:00 от ingvaro »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 4865
  • Репутация: +126/-1
Re: Overlay для mkpfs
« Ответ #101 : 22 Январь 2022, 23:51:38 »
Раз у нас разночтения, что называть "горячим подключением", то как называть процесс ручного подключения модуля из /optional после загрузки системы? Т.е. "pfsload модуль" и последующее "pfsunload модуль". Мне в принципе только этого и не хватает, чтобы полноценно использовать overlay.
« Последнее редактирование: 23 Январь 2022, 00:17:18 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 4865
  • Репутация: +126/-1
Re: Overlay для mkpfs
« Ответ #102 : 23 Январь 2022, 00:00:11 »
появляется chroot-терминал (Konsole или QTerminal)
на prar21.10-x86_64-04  выяснилось что терминал не стартует.
У нас во всех сборках присутствует urxvt. Но по многочисленным просьбам пользователей, добавлены и другие, более удобные. Запускаются скриптом defaultterminal.
Код
live@roll2110 ~ % cat =defaultterminal
#!/bin/ash
#171019 sfs
if [ "`which lilyterm 2>/dev/null`" ] ;then
[ "`ls -l /usr/bin/urxvt |awk '{print $11}'`" = "lilyterm" ] && (lilyterm -s -H "$@" ) && exit
    (lilyterm -s -H "$@" ) && exit
fi

p="lxterminal qterminal xfce4-terminal roxterm sakura mate-terminal"
#s="sudo -u `sfsusr` "

for i in $p ;do
    if [ "`which $i 2>/dev/null`" ];then
# $s $i "$@" &
${i} "$@" && exit
    fi
done


#[ "" != "`which gsimplecal`" ] && (gsimplecal "$@" &) && exit
#[ "" != "`which zenity`" ] && (zenity --calendar &) && exit
urxvt "$@" &%   


Список хоткеев для запуска основных приложений, посмотреть Super-h. Это браузер, ФМ, терминал, редактор, медиаплеер...
« Последнее редактирование: 23 Январь 2022, 00:05:41 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 4865
  • Репутация: +126/-1
Re: Overlay для mkpfs
« Ответ #103 : 23 Январь 2022, 00:32:30 »
свой magosm-модуль. Взят из MagOS и он настраивает систему до старта системы.
Для нас betcher адаптировал это дело в lfa.ini. В сборке он лежит в UIRD.
- Некоторые настройки перенес в UIRD/lfa.ini. Они в самом конце файла, после ### Мои настройки. Это pfs.cfg и 99-sysctl.conf. Хотел и автозагрузку там прописать, но что-то 'забарахлило', в итоге закомментировал.

Возможности lfa.ini конечно урезаны в сравнении с MagOS.ini.
« Последнее редактирование: 23 Январь 2022, 00:34:03 от krasnyh »

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 2937
  • Репутация: +33/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #104 : 23 Январь 2022, 06:43:07 »
Возможности lfa.ini конечно урезаны в сравнении с MagOS.ini.
Ничего там не урезано, даже наоборот чуть больше возможностей чем в магос. Потому, что парсер из uird. Другое дело, что скриптов нет в системе упрощающих настройку и вместо USER=petya надо писать:
[/tmp/adduser]+x [chroot .]
adduser petya
типа такого.
P.S. Сорри за оффтоп, может вам, krasnyh, как единственному адепту уирда в этом форуме сделать обработку ини для прар? Если возьметесь подробно распишу что и как. Там сложно только в том, что тестируется с перезагрузками, то есть муторно и долго. А сами скрипты простые. Уверен что sfs не откажется добавить десяток текстовых файлов в сборку, а если зайдет прикрутите и к другим инитрд.
« Последнее редактирование: 23 Январь 2022, 07:34:37 от betcher »