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

Автор Тема: Добавить в LF*дистрибутивы UIRD initrd  (Прочитано 93207 раз)

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

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #15 : 20 Февраль 2020, 20:04:48 »
Да, с загадочными слоями возможны проблемы. С модулями из исо - работает. Обновления не качаю.
Кое чего уже сделал, завтра выложу.
Работает:
- чистый режим
- uird.shutdown
- сохранение в папку
- хомяк в папку
- toxzm (только дефолт проверял, и addfilter)
- zram-swap
- обработка ини файла (хомяк в папку без этого не сделать)
- без изменения меню.лст переносится папка UIRD со всеми сохраненками и хомяком на другой раздел.
Пока не работает:
- zram rootfs
- в режимах qs, qse не работает клава, символы не вводятся. Возможно так только в виртуалке. Встречал такое, как чинить не знаю. Меняешь ядро и работает обычно.
- сохранение в имж. Опять же из-за клавы, там нужно подвердить создание файла при его создании.

Вроде все пока.

« Последнее редактирование: 20 Февраль 2020, 20:09:03 от betcher »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5320
  • Репутация: +139/-1
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #16 : 20 Февраль 2020, 21:37:11 »
Да, с загадочными слоями возможны проблемы.
Уже ведь был предложен способ как повторить порядок слоев PRA в uird. Там речь шла о папках, названных так, чтобы расположение было в самом низу списка. И соответственно в них и класть модули 089-, 090-.  Эти доп. папки прописать uird.load+=...
Цитата
base
modules
optional
rootcopy
save

Где-то было сообщение на форуме, но не нашел.

p.s. Хотя так нельзя, т.к. придется править чужую сборку (вносить изменения не предусмотренные разработчиком).
« Последнее редактирование: 20 Февраль 2020, 22:17:28 от krasnyh »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #17 : 21 Февраль 2020, 05:40:16 »
Варианты конечно есть. Хотелось бы чтоб работало без переноса модулей.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #18 : 21 Февраль 2020, 06:36:40 »
Тестить нужно в первую очередь на живом железе. То что показываю в виртуалке уже работает (если не работает, но возможно заведется на железе -  укажу отдельно). Для тестов понадобится:
- установленный grub4dos, примеры меню будут для него.
- папка prar1912, в любом месте лишь бы вы знали как прописать до нее путь в grub4dos
- папка UIRD, может распологаться в корне любого раздела, либо в корне первого источника, то есть в папке prar1912
- в папке UIRD:
  - файл prar.ini
  - подкаталог homes (пустой)
  - покаталог saves в нем:
    - папка todir (пустая)
    - папка tomod (пустая)

 в prar.ini

Код
[/etc/test.ini]
INI=works

[/tmp/SetupHomeDir]a+x [ . ]
|if ! test -d /sysroot/home/live  ; then
|for a in $(find $SYSMNT/bundles -name home -type d) ; do
|cp -a ${a}* /sysroot/
|done
|fi

[/usr/local/bin/SetupUsers]a+x [chroot . ]
|#!/bin/bash
|USER=newser
|test -d /home/$USER  && exit
|PASSWD_HASH='$6$CCb3glNo0ZrLfLra$xIx/R9DNKz9R8qx0S.S3U0odkkOkrGBS1nr6AsYZ2rSv846S1GacVxomQk6BuX2xaj6CYRl9tmedZcrIgBpCw.'
|useradd -m -g users -G wheel -s /bin/bash  -p $PASSWD_HASH $USER

реально нужна только вторая секция, остальное примеры.

Здесь uird
https://yadi.sk/d/A8Rb1pvARbQBsA
Его нужно положить в prar1912/boot/ (рядом с родными ядром и инитрд)

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #19 : 21 Февраль 2020, 06:44:28 »
Секции, которые уже работают, нужно править пути до ядра и инитрд под ваш случай.

Чистый режим (загрузка без сохранений):

title ▒▒ prar1912 LXDE gtk3 UIRD
set d=prar1912
set k=4.19-x86
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 dir=%d% rw quiet %x% uird.load+=/mesa
initrd  /%d%/boot/uird.%d%.cpio.xz

Сохранения в папку (только линукс фс)

title ▒▒ prar1912 LXDE gtk3 UIRD (saves to dir)
set d=prar1912
set k=4.19-x86
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 dir=%d% rw quiet %x% uird.load+=/mesa uird.mode=changes uird.changes=/saves/todir
initrd  /%d%/boot/uird.%d%.cpio.xz

Сохранение в модуль при выключении системы.

title ▒▒ prar1912 LXDE gtk3 UIRD (toxzm)
set d=prar1912
set k=4.19-x86
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 dir=%d% rw quiet %x% uird.load+=/mesa uird.mode=toxzm uird.changes=/saves/tomod
initrd  /%d%/boot/uird.%d%.cpio.xz

