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

Автор Тема: Поддержка монтирования с 9p (qemu) для источников  (Прочитано 2612 раз)

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

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
« Последнее редактирование: 06 Февраль 2023, 09:59:15 от sfs »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Поддержка монтирования с 9p для источников
« Ответ #1 : 23 Январь 2023, 20:45:40 »
Цитата
Это позволит загрузить, к примеру магос, с qemu прямо из распакованного архива. Не создавая исо и не устанавливая на флешку.
Помнится, я грузил в Qemu сборки PRA и MagOS, распакованные на разделе HDD. Даже умудрялся обновлять MagOS встроенными средствами из вирта. )
Правда, потом мне приходилось чинить файловую систему с fsck (писал об этом здесь). :) В итоге, уже давно запускаю только iso или с флешки.

Теперь же, получается, можно вернуться к той первоначальной 'порочной' ) практике? 

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Поддержка монтирования с 9p для источников
« Ответ #2 : 23 Январь 2023, 20:51:04 »
Правда, потом мне приходилось чинить файловую систему с fsck
Тоже на эти грабли наступал. Грузил виртуалбоксом ту же систему с которой загружена ОС хоста. Для этого был в меню пункт с чистым режимом, с монтированием раздела RO. Но однажды случайно выбрал не тот пункт...

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Поддержка монтирования с 9p для источников
« Ответ #3 : 02 Февраль 2023, 16:16:02 »
Новая фишечка.
Цитата
Добавил в UIRD возможность использовать в качестве источников монтирования с 9p. Эта та штука, которой делают общие папки в qemu. Указывать нужно аналогично папкам по сети, только с 9p.
То есть например:

uird.mounts=9p://mount_tag::MNT=/mnt/9p

Можно использовать для автомонтирования общих папок при работе с qemu, но затея была не в этом, а в загрузке с такого источника. Это позволит загрузить, к примеру магос, с qemu прямо из распакованного архива. Не создавая исо и не устанавливая на флешку. Параметры кему при запуске в папке в которую распакован архив с магос приблизительно такие:
Код
qemu-system-x86_64 \
    -cpu max \
    -vga qxl \
    -machine q35,accel=kvm:tcg \
    -name "MagOS" \
    -m 2G \
    -rtc base=localtime \
    -kernel ./MagOS/vmlinuz \
    -initrd ./MagOS/uird.magos.cpio.xz \
    -virtfs local,path=$(realpath ./),mount_tag=MagOS,security_model=mapped,id=MagOS \
    -append "uird.from=9p://MagOS,/MagOS"
В барии аналогичный скрипт будет добавлен в архив со сборкой.

Интересно, как различать в скрипте:
- MagOS как название вирт. машины
- MagOS как название общей расшаренной папки
- MagOS как название рабочей папки с модулями (/base; /modules)


А есть успешный запуск в qemu host-системы этим способом? Естественно, скопированной в отдельную папку. А то я попробовал, пишет "has already been processed' при загрузке uird, затем уходит в цикл. )
Еще пишет, что пытается примонтровать папку в /memory/data/from/0, но там типа занято ("failed: Device or resourse busy").
« Последнее редактирование: 02 Февраль 2023, 17:22:11 от krasnyh »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Поддержка монтирования с 9p для источников
« Ответ #4 : 03 Февраль 2023, 19:42:28 »
Интересно, как различать в скрипте:
-name "MagOS"   - название машины
path=$(realpath ./) - путь к расшаренной папке
mount_tag=MagOS - тег который указывается как источник 9p://mount_tag
id=MagOS - не знаю зачем надо ))
-append "uird.from=9p://MagOS,/MagOS" - тут 9p://MagOS это папка расшаренная в гостя по 9p, а /MagOS это подкаталог в расшаренной папке где модули искать.

Можно добавлять uird.mounts=9p://mount_tag тогда в uird.from ничего менять не нужно.

А есть успешный запуск в qemu host-системы этим способом?
Конечно. В коммерческих версиях бария будет включен скрипт, который позволяет устанавливать на флешку из qemu где барий загружен из распакованного архива таким способом.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Поддержка монтирования с 9p для источников
« Ответ #5 : 03 Февраль 2023, 19:43:35 »
Важно! Проверьте, что ядро для которого собираете uird имеет 9p внутри или модулем.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Поддержка монтирования с 9p для источников
« Ответ #6 : 03 Февраль 2023, 19:55:04 »
Проверьте
С этим порядок:
Код
% sudo find -name '*9p*' -type f

./usr/lib/modules/6.1.0-pf4/kernel/drivers/media/i2c/mt9p031.ko.zst
./usr/lib/modules/6.1.0-pf4/kernel/fs/9p/9p.ko.zst
./usr/lib/modules/6.1.0-pf4/kernel/net/9p/9pnet.ko.zst
./usr/lib/modules/6.1.0-pf4/kernel/net/9p/9pnet_fd.ko.zst
./usr/lib/modules/6.1.0-pf4/kernel/net/9p/9pnet_rdma.ko.zst
./usr/lib/modules/6.1.0-pf4/kernel/net/9p/9pnet_virtio.ko.zst
./usr/lib/modules/6.1.0-pf4/kernel/net/9p/9pnet_xen.ko.zst

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Поддержка монтирования с 9p для источников
« Ответ #7 : 03 Февраль 2023, 20:15:26 »
С этим порядок:
Попробуйте с вашим дистром вот такую штуку:
https://forum.rosalinux.ru/viewtopic.php?f=58&t=10695
Исходники тут:
https://abf.io/import/qemoo
Там проброс по 9p текущей папки включен по умолчанию. Будете знать работает ли проброс с вашей ОС. Да и вообще удобная штука, только ей сейчас виртуалки гружу если  сложной сети не требуется.

P.S. К ней и гуй есть, дальше в форуме посмотрите если интересно.
« Последнее редактирование: 03 Февраль 2023, 20:17:20 от betcher »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Поддержка монтирования с 9p для источников
« Ответ #8 : 03 Февраль 2023, 20:44:07 »
MagOS загрузился с моими uird/vmlinuz.

Опять несовместимость Rosa и ArchLinux. )

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Поддержка монтирования с 9p для источников
« Ответ #9 : 03 Февраль 2023, 21:00:12 »
Все, и PRAR загрузился с uird.basecfg=MagOS. Правда, я и все остальное тоже переименовал в MagOS (папки, имя), чтобы уж наверняка.


upd. На всякий:
1. У меня overlay.
2. Именно uird.basecfg=MagOS является определяющим для успешной загрузки.
« Последнее редактирование: 03 Февраль 2023, 21:22:21 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Поддержка монтирования с 9p для источников
« Ответ #10 : 04 Февраль 2023, 15:25:56 »
uird.basecfg=MagOS является определяющим
Нашел причину, это uird.find_params=-maxdepth_4, который дефолтно в uird_configs/lfa.
Изменил на uird.find_params=-maxdepth_3, как в uird_configs/MagOS.


p.s. Кстати, когда грузился с qs и менял параметры uird_configs/lfa в mc, то в последующей загрузке они не применялись. Странно.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Поддержка монтирования с 9p для источников
« Ответ #11 : 05 Февраль 2023, 12:04:31 »
Нашел причину, это uird.find_params=-maxdepth_
Странно. Я бы понял если наоборот слишком маленькая глубина поиска была, Пока не соображу в чем причина.

Кстати, когда грузился с qs и менял параметры uird_configs/lfa в mc, то в последующей загрузке они не применялись. Странно
Наверное qs после разбора параметров, если так менять надо в /tmp/parameters

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Поддержка монтирования с 9p для источников
« Ответ #12 : 06 Февраль 2023, 08:03:00 »
Наверное qs после разбора параметров, если так менять надо в /tmp/parameters
Проверил. Именно так. И думаю это удобнее, потому что там значения уже с учетом конфига и cmdline