Не работает uird.freemedia совместно с сохранением в модуль

Не думаю. Тут все уирд должен сделать.

Я наверно что-то где-то упускаю.

Или я. Только не пойму где.

как вы коня в вакууме искали то?
Ильфат, приведите примеры параметров загрузки, что используете?

Вот же:

Походу, мне тоже в эту тему…

Странно… обновился до юбилейной версии – и перестало грузиться в чистом режиме в RAM… модули мои вроде цепляются – в логе их видно, MagOS.ini моя тоже есть… но не может отмонтировать флешку и останавливается загрузка. Если продолжить принудительно – вроде грузится, но возникают непонятные глюки уже позже – по правой кнопке мыши приложени падают, wine таки не запускается. Что-то в uird меняли существенное?

Портянка из чата MagOS с подробностями...

В НЕчистом режиме /memory/layer-base/1 подмонтирован, и в нём мои настройки есть. Но в ЧИСТОМ режиме как раз этот каталог и не отпускается. А вроде должен.

В каталоге /memory/layer-base/0 команда md5sum -c MD5SUM показывает все контрольные суммы в норме.

Да, и сразу после загрузки, открытия консоли по F12, cd /tmp, sudo -i и вызова syschanges вылетают эти ошибки:
/etc/initvars: строка 11: uird.copy2ram=enabled: команда не найдена
/etc/initvars: строка 12: uird.freemedia=enabled: команда не найдена

user@MagOS$ cat /etc/initvars
LANG="ru_RU.UTF-8"uird_config=MagOS.ini
LIVEKITNAME=MagOS
PATHINI=/memory/layer-base/1/MagOS.ini
SYSMNT=/memory
copy2ram=enabled
desktop=plasma
freemedia=enabled
no3ddesktop=enabled
plymouth_enable=0
splash=silent
uird.copy2ram=enabled
uird.freemedia=enabled
uird_basecfg=/uird_configs/MagOS
uird_changes=/MagOS-Data/changes
uird_cp=*.xzm.cp,*/rootcopy
uird_find_params=-maxdepth_3
uird_from=/MagOS,/MagOS-Data
uird_load=/base/,/modules/,rootcopy
uird_mode=clean
uird_noload=/MagOS-Data/changes,/MagOS-Data/homes
uird_ramsize=70%
uird_ro=*.xzm,*.rom,*.rom.enc,*.pfs
uird_rw=*.rwm,*.rwm.enc
uird_syscp=/livekitlib::/usr/lib/magos/scripts,/uird.scan::/usr/lib/magos/scripts,/liblinuxlive::/mnt/live
vga=791
vga=ask

user@MagOS$ cat /proc/cmdline
desktop=plasma no3ddesktop copy2ram uird.copy2ram freemedia uird.freemedia vga=ask vga=791 splash=silent plymouth.enable=0

Опции выбирались при загрузке кнопками F3-F6.

Anton Goroshkin > @neobht > Jun 14 14:26
Довольно странно конечно
А зачем вы дублируете в initvars параметры?
Если в загрузчике их тоже задаете

Я их не дублирую. Просто выбирал F-кнопками, как обычно делал (в прошлой версии). Стрелкой вниз – чистая загрузка, потом F-кнопки (номера точно не помню), если с конца – copy2ram, без эффектов, plasma, видеорежим по запросу. Походу после этого парметры стали подставляться с дублированием.

Сейчас вот экспериментировал малость. Уже без F-кнопок, только чистый режим стрелкой, а параметры руками в строке.

Если copy2ram БЕЗ uird., то оно не срабатывает. Только в варианте uird.copy2ram реально идёт копирование в память.

Если freemedia – наверное тоже не срабатывает без uird., но зато и не останавливается загрузка с cообщением, что не может отмонтировать флешку – система догружается. Но флешку всё равно не отдаёт – занята. Даже с –force не отдаёт, причем все три каталога с её девайсом, что есть в mount – не находятся в выводе lsof.

И ещё мелкое неудобство в целом, для загрузчика. Выбор видеорежима (vga=ask) предлагает нажать букву (это хорошо), но номер видеорежима рядом печатается в 16-ричной системе (37F например), а чтоб сразу вбить руками – приходится переводить в 10-тичную (vga=895). Не загрузившись или не имея стороннего калькулятора, это несколько нетривиально :wink:

В общем, пока надо бы починить возможность отмонтировать флешку в режиме copy2ram.

Попробовал вообще не трогать кнопок при загрузке. Вбил всё руками, вот так:
uird_mode=clean vga=895 uird.copy2ram uird.freemedia

В память копирование модулей было, но загрузка остановилась на невозможности отмонтировать флешку, сказал [C]ontinue – догрузилось. Флешка не освобождается.

user@MagOS ~ $ mount | grep sdc
/dev/sdc1 on /memory/data/from/0 type vfat (rw,noatime,uid=500,gid=500,fmask=0000,dmask=0000,allow_utime=0022,codepage=866,iocharset=utf8,shortname=mixed,check=s,quiet,errors=remount-ro)
/dev/sdc1 on /memory/layer-base/0 type vfat (rw,noatime,uid=500,gid=500,fmask=0000,dmask=0000,allow_utime=0022,codepage=866,iocharset=utf8,shortname=mixed,check=s,quiet,errors=remount-ro)
/dev/sdc1 on /memory/layer-base/1 type vfat (rw,noatime,uid=500,gid=500,fmask=0000,dmask=0000,allow_utime=0022,codepage=866,iocharset=utf8,shortname=mixed,check=s,quiet,errors=remount-ro)

user@MagOS ~ $ grep layer /etc/initvars
PATHINI=/memory/layer-base/1/MagOS.ini

Может сам конфиг не отпускает?
Или модуль wine.xzm в /MagOS-data/modules на флешке?

MagOS ~ # umount /dev/sdc1
    umount: /memory/layer-base/1: target is busy
    (In some cases useful info about processes that
    use the device is found by lsof(8) or fuser(1).)

Но для fuser непонятно какой процесс, а в выводе lsof нет ничего ни по sdc, ни по layer вообще.

Как победить?

Приведите полный cat /proc/mounts

Попробуйте собрать уирд из гит. Чинил копи2рам там, может связано.

Последние записи – это пара HDD в ноуте. Флешка – /dev/sdc1

Выхлоп *cat /proc/mounts*
user@MagOS ~ $ cat /proc/mounts 
tmpfs /run tmpfs rw,nosuid,nodev,mode=755 0 0
tmpfs /memory tmpfs rw,relatime,size=5646004k 0 0
/dev/sdc1 /memory/data/from/0 vfat rw,noatime,uid=500,gid=500,fmask=0000,dmask=0000,allow_utime=0022,codepage=866,iocharset=utf8,shortname=mixed,check=s,quiet,errors=remount-ro 0 0
/dev/sdc1 /memory/layer-base/0 vfat rw,noatime,uid=500,gid=500,fmask=0000,dmask=0000,allow_utime=0022,codepage=866,iocharset=utf8,shortname=mixed,check=s,quiet,errors=remount-ro 0 0
/dev/sdc1 /memory/layer-base/1 vfat rw,noatime,uid=500,gid=500,fmask=0000,dmask=0000,allow_utime=0022,codepage=866,iocharset=utf8,shortname=mixed,check=s,quiet,errors=remount-ro 0 0
aufs / aufs rw,relatime,si=5350ff6bd03039f2,trunc_xino,nowarn_perm 0 0
/dev/loop0 /memory/bundles/00-kernel.xzm squashfs ro,noatime 0 0
/dev/loop1 /memory/bundles/01-drivers.xzm squashfs ro,noatime 0 0
/dev/loop2 /memory/bundles/10-core.xzm squashfs ro,noatime 0 0
/dev/loop3 /memory/bundles/20-x-base.xzm squashfs ro,noatime 0 0
/dev/loop4 /memory/bundles/35-x-plasma.xzm squashfs ro,noatime 0 0
/dev/loop5 /memory/bundles/41-x-utilities.xzm squashfs ro,noatime 0 0
/dev/loop6 /memory/bundles/42-x-network.xzm squashfs ro,noatime 0 0
/dev/loop7 /memory/bundles/43-x-multimedia.xzm squashfs ro,noatime 0 0
/dev/loop8 /memory/bundles/44-x-office.xzm squashfs ro,noatime 0 0
/dev/loop9 /memory/bundles/45-x-java.xzm squashfs ro,noatime 0 0
/dev/loop10 /memory/bundles/70-documentation.xzm squashfs ro,noatime 0 0
/dev/loop11 /memory/bundles/88-magos.xzm squashfs ro,noatime 0 0
/dev/loop12 /memory/bundles/wine64.xzm squashfs ro,noatime 0 0
none /dev devtmpfs rw,relatime,size=4016908k,nr_inodes=1004227,mode=755 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0
cgroup /sys/fs/cgroup/hugetlb cgroup rw,nosuid,nodev,noexec,relatime,hugetlb 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
tmpfs /tmp tmpfs rw 0 0
debugfs /sys/kernel/debug debugfs rw,relatime,mode=755 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=32,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=20727 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
tmpfs /media tmpfs rw,relatime,size=1024k 0 0
tmpfs /run/user/500 tmpfs rw,nosuid,nodev,relatime,size=806572k,mode=700,uid=500,gid=500 0 0
gvfsd-fuse /run/user/500/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=500,group_id=500 0 0
/dev/sdb4 /media/user/Acer fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
/dev/sda1 /media/user/SYS fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
/dev/sda3 /media/user/DATA fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0

Чот я сразу не подумал на совсем чистом дистрибутиве MagOS попробовать… сделаю отдельную флешку без своего MagOS.ini и модуля wine64.xzm – попробую и отпишусь.

Но если оно (copy2ram, freemedia) и в исходном виде не работает – где взять предыдущую версию MagOS 2016.64?

Если не работает надо чинить. Не пробовали уирд собирать?

Нет пока, мне особо не на чем собирать.

Но я герой, канеш… в ноуте с 8 Гигами RAM и copy2ram запустил VirtualBox без диска на 3 Гига RAM, и на виртуалке ещё раз с ISO-образа MagOS в том же режиме copy2ram и freemedia. Ну и тот же глюк… не может освободить, Continue, не удаётся сделать eject – носитель занят.

Проблема не в моих модулях и MagOS.ini, надо откатываться на прошлую версию.

Да, косячек с копи2рамом похоже. Попробуйте так uird.copy2ram=. uird.freemedia

Кстати… думал, мож я чего накопировал - но нет! Это разве нормально?

user@MagOS$ cat /etc/initvars
LANG="ru_RU.UTF-8"uird_config=MagOS.ini
LIVEKITNAME=MagOS
PATHINI=/memory/layer-base/1/MagOS.ini
SYSMNT=/memory
copy2ram=enabled
desktop=plasma
freemedia=enabled
...

Две первых строчки в одну слиплись в /etc/initvars. Файл вроде формируется автоматически?

Прокатил ваш вариант :slight_smile:
Загрузилось в RAM, носитель отцепился. Теперь бы ещё этот workaround на F-кнопки повесить, чтоб не забывать – ноут редко перезагружается. Или дочинить уж обработку штатной опции.

Пересоберите уирд или дождитесь следующую сборку. Будет работать и с =. и с =* и просто с uird.copy2ram

С /etc/initvars посмотрю позже. Что-то чинил там уже пару недель назад.

Проблема сабжа актуальна. Хотелось бы решения )

Сохранение модуля у меня производится на файловую систему NTFS. Проблема, как удалось выяснить с Александром, в том, что правило udev создаваемое для NTFS не работает. C другими ФС, например с тем же FAT проблем нет.
После загрузки с copy2ram и freemedia отсоединяю флешку. При подключении флешки обратно к ПК раздел не монтируется куда надо и вообще никуда больше не монтируется, а mount показывает, что он якобы смонтирован в /media/ilfat/TRANSCEND.

~ $ cat /run/udev/rules.d/00-CEF2E10EF2E0FB99.rules 
KERNEL=="sd?",      ATTRS{device}=="0x27cc",  ACTION=="add", RUN+="/run/bin/CEF2E10EF2E0FB99 "

~ $ cat /run/bin/CEF2E10EF2E0FB99
#!/bin/bash
systemctl status systemd-logind.service || exit 
sleep 3
mkdir -p /memory/data/from/0
mount  -o rw,noatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096  --uuid CEF2E10EF2E0FB99  /memory/data/from/0
mkdir -p /memory/layer-base/0
mount --rbind /memory/data/from/0/MagOS  /memory/layer-base/0
mkdir -p /memory/layer-base/1
mount --rbind /memory/data/from/0/MagOS-Data  /memory/layer-base/1
losetup '/dev/loop0'  /memory/data/from/0/MagOS-Data/.lock

~ $ mount |grep TRANS
/dev/sdb1 on /media/ilfat/TRANSCEND type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)

~ $ ls /media/ilfat/TRANSCEND 
ls: невозможно получить доступ к /media/ilfat/TRANSCEND: Конечная точка передачи не подсоединена

~ $ sudo mount /dev/sdb1 /media/ilfat/TRANSCEND 
Mount is denied because the NTFS volume is already exclusively opened.
The volume may be already mounted, or another software may use it which
could be identified for example by the help of the 'fuser' command.

Из Arch Вики (udev):

Важно: Чтобы смонтировать съемные устройства, не вызывайте mount из правил udev. В случае использования файловых систем FUSE, вы получите ошибку “Transport endpoint not connected”. Вместо этого используйте udisks, который выполняет автомонтирование правильно.

Ну то есть все дело в FUSE, что мы в общем и предполагали. Думаю на это правильнее забить, добавив в доки, что кроме fuse. Решить наверное можно, но боюсь неприлично большой костыль получится.