Хомяк пишется в папку, остальное не сохраняется (такие настройки можно комбинировать с любым из предыдущих вариантов. Например хомяк в папку, а системные изменения в модуль)

title ▒▒ prar1912 LXDE gtk3 UIRD (homes)
set d=prar1912
set k=4.19-x86
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 dir=%d% rw quiet %x% uird.load+=/mesa uird.home=/homes
initrd  /%d%/boot/uird.%d%.cpio.xz



Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #20 : 21 Февраль 2020, 06:47:29 »
Надо проверить на железе, те в виртуалке не работает:
- чистый режим + параметр qs (выбросит в консоль нужно проверить работает ли ввод символов)
- чистый режим  + uird.rootfs=zram (просто загрузит или нет)

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #21 : 21 Февраль 2020, 06:48:54 »
Дефолтный конфиг пока такой:
uird.config=prar.ini
uird.rootfs=tmpfs::SIZE=auto
uird.ro=*.xzm;*.pfs
uird.rw=*.rwm
uird.cp=*.pfs.cp,*/rootcopy
uird.load=/base/,/modules/,rootcopy
uird.noload=/saves/todir,/homes
uird.from=/prar1912;/UIRD::FORCE=yes
uird.find_params=-maxdepth_4
uird.mode=clean
uird.changes=/saves/todir
uird.syscp=/livekitlib::/usr/bin
uird.shutdown
uird.preinit

Вопросы, предложения.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #22 : 21 Февраль 2020, 08:24:29 »
Сохранение в модуль при выключении системы.
А если мне надо отказаться от сохранения, допустил ошибку а уже загрузился с заранее заданным сохранением? По моему, сохранять или не сохранять, не надо задавать заранее.
Моноблок 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

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #23 : 21 Февраль 2020, 10:17:52 »
По моему, сохранять или не сохранять, не надо задавать заранее.
Логика совершенно иная. По  умолчанию toxzm работает максимально похоже на обычный линукс или на сохранение в папку. То есть сохраняет все и при каждой перезагрузке. Но вариантов там много.
- uird.shutdown=ask спрашивать всякий раз сохранять или нет.
- REBUILD0=no в конфиге toxzm переведет модуль в режим при котором он подключается, но не пересобирается.
- echo REBUILD0=no > /run/initramfs/shutdown.cfg однократно сохранить модуль у которого в конфиге ребилд=но
- > /run/initramfs/shutdown.cfg отменить все сохранения для текущей перезагрузки.
Если этого недостаточно можно подумать еще варианты.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #24 : 21 Февраль 2020, 10:20:22 »
Надо проверить на железе, те в виртуалке не работает:
- чистый режим + параметр qs (выбросит в консоль нужно проверить работает ли ввод символов)
- чистый режим  + uird.rootfs=zram (просто загрузит или нет)

Проверил. Не работает. Нужна помощь по ядру. Вероятнее всего то что не вводятся символы связанно с отсутствием какого-то модуля ядра. Есть идеи какого? Или как вычислить. Без этого очень сложно будет дебажить uird.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #25 : 21 Февраль 2020, 10:49:16 »
Логика совершенно иная.
Да вижу. Только зачем? В каталог (changes) сохраняется естественным путём, в модуль - ткнул меню - сохранилось. Куда уж проще.
Моноблок 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

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5320
  • Репутация: +139/-1
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #26 : 21 Февраль 2020, 10:50:49 »
Речь об uird.XXX.cpio.xz? Именно в нем чего-то не хватает? Как вариант сравнить uird Magos и Prar.

Во всяком случае в Magos эта фишка работает и в вирте.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5320
  • Репутация: +139/-1
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #27 : 21 Февраль 2020, 10:55:45 »
в модуль - ткнул меню - сохранилось. Куда уж проще.
А выборочно сохранять, например только ~/home? Забыл, PRA это умеет и так. )
« Последнее редактирование: 21 Февраль 2020, 10:57:42 от krasnyh »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #28 : 21 Февраль 2020, 11:01:18 »
А выборочно сохранять, например только ~/home?
1) home - примонтированный раздел
2) home - ссылка на каталог на физическом носителе
3) выборочное сохранение home нетрудно сделать, в mksavexzm есть фильтр, достаточно сделать его управляемым.
Моноблок 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

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Добавить в LF*дистрибутивы UIRD initrd
« Ответ #29 : 21 Февраль 2020, 11:02:23 »
Речь об uird.XXX.cpio.xz

Не совсем так. Думаю дело вот в чем. Есть какой то модуль, который не записан в mkuird.cfg соответственно если он вкомпилен в ядро то все работает, но случаются ядра где модуля нет. То есть надо выяснить кто это и дописать в mkuird.cfg
Это только предположение, может быть и другая причина.