1,2 - можно сделать аналогичными, если ограничиться только поддержкой локальных носителей, что я считаю экономией неоправданной, но готов дописать функционал, чтобы можно было использовать модули squashfs на уровне initrd.Почему неоправданной? Что мы потеряли?
Почему неоправданной? Что мы потеряли?Потеряли возможность использовать модули ядра, которые в него не вкомпилены. Например сетевые. Возможно и ряд sata дисков и usb. Надо знать что включено в ядро. Так трудно сказать.
Попробовать можно. Там будет видно. Как пробовать? Вы что-то выложите или просто собрать по гитхабу?
kernel vmlinuz uird.from=/путь, где лежат модули; root=uird:
initrd uird.kernel.cpio.xz uird.magos.cpio.xz
Потеряли возможность использовать модули ядра, которые в него не вкомпилены.Зато не пересобираем initrd - это реальное удобство и я оттестил способ подгрузки модулей. Только практического применения этому нет
Ubuntu как раз по этой причине не работает. Для нее не хватает драйверов.Не удалось понять - каких именно?
Когда пересобирается ядро всегда можно пересобрать и initrd. А если хочется, то можно и не пересобирать ни ядро ни initrd.но есть еще вариант когда ядро не пересобирается а берется готовое другой версии. в puppyrus мы так и делали и тут либо выкладывать готовый initrd для нужной версии ядра, либо вручную пересобирать свой существующий initrd. Оба этих варианта не особо хороши т.к. вкусив прелести замены ядра в PRA через два файла, танцевать с initrd уже не охота.
выше выложил uird.kernel.cpio.xz - это как раз модули ядра.а просто pfs чтобы грузился и подключался?
Либо доставлять их средствами загрузчика по примеру uird.kernel.cpio.xz.вот я про то и веду речь, средствами загрузчика подтянуть pfs на целевую машину, а потом уже средствами ядра подключить.
готов дописать функционал, чтобы можно было использовать модули squashfs на уровне initrd.Про то, ка для этого в портеусе подключается 00-kernrel я писал. Если это уменьшит Initrd - интересно
продвинутые фичи, вроде rwm модулей, множественных home, машинно-ориентированных модулей (модулей, которые подключаются при загрузке на конкретном железеМожно подробнее про то, что может uird по сравнению с портеусом
Pfs затянуть не получится.А вот так почему нельзя?
Можно только его содержимое включить в образ для слоя initrd. Это не слои aufs. Это слияние cpio образов.Получается дублирование
Uird умеет слоить home из нескольких источников.Зачем это на практике?
Умеет подцеплять образы с обычной ФС в режиме RW - множественные слои в aufs.Зачем это на практике?
на стороне сервера они еще http поднимают и потом по httpfs выкачивают. Но нам в данном случае больше интерересно, как им удается не сбить настройки сетевой карты и таки выкачать файлы. Ведь теоретически pxe загрузчик уже настроил сетевую карту и пакеты летают и все такое.Чтобы выкачать - надо чтобы ядро подняло драйвер сетевой.
интерересно, как им удается не сбить настройки сетевой карты и таки выкачать файлы.У меня тоже не сбиваются, видимо хранятся в пространстве ядра.
Ничего не даст. Он просто архитектурно красивее, код чище, расширямость гибче, возможностей больше.С этим никто не спорит
А применять большинству кроме как copy2ram хоть в портеус, хоть в uird больше и не надо.Все так и есть
Ну например хотим мы чтобы у нас все изменения которые находятся в директории /etc хранились не в changes в общей куче, а к примеру в модуле etc.rwm вот и делаем такую настройку. В итоге в changes хранятся все изменения, а изменения из директории /etc хранятся в etc.rwm.Как это реализовать? Какие ключи и что такое физически etc.rwm
Как это реализовать? Какие ключи и что такое физически etc.rwm
Документация слабовата. Нужны примеры
dd if=/dev/zero of=etc.rwm bs=1M count=100
mkfs.ext2 etc.rwm
1. Убрать можно.Как?
Специально для pra можно сделать скрипт прослойку, который транслирует привычные параметры pra в параметры uird.Так было бы идеально. По аналогии можно было бы и под другие дистры переточить
[ ..анализ параметра в pra синтаксисе ] && echo "параметр в uird синтаксисе" >> /memory/cmdline
4. Сделано достаточно изящно. Просто можно либо через отрицание noload, либо через указание load регулировать процесс. По умолчанию задано load=*, поэтому необходимо отключать отрицанием.Как бы это сделать по дефолту как в портеус
в livedata - второй.Что такое 2й источник?
1. Убрать проверку в скрипте.Т.е. только хирургически, с потерей совместимости...
uird.from=/pra3/base;/pra3/modules uird.load=/pra3/optoonal/space
в процессе обсуждения я вам опишу весь функционал и заодно будет материал для пояснения функционала на примерах в документацию.Да. С имеющейся сейчас докой внедрить будет сложно. Нужна доработка
Ещё немного и вы убедитесь, что собирать initrd руками проще и надёнее :DДля доказательства жду "ручной инитрд" для загрузки юбунты с функцией сохраненки в папку и сетевой загрузки из исо :D
uird.from=/pra3/base;/pra3/modules;/pra3/optinal/ uird.load=/pra3/optional/space
uird.from=/pra3/base;/pra3/modules;/pra3/optinal/space
uird.from=/pra3/base;/pra3/modules;/pra3/optinal/ uird.noload=/pra3/optional/!space
Точно лиКодзагрузит только /pra3/optional/space , а не все из /pra3/optional ?uird.from=/pra3/optinal/ uird.load=/pra3/optional/space
Все, что не указано в load не загружается.а сам "load" с параметрами в переменную втулить можно (учитывая разные источники)? чтобы, помимо config-а, вручную пару модулей можно было прописать к переменной с автопоиском по "злачным местам"?
Еще расширил функционал - теперь в параметры uird.ro,uird.rw,uird.cp можно задавать маску для директорий, которые смонтируюутся в объединенный корень(множественные changes в директорию) или скопируются (множественные rootcopy).Реализуемо? #запуск ядра с нужной папки;привязка директории(й) с базовыми модулями; к ней нужный профиль(настройки/возможно списки модулей если нужны); ко всему этому режим запуска; и инит под нужды;(если инит универсален, то как прописать в меню и нужно ли?) Желательно максимально гибко в конфигурировании чтобы избавиться от множества подменю.(видели реализацию lf в pra?)
Убрал root=uird:
uird.from=/porteus uird.ro=*.sfs uird.load=* uird.noload=/optional/ uird.cp=*/rootcopyТеперь понятно. И это можно прописать в /basecfg.ini внутри initrd (разобрать и вложить) ?
Идея мульти - взял любой оригинальный live и получил на общем ядре модульный дистр.Так где взять этот initrd+ядро+либы ядра?
Сейчас можно загрузить любой из самых популярных дистров без каких-либо пересборок.Не понятно как это сделать локально
Параметры портеус брать не вижу смысла, потому что может быть путаница. Префикс "uird. " полезен чтобы отличать параметры от других и не смешивать их.Какая путаница? с чем можно перепутать load=
Папка kernel, modules - это как раз обязательные элементы. В них лежит ядро и модули поддержки модульных фругал фич.вопрос обновления ядра(одно для всех? универсальное?) каким образом решается? нужно ли обновлять(если да то как)?
А чем сложно uird.load? Я старался все параметры сделать максимально минимально необходимыми, но чтобы получить ту гибкость, что сейчас есть. Мне кажется, я удачно справился с этой задачей.Просто переход на портеус оказался вызовом для многих разработчиков паппирус т.к. не было достаточно подробных практических примеров использования. Переводили на могучий самостоятельно, заинтересованности у комманды портеуса тогда(как собственно и сейчас) не было. Многое остается неосветленным до конца и сейчас. Тот кто сумел уловить фишки портеуса и модульность в частности уже не остановится, а большинству новые фичи (сущности в меню) как стоп-кран (средний возраст не позволяет быстро менять привычки).
Хорошо бы максимально привязаться к синтаксису параметров ядра портеус(livekit) Раз это используется - зачем переделывать привычное...Нужно банально на пальцах (практических примерах применения) пояснить для чего годится тот или иной пункт в меню (желание объять необъятное и тотальный контроль над своим детищем - качество людей в возрасте).
Если не верите в uird, давайте вместе его делать лучше?Давайте
Можем специально отвязать его от dracut, даже готов специально на примере запуска Richy тестить.
uird же через ini файл задается? разово пишется?
я против полчищ параметров, все что нужно система должна определять автоматически, сейчас для этого есть практически все.
конечно полностью от параметров не отказаться, но чем меньше - тем лучше.
a. сам dracut размер минимальный. скрипты весят копейки. размер зависит от того, что туда включать.Размер самого dracut значения не имеет. Возможно я не умею управлять сборкой - но например не юзать в initrd busybox - выше моего понимания
б. не хотелось бы убирать, чтобы легко отличать параметры от других.Что с чем там можно перепутать? Удлинение параметров ядра может привести к невозможности юзать grub4dos
какие программы не используют busybox?Я в Вашем инитрд заменил кучу утилит симлинками на busybox. Ужудшений не заметил.
я старался включать только те, что отсутствуют в функционале busybox.
параметры вот из этого списка могут быть любые: https://www.kernel.org/doc/Documentation/kernel-parameters.txtНу так что там с чем бъется? Где там load= и пр. к чему Вы прицепили uird.?
их и так до кучи.
Специально сделал минимальный образ на основе только busybox.В porteus весь initrd 700k.
Экономия - меньше 1 Мб. Большой образ экономия ~2Мб.
если не знать, что такое load=, топриписка к нему uird ничем не поможет.
Взять даже сам busybox - размер в статике - 2.7 Мб.Откуда такие сведения, из пальца?
В портеус в 700кб образе получается даже на нем идет экономия. То есть наверняка берется старая и маленькая версия.
# du -h busybox-1.21.1-initrd/
4.0K busybox-1.21.1-initrd/sbin
312.0K busybox-1.21.1-initrd/bin
320.0K busybox-1.21.1-initrd/# du -h busybox-1.21.1-Richy/
4.0K busybox-1.21.1-Richy/sbin
4.0K busybox-1.21.1-Richy/usr/sbin
4.0K busybox-1.21.1-Richy/usr/bin
12.0K busybox-1.21.1-Richy/usr
632.0K busybox-1.21.1-Richy/bin
652.0K busybox-1.21.1-Richy/
Чтобы предотвратить вопросы "при чем здесь Ричи" - в ПРА сейчас busybox скомпиленный Дядей Шуриком.
# du -h busybox-1.21.1-pra
312.0K busybox-1.21.1-pra/usr/bin
316.0K busybox-1.21.1-pra/usr
320.0K busybox-1.21.1-pra
Тем более применительно к frugal: в squashfs - используется блочное сжатие. Это значит что считывание файла из образа в несколько гигабайт или килобайт осуществляется одинаково. Экономия размера при современной цене и объеме флешек - это скорее из разряда "что бы было", реальной пользы в такой экономии нет.Флэшку надо юзать copy2ram. Да и с винта - не помешает. Поэтому размер очень важен
Среднедомашнему юзеру компьютер не нужен - достаточно планшета.Откуда тогда у пупи 12 место на http://distrowatch.com
но по существу не вижу в чем трудность один раз в загрузчике написать с приставкой uird.* ?Вот реальная рукотворная проблема
Удлинение параметров ядра может привести к невозможности юзать grub4dos
Флешку не нужно юзать copy2ram. Это ничего не дает. Суммарное время остается неизменным. Просто сначала ждешь пока в память загрузится, а потом чуток быстрее работаешь. А без этого - быстрее загружаешься и чуток медленнее один раз стартуешь. По итогу - суммарное время будет тем же самым. Размер не имеет значения. Более того - чем больше размер, тем он больше кушает памяти при copy2ram. Не давая никаких преимуществ по скорости. А поскольку памяти стало меньше - еще и медленнее будет.copy2ram чем либо конкретно отличается от того же pfix=ram? Исследования проводились? для чего собственно copy2ram применим? (может неправильное/искаженное представления ввиду неправильных аналогий с pupppy и ошибки в переводе доки портеуса?)
Проблемы с параметрами для grub4dos нет - если надо специфичное и длинное - ini конфиги в помощь, в любом количестве и простое uird.config=.живой пример увидеть можно? наглядней информация воспринимается легче чем через предположения/догадки.
Флешку не нужно юзать copy2ram. Это ничего не дает. Суммарное время остается неизменным. Просто сначала ждешь пока в память загрузится, а потом чуток быстрее работаешь. А без этого - быстрее загружаешься и чуток медленнее один раз стартуешь. По итогу - суммарное время будет тем же самым. Размер не имеет значения. Более того - чем больше размер, тем он больше кушает памяти при copy2ram. Не давая никаких преимуществ по скорости. А поскольку памяти стало меньше - еще и медленнее будет.ИМХО, я copy2ram не юзаю, copy2ram использую только когда одной флешкой нужно загрузить несколько компов и это очень удобно
Флешку не нужно юзать copy2ram. Это ничего не дает. Суммарное время остается неизменным.Так ли это?
copy2ram чем либо конкретно отличается от того же pfix=copy?Это разные реализации одной идеи
для чего собственно copy2ram применим?Ищите copy2ram (http://wiki.puppyrus.org/puppyrus/pra#%D1%81%D0%BE%D1%81%D1%82%D0%B0%D0%B2_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5) в доке
На современных компьютерах быстродействие за счет уменьшения размера не достигается.Ну ведь неправда же!
Флешку не нужно юзать copy2ram. Это ничего не дает.Опять неправда, copy2ram даёт возможность отключить флешку.
copy2ram чем либо конкретно отличается от того же pfix=ram?Да, copy2ram (в PuppyRus pfix=copy) - копирование модулей в память, pfix=ram - загрузка без файла сохранения.
Думаю большинство улучшений uird большинству юзеров ПРА не нужны, но позицию Дяди Шурика "свое лучше потому что свое, а чужое даже смотреть не буду" не поддерживаю. Надо все смотретьЯ своё пишу тогда, когда чужое не устраивает, ибо ленив неимоверно. :)
грубо, очень грубо (с)Зато по существу. У вас учусь ;)
При "кадровом голоде" отвлекаться на чужие побрякушки непроизводительно. У neobht есть свой сайт и форум, и нам не следует отвлекаться на его идеи, малоприменимые в Puppy.Не соглашусь. Людей с опытом и квалификацией neobht у нас не много. Глупо таким разбрасываться.
Я своё пишу тогда, когда чужое не устраивает, ибо ленив неимоверно.что вы считаете в uird сделано неправильно? что вас потенциально, теоретически не устраивает?
повторюсь еще раз (страх как не люблю плодить бесполезные сообщения): можно увидеть живые примеры ini файлов применительно к ситуациям в которых они используются? (пусть даже и некасающиеся конкретно puppy[rus]) пусть и для дебиан, арч или других абстрагированных от имеющихся в разработке наработок (хотя желательно на портеус как наиболее близкий к пониманию ввиду практического применения) Может удасться "переключится" на другой донорский дистрибутив(в частности с русскоязычной поддержкой) и с помощью доработки(пакетного менеджера в частности) добиться ощутимых результатов и наконец-то из чисто "разработческого" ключа преключиться на "пользовательский" (качественная подборка/притирка софта) ИМХО именно то чего не хватает многим пользователям (приходится многое из того что система должна делать автоматически[системно] делать вручную)Примеры мне придется сочинять. Я использую почти всегда конфиг параметров по умолчанию.
Общие утилиты должны делать по описанной мной схеме сжатые образы через chroot и опцией предлагать urpmi, apt-get, yum и тд. Это позволит сделать универсально эту часть.хотелось бы чтобы разработка двигалась в этом направлении. Но для этого нужно четкое понимание "стандарта" что влечет за собой "стандартные" методы обработки. (минимальный ручной контроль того, чем должна заниматься система в плане пакетов) а пока я так понимаю magos берет за основу rpm-based пакетные менеджеры c ручной правкой, а puppyrus[a] arch-based, а richy - микс (в основном ручная работа). Плюс ко всему нужно четко определится с вариантами отделения чисто системной информации от пользовательской (сохраненки)
Мы ушли в оффтоп.Это происходит в любой теме где появляется for_wov. Вы бы как-то структурировали мысли и излагали их покороче
После загрузки через uird общая структура хранится в /memory/после то понятно что должно быть в другом(общем) раскладе.
Остальные каталоги - родные для каждого дистра.
2. root= - является обязательным, желательно убратьвозможно хоть кто-нибудь покажет рабочий (на данный момент) вариант запуска(пример) с локального хранилища любого из дистрибутивов с применением uird? или это настолько очевидно и понятно что даже не стоит обсуждать? (если и оффтоплю то только по причине отсутсвия образцов для сравнения и практического запуска хоть-какого дистра с uird)
1. Транслятор читкодов и возможность задавать алиасы параметрамвозможность настроек под себя - всегда хорошо. Вопрос какие читкоды (magos/porteus) тоесть конкретный список хотите иметь возможность настраивать?
Берете livedvd от дистра и размещаете его в папке isoеще бы вот такими простыми словами, если позволяют рамки приведенного вами примера, об этом
Смотрите внутри iso название файла с сжатой системой, например : filesystem.squash
В загрузчике пишите:
kernel vmlinuz root=uird uird.from=/iso/myobraz.iso uird.load=* uird.ro=*/filesystem.squash
initrd uird.magos.cpio.xz
Домашнему пользователю это даст стабильную поддержку и расширенный функционал для тех, кто готов использовать продвинутые фичи, вроде rwm модулей, множественных home, машинно-ориентированных модулей (модулей, которые подключаются при загрузке на конкретном железе, удобно, если необходимо носить флешку с собой и подключать к разным машинам и иметь различные параметры для каждой машины). И др.то подключились бы тестеры и разговор ИМХО пошел бы в совсем другом ключе.
Кстати интересный пример
И сразу :
vmlinuz - какой? Если из myobraz.iso - тогда uird.magos.cpio.xz надо пересобирать ?
Если не из исо - как туда модули чужого ядра вкорячить?
vmlinuz - любой, от которого есть модуль с модулями ядра и фирмваре. В этом случае достаточно пересобрать под него и потом с различными iso их использовать единообразно. Пример как сделана MagOS Multi.Не понял - в каком виде должен быть "модуль с модулями ядра и фирмваре" (сквош или initrd) и как его в эту конструкцию присунуть...
Поскольку в этой теме речь идёт не о PRA на UIRD, а про UIRD вообще, думаю что лучше перенести обсуждение в раздел Разработка PFS и Live-Init (http://forum.puppyrus.org/index.php/board,30.0.html).Тема началась именно для pra и я здесь именно в это направление и клоню
Если возражений не будет - предлагаю перенести тему и переименовать раздел в "Разработка PFS и UIRD".Перенести - может быть. А переименовывать раздел не надо. В нем как минимум действующий porteus-initrd
На данном этапе разработки, с учётом очень малого количества разработчиков - унификация становится особенно актуальной!Смотря с чем унифицировать. Лично я за busybox.
vmlinuz - любой, от которого есть модуль с модулями ядра и фирмваре. В этом случае достаточно пересобрать под него и потом с различными iso их использовать единообразно. Пример как сделана MagOS Multi.Не понял - в каком виде должен быть "модуль с модулями ядра и фирмваре" (сквош или initrd) и как его в эту конструкцию присунуть...
Разве фирмваре ядрозависимо?
Squashfs . Указать директорию с ним вторым параметром в uird.from и добавить в фильтр uird.roИ Вы говорите что с докой все хорошо? Где там это?
Если указано в noload, то загрузить оттуда уже не получится.Какой тогда вообще смысл в optional ...
Не увидел у вас в структуре папки MagOS модуля с системой.где взять (уточняю вариант net-live)?
iftitle [find --set-root --ignore-floppies --ignore-cd /iso/lubuntu-12.10-desktop-i386.iso] lubuntu-12.10-desktop-i386 (sda4)
kernel /casper/vmlinuz file=/casper/preseed/lubuntu.seed boot=casper iso-scan/filename=/iso/lubuntu-12.10-desktop-i386.iso locale=ru_RU
initrd /casper/initrd.lz
Тоже про это подумал, когда узнал, что здесь можно через зпт uird.from=/pra/base;/pra/modulesКак получить аналог /optional портеуса, т.е. загрузка только модулей по маске из папки
А зачем тогда load= Если все уже во from=
И как загрузить перечисленные модули? Тоже uird.from=mod1;mod2 или нужно полностью и с путем...
В идеале прийти к универсальному (под любой дистр, ядронезависимому) initrd и скрипту сборки 2го initrd только с модулями ядра (для спец ядeр он будет не нужен)Вот это, как мне кажется, верное направление. Если возможно сделать UIRD таким - было бы замечательно!
Или другой вариант:А что тут другого? Я именно это и предложил и даже сделал и выложил
А что тут другого?Код скриптов в модульной и безмодульной версии должен быть абсолютно одинаковым. И собираться одним скриптом (например с параметром --add-modules, или что-то в этом роде). Тогда все желающие собрать дистрибутив смогут использовать один и тот же код загрузки, что значительно упростит работу и сделает скрипты Initrd более надежными (больше тестов).
Я именно это и предложил и даже сделал и выложилНа основе UIRD? Мы же сейчас его обсуждаем.
Да. Я сделал (http://forum.puppyrus.org/index.php/topic,16558.msg100657.html#msg100657) такой uird. Там есть над чем поработать.Тут слишком много ручных изменений, универсальности никакой.
1. Выкинул сетевую загрузку
2. Заменил много утилит на busybox
3. Убрал либы ядра (для спецядер не нужны) Для остальных - удобнее делать слоеный initrd
4. Добавил в 167 строку uird-init : clear (убрал крякозябры)
5. Убрал root=uird: в /etc/cmdline.d/01-default.conf
optional/o1.pfs
optional/o2.pfs
optional/o3.pfs
uird.from=optional/o2.pfs
uird.noload=!optional/o2.pfs
uird.from=/optional;/base/;/modules/
uird.load=*o2*
А dracut от root никак не отучить? Мне прописка в конфиг помогалаТак должно работать. Я не написал, потому что это подразумевалось само собой про base,modules.
Я не написал про еще /base/;/modules/ - думал догадаетесь. Из них надо загрузить всеКодгрузит только один o2 :'(uird.from=/optional;/base/;/modules/
uird.load=*o2*
uird.load=/base/*;*o2* - без улучшений
Попробуйте */base/*Без улучшений :'(
kernel vmlinuz root=uird uird.from=/iso/myobraz.iso;/my/my.sfs uird.load=* uird.ro=*/filesystem.squash
initrd uird.magos.cpio.xz
Перечислять модули не нужно. Это маска фильтра для пути. Можно писать вот так: load=/base/editors/*/testing/*
Опциями должен регулироваться персонализированный набор ПО - загрузка для программистов, для дизайнеров, архитекторов, музыкантов и тд.понятно что для вас решение прерсонализированного набора ПО должно решаться на уровне структуры (каталогов) вот почему для вас так важен вопрос тематического наполнения софта.
изходя из этого:Перечислять модули не нужно. Это маска фильтра для пути. Можно писать вот так: load=/base/editors/*/testing/*Опциями должен регулироваться персонализированный набор ПО - загрузка для программистов, для дизайнеров, архитекторов, музыкантов и тд.понятно что для вас решение прерсонализированного набора ПО должно решаться на уровне структуры (каталогов) вот почему для вас так важен вопрос тематического наполнения софта.
Для вас размер не имеет значения и вы выбираете все модули "скопом" по маске в ходу лишь выбирая что нужно в конкретный момент.
Для паппи же принципиально важно выбирать конкрентые модули (возможно списком) не загружая скопом всего. Минимальный запуск и подключение/отключение на ходу (возможно модульными группами если к этому дойдем)
Избирательность - вот пожалуй слово, которым можно охарактеризовать паппи.
Опциями должен регулироваться персонализированный набор ПО - загрузка для программистов, для дизайнеров, архитекторов, музыкантов и тд.Проще и понятнее для пользователя будут составные тематические модули. Кстати, так и было в ранних Puppy.
Меня не хотите слушать.Это нормально, меня тоже никто не слушает. ;)
Иллюзия, что дистр надо копировать в память целиком, чтобы работал быстрее.
Говорить, что цели разные, если опираться на пользователя - это врать.Средства для пользователя должны быть другие.
с моей профессиональной точки зренияВо-от! Вы мыслите как админ. Написал конфиг - работает. Пользователю же проще перекинуть модуль из одной папочки в лругую и не париться.
процесс колупания в системе путем компиляции, вместо того, чтобы создавать что-то новое и уникальное.Всё уже создано до нас, чтиайте книгу Экклезиаста.
Человек все больше становится ленивым и выбирать какие-то модули, пункты меню, лазить по репозиториям с софтом или запускать пакетные менеджеры - это сложно, все хотят получить все и сразу и чтобы это работало.Для этого я написал modules_event, который подключает, отключает и закачивает модули. А через опции загрузки, это хуже чем через меню.
Вот мы и стараемся делать это."Не мы, а вы" (с) "Операция Ы"
экономить образом initrd и пытаться вкорячить в него только исключительно busybox, выкинув другой функционал только потому что экономим 2мб.
Под "мы" я имел ввиду разработчиков magos.Я на это и намекнул.
Я мыслю не только как Админ, но и как пользователь, потому что общаюсь с ними каждый день и вижу реальную потребность и действия.А я только как пользователь, ибо ни разу не админ.
До нас не все создано. Но корпорации этот мем пытаются проталкивать в общество.А если головой подумать?
for_wov, усложнять не сильно хочется, а писать длинные четырех этажные конфиги это хочется?альтернатива(вмеру гибкая и простая в понимании)? uird + структура каталогов с net-live? может структура каталогов второстепенна и грузить можно с хаотично разбросанных мест правильно прописав параметры?(гуру руками, пользователям через gui)
Или разбивать софт на единицы, которые тщательно минимизируются под конкретное применение без анализа последствий - это правильный подход?pfs-utils для чего разрабатывали?
Zay, uird умеет все из того, что есть в porteus. Опции портеус - частный случай применения uird.Предлагаю сосредоточиться на этом и не засорять тему глобальными рассуждениями
sfs, сегодня посмотрю что и как у вас собрано в iso и расскажу, где ошибка.
Посмотрел iso.извините за офтоп
uird отрабатывает, как и должен.
напишите какой результат вы хотите получить, я вам напишу как это записать в параметрах.
напишите какой результат вы хотите получить, я вам напишу как это записать в параметрах.Загрузить все модули из /base /modules и по маске uird.load= модули из /optional
Структура в данном случае практика magos multi показала примерно такая:Это каталоги? Где модули лежат?
/iso
/kernel
/modules
Не уверен, но возможно сработает и так uird.from+=blabla/optional т.е. добавить каталог optional как еще один источник.думаю, так загрузится все из /optional
кто мешает написать: load=/optional/* noload=все что в портеусе было не нужно грузить? ИЛИ наоборот.По замыслу в /optional/ лежат модули которые нужны, но используются редко. Их много. Там все меняется. Перечислять их в noload= - не реально. Это не гибко. Это потеря 50% функционала. Вернуть не сложно. Если позиционировать uird шире magos - это необходимо
uird.load=*/base/*,*/modules/*,*/optional/blabla1,*/optional/blabla2,*/optional/blabla3,....Вы это проверяли?
Вроде не работало (http://forum.puppyrus.org/index.php/topic,16558.msg101006.html#msg101006)
Но считаю ненужным подгонять применение uird аналогично porteus. Это ограничение не приводящее ни к каким преимуществам.Имхо преимуществами воспользуются только продвинутые пользователи. Менее продвинутым нужна простота и понимание того что и как они грузят. А рядовому обывателю вообще без разници что там написано - главное удобство пользования в последствии (как и налаживание этого самого удобства со стороны разработчиков)
Переделал по максимуму на busybox.Экспериментировал с http://magos.sibsau.ru/repository/netlive/multi/MagOS/kernel/i586/uird.minimal.cpio.xz
title ▒▒ PRA. systemd + uird \n Аналог porteus-initrd с расширенными функциями\n Работает с initrd-uird3.xz
set d=pra
kernel /%d%/vmlinuz uird.from=/%d% uird.ro+=*.squashfs root=uird: uird.noload="" uird.load=/base/*,/modules/*,/optional/*Systemd
echo initrd /%d%/initrd.lz /%d%/initrd-uird3.xz
initrd /%d%/initrd.lz /%d%/uird.minimal.cpio.xz
Тут проще вам в гости к нам на форум или в беседку заходить.Скучно у вас, потому что непонятно.
Можете наши ядра брать. Но мы берем стабильные из Роса варианты. Но можно брать и свежие.А нет ли ядер посвежее вместе с готовым uird? Проприетарные видеодрова тоже есть? Можно ссылку...
На счет не русскоязычных не знаюА смысл тогда переводить на англ? Посмешить носителей языка, как на китайских этикетках? Появятся иноязычные - сами переведут
Самый свежий и собранный uird - обычно в magos multi в репе для x86_64.В архиве magos этот же http://magos.sibsau.ru/repository/netlive/2014.64/MagOS/uird.magos.cpio.xz
magos.sibsau.ru/repository/netlive/multi
http://magos.sibsau.ru/repository/netlive/2014red/MagOS/uird.magos.cpio.xz
403 - Forbidden
uird.load=help uird.changes=help.Чтобы его почитать надо загрузиться с конфигом
kerlel /путь/vmlinuz uird.load=help uird.changes=help
uird.from=/MagOS root=uird:
В предыдущем Вашем релизе не смог запустить Magos под uird (все файлы из скаченного архива)Что делал не так. Это не пра и ничего не вырезаноКодвиснет на стадии systemduird.from=/MagOS root=uird:
Со старым (не uird) - грузится
Какие правильные параметры для UIRD?
В предыдущем Вашем релизе не смог запустить Magos под uird (все файлы из скаченного архива)
Код:
uird.from=/MagOS root=uird:
виснет на стадии systemdВ предыдущем Вашем релизе не смог запустить Magos под uird (все файлы из скаченного архива)
Код:
uird.from=/MagOS root=uird:
виснет на стадии systemd
Со старым (не uird) - грузится
Какие правильные параметры для UIRD?
Что делал не так. Это не пра и ничего не вырезано
Со старым (не uird) - грузится
Какие правильные параметры для UIRD?
Что делал не так. Это не пра и ничего не вырезано
magos-linux.ru/dwiki/doku.php?id=uird_статья_в_разработке (http://magos-linux.ru/dwiki/doku.php?id=uird_статья_в_разработке)Только вчера обрадовался примерам - а сегодня их уже убрали :'(
сборка инитрд для любого ядра и load noload change copy2ram. Остальное - автоматом (modules -грузим , optional не грузим по load=)Остальные параметры - для продвинутых. Иначе юзера испугаются
И в феврале я как раз по просьбе на этом форуме разделил uird на разные сценарии сборки, чтобы sfs мог собирать его без сетевых наворотов, без поддержки файловых систем редко используемых и т.д. Но этого оказалось мало и в качестве неудобств было высказано, что писать параметры сприставкой uird.* - очень длинно и сложно, что строка параметров загрузки ограничена и не влезет туда много. Я тогда добавил алиасы и любую команду можно переназначит другим алиасом. Но этого тоже оказалось мало. И причиной стало раличие в работе одноименных параметров. Тогда я написал как параметрами по умолчанию определить работу в режиме совпадающему с тем, что сейчас в porteus версии PRA. Тогда стало аргументом плохая документированность. Начали писать документацию. Привели примеры загрузки PRA, загрузки Richy. Тогда сборку самостоятельно было непонятно как делать и из-за отличий в версиях dracut в Арче и Роса, сборка отличалась. Я добавил оригинальный dracut из апстрима и унифицировал код в самостоятельный и независимый от дистра донора. Даже поддержу мультиязыковости добавили. Осталось только блэк джек добавить. :)))Я стараюсь следить за UIRD. Вот (http://www.puppyrus.org/~melvik/puppyrus/ftp/puppyrus/puppyrus-a64/kernel/4.1.8-1-MANJARO/) из последнего
И вот сейчас новая волна.
Поэтому мое мнение - необходимо использовать в PRA uird, причем использовать его не в урезанном варианте. И принимать участие в его развитии - идеями, доработками, тестированием. Альтернатив с таким же функционалом ему нет. Не использовать его только по той причине, что он слишком гибок и многофункционален, что пользователям он сложен и прочие другие причины - не корректно.
Никакие доводы не надо приводить. Если пользователи не лезут на этот уровень, то значит он им безразличен.Я так не могу. Не только же для себя дистр делаю...
Поэтому переходите просто и все.
Никакие доводы не надо приводить. Если пользователи не лезут на этот уровень, то значит он им безразличен.Я так не могу. Не только же для себя дистр делаю...
Поэтому переходите просто и все.
вы пытаетесь убедить только себя.Пролистайте тему - кто еще кроме меня из наших интересуется...
Пользуясь разумным подходом, сложно выбирать менее функциональноеporteus-initrd объективно менее функционален, но и его функционал востребован у нас процентов на 30
./make_uird_magos.sh
./make_uird_magos.sh: line 5: cd: dracut/modules.d: Нет такого файла или каталога
ln: указанная цель «../modules.d/» не является каталогом: Нет такого файла или каталога
./make_uird_kernel.sh: line 6: ./dracut/dracut.sh: Нет такого файла или каталога
dracut module 'uird' cannot be found or installed.
git clone --recursive https://github.com/neobht/uird.git
./configure
make
./dracut/dracut.sh -l -N -f -m "base uird kernel-modules" \
-d "loop aes-generic aes-i586 pata_acpi ata_generic ahci xhci-hcd \
usb-storage uhci-hcd hid usbhid ehci-hcd ohci-hcd ehci-pci ehci-platform hid-generic \
jbd jbd2 lockd evdev \
af_packet \
=ide =ata =usb/storage =usb/host" \
--filesystems "aufs squashfs vfat msdos iso9660 isofs ext3 ext4 fuse udf nls_cp866 nls_utf8 " \
kernel uird.from=/pra root=/
root=что угодно. Это оставлено, чтобы не ломать совместимость с dracut.Тогда почему в дефолт не прописать?
алиасы делаются вот здесь: https://github.com/neobht/uird/blob/master/configs/uird_configs/uird_aliasesТ.е. можно только при сборке Initrd? потом никак?
я уже приводил ссылки на загрузочные меню от multi, но вот еще раз: https://github.com/neobht/magos-ipxeС трудом догоняю. Как сделать исо (флэшку) с донорским исо внутри? В menu.lst чего писать?
в частности: https://github.com/neobht/magos-ipxe/blob/master/global-menu.ipxe
quickshell - это большее, чем debug, если не выбрасывать образ uird.soft.cpio.xz, то это полноценная консоль с midnight commander, git, ssh, ...Как в нее выйти?
uird.load=* uird.ro=*.xzm,*.pfs,*/live,*.sqfs,*.squashfs,*.sfs,*/ext3fs.img,*/filesystem.squashfs root=uird rw vga=788 lang=ru_RU plymouth.enable=0 uird.config=MagOS_Full.ini
если не использовать magos-patches.xzm и MagOS.ini, то нельзя будет настроить образы под себя: пароль root, user, и т.д.Зачем дублировать функционал сохраненки....
сохраненка - это постоянная сборка при малейших фиксах модуля.Если примонтировать к /etc и /home по разделу, сохранёнка практически не нужна. Ещё проще ln -s /etc /home/.etc
Потому что это и есть сохраненка в папку, только зачем-то их две /etc и /home, а не как обычно одна /сохраненка - это постоянная сборка при малейших фиксах модуля.Если примонтировать к /etc и /home по разделу, сохранёнка практически не нужна.
Потому что это и есть сохраненка в папку, только зачем-то их две /etc и /home, а не как обычно одна /Это не совсем так, к тому-же в / много "одноразовой шелухи".
В том то и фишка, что можно много всего делать на уровне инитрд не изобретая дополнительные костыли.Я в своём initrd к этому и стремлюсь. К моменту switch-root система должна быть максимально готовой.
Например home+etc это uird.mounts=/bla-bla/homes::/home;/bla-bla/etc::/etc. Или нужен вам не один а три rootcopy, пожалуйста uird.cp=*/rootcopy1;*/rootcopy2;/*rootcopy3Все эти хитрые переменные можно вставить и в мой initrd, только что изменится? У меня dev= и dir= для уменьшения find и UUID или LABEL для монтирования /home, зачем все остальные излишества?
Время работы uird зависит от количества find, если свести поиск к минимуму будет быстро uird.from=/dev/sda1/mydistr uird.load=* uird.ro=*.xzm uird.find_params=-maxdepth;2 типа того.
Я запарился юзеров к портеусу приучать.Вот этого не надо было делать, это стратегическая ошибка.
Если что-то поменяется - сожрут
А как надо было без ошибок? И какие последствия "ошибки" ?Не знаю, но портеус нам точно был не нужен.
Отличный подход.Знаете что, меня с вашим "подходом" на альтфоруме обвинили в краже пакетов и при этом натыкали носом в вашу вики. Пришлось уйти. Наш коллега neobht тоже "получил на орехи" за попытку меня защитить.
на альтфоруме обвинили в краже пакетовПочему краже? Нарушена какая-то лицензия? Дайте ссылку
"Last-Translator: Alexandr Proklov <ssaa@rambler.ru>\n"
"Language-Team: PuppyRus Linux Team <www.puppyrus.org>\n"
Sfs, вы о какой конкретике?
Насколько сложно переделать портеус в хук dracut?Есть мысли дополнительно выпустить pra64 на uird + ядро и проприетар от manjaro
Вам удавалось собрать UIRD не в magos? Где удавалось?
Мне пока сложно с UIRD и главное не понятно зачем мне все эти тонкости
base modules optional rootcopy + changes load= noload= copy2ram rammod (http://wiki.puppyrus.org/soft/porteus-initrd)
fat* ntfs ext*
сд флэш хард
Помогите сделать такой инитрд 64 бит без прочих наворотов, минимального размера с макс. быстрым поиском
Надо как-то начать. Может потом и понимание наворотов придет
А дальше зависит от параметров. Если нужен поиск, то будет медленный поиск, если указать явно, то будет мгновенное монтирование и тд.Я и прошу с этим помочь. Самому при доступном авторе не хочется
kernel /pra/vmlinuz-3.19.2-pf2 dir=pra noswap noload=rox;Minirc quiet load=Syst copy2ram rammod=001;070
pra
base
modules
optional
rootcopy
uird.from=pra noswap uird.noload=rox;Minirc quiet uird.load=/base/,/modules/,/optional/*Syst*,rootcopy uird.ro=*.pfs uird.cp=*/rootcopy uird.find_params=-maxdepth,2 uird.copy2ram=001;070
uird.load+=/optional/*Syst* uird.noload=rox;Minirc uird.copy2ram=001;070
root=/ uird.from=pra uird.load=/base/,/modules/ uird.ro=*.pfs,*.xzm,*.rom,*.squashfs,*.pfs,*.sfs uird.cp=*/rootcopy uird.find_params=-maxdepth,2
uird.from=/MagOS;/MagOS-Data
uird.changes=/MagOS-Data/changes
uird.cache=/MagOS-Data/cache
uird.machines=/MagOS-Data/machines
uird.homes=/MagOS-Data/homes
UIRD_BASECFG=uird.basecfg
UIRD_CONFIG=uird.config
UIRD_SGNFILES=sgnfiles
UIRD_RO=uird.ro
UIRD_RW=uird.rw
UIRD_CP=uird.cp
UIRD_COPY2RAM=copy2ram
UIRD_COPY2CACHE=uird.copy2cache
UIRD_RAMSIZE=ramsize
UIRD_IP=uird.ip
UIRD_NETFSOPT=uird.netfsopt
UIRD_LOAD=load
UIRD_NOLOAD=noload
UIRD_FROM=dir
UIRD_CACHE=uird.cache
UIRD_HOMES=uird.homes
UIRD_CHANGES=uird.changes
UIRD_MACHINES=uird.machines
UIRD_MOUNTS=uird.mounts
UIRD_FIND_PARAMS=uird.find_params
UIRD_HELP=uird.help
kernel /pra/vmlinuz-3.19.2-pf2 dir=pra noswap noload=rox;Minirc quiet load+=Syst copy2ram
Для ускорения можно уточнить uird.from=/dev/sda1/путь/pra и сократить глубину поиска uird.find_params=-maxdepth,3sgnfile - не то же даст?
uird.load=/base/,/modules/,/optional/*Syst*,rootcopy - rootcopy тут не лишний?+ в алиасы не засунуть?
uird.find_params=-maxdepth,2 - подч. тире , зпт - без опечаток uird.find_params=-maxdepth_3?
Никак не сделать чтобы /pra/qqq.pfs не грузились?
Optional не ломали, его функционал делается фильтрами uird.load uird.noloadНу так это и есть сломали :)
Все не так страшно. Папок нет вообще ни base, ни modules, ни optional. Есть фильтры.На мой взгляд именно это и страшно. Параметров загрузки - чем меньше тем лучше. Всё - в дефолт
noload= /base /modules
load= /optional
Цена универсальности всегда усложнение. Нужно только грамотно скрыть лишнее ;)С этим не поспоришь. Но у меня ощущение, что переплачиваю :D Как раз и пытаюсь скрыть ;)
С этим не поспоришь. Но у меня ощущение, что переплачиваю :D Как раз и пытаюсь скрыть ;)Ну так в uird скрыть гораздо проще. Есть понятие параметров по умолчанию.
Обычные пользователи даже не заметят разницы. Те из них, кто понимает хоть маленько в параметрах - будут в восторге от гибкости.как бы нам еще вам расписать за arch linux и pfs и тогда получится все весьма неплохо.
uird - это только шаги вперед и ни одного назад. другими словами весь предыдущий функционал воспроизводим полностью, даже синтаксис почти не изменился.
Попробуйте алиас dir= заменить на другой.UIRD_FROM=dir - вместо dir - что-то другое написать?
С автомонтированием не понял вопрос. Где вы это хотите?После загрузки системы - все смонтировано +
http://wiki.puppyrus.org/soft/porteus-initrd#noauto
дефолтное автомонтирование не нравится,
http://wiki.puppyrus.org/soft/porteus-initrd#noauto
По кругу ходим, здесь (http://forum.puppyrus.org/index.php/topic,17311.0.html) уже разбирали и все проблемы при использовании noauto не сняли ведь, поэтому и хотелось бы, чтобы автомонтирование было опциональным, а не наоборот, поскольку лучше по желанию пользователя подключить нужные разделы, чем сначала все смонтировать, а потом размонтировать не нужные.дефолтное автомонтирование не нравится,Кодhttp://wiki.puppyrus.org/soft/porteus-initrd#noauto
Так может и не надо тогда переделывать в точности под портеус?А потом те кому нужно автомонтирование, дружно откажутся от UIRD. (если есть возможность, нужно делать, чтобы был выбор с сохранением)
А потом те кому нужно автомонтирование, дружно откажутся от UIRD.хочется на это посмотреть. Заметит ли человек который первый раз видит систему, что у него uird надо срочно все бросить и ставить убунту.
Попробуйте алиас dir= заменить на другой.fdir - без улучшений (никакие модули не грузятся). Возвращаю, делаю вместо uird.load -> load - грузятся вообще все модули из from - в конце стопорится
Выбор, все все время ждут что люди будут выбирать.....Имелось ввиду, что ветераны, если им не понравится как стало (не так как они привыкли) начнут кидать предъявы sfs, вернуть как было. И больше, чем уверен возглавишь эти ряды ты.А потом те кому нужно автомонтирование, дружно откажутся от UIRD.хочется на это посмотреть. Заметит ли человек который первый раз видит систему, что у него uird надо срочно все бросить и ставить убунту.
Про base,load и монтирование=auto что думаете?
load= - загружает, noload исключает.Помнится мне, была у нас подобная идея. Отказались. Для простого пользователя не наглядно.
Очень логично. И гораздо логичнее base, modules, optional.
Что там с base? Поясните вопрос.http://forum.puppyrus.org/index.php/topic,16558.msg110554.html#msg110554
Очень логично. И гораздо логичнее base, modules, optional. Просто эти три директории были упрощением в linux-live. Uird гораздо шире эту идею развивает.Что можно тут развить. Из aufs ничего кроме порядка слоев не выжать
В uird нет привязки к жестким директориям и это большой шаг.Скорее усложнение. Есть 3 категории модулей - базовые (новичкам лучше не трогать), софт (выбирай что любишь) , редко используемые . Что тут еще можно придумать?
Sfs, вы надуманно создаете проблему.Я вот-вот выложу uird для ПРа - увидите реакцию юзеров на uird. + и прочие усложнения
Я вообще рекомендую использовать в pra - init ddsh.Что это даст?
Вот объясните мне зачем удалять поддержку сети и экономить 7мб?Зачем мне то, что я не буду использовать?
можно как-то на уровне инитрд поднять сеть?Запросто, на "голом" busybox.
Конечно можно поднять.Как ? Не нашел в Вашем большом инитрд dhc*
в планах добавить возможность собирать базовые системы на разных репах из самого uird.Для какой цели и кто по замыслу этим будет заниматься?
Соответственно если сейчас работает только с aufs ядрами - будет с любыми?Если есть свежая инфа предлагаю перейти в (http://forum.puppyrus.org/index.php/topic,16200.msg100445.html#msg100445)в uird планирую включить.
В UIRD не планируете overlayfs ?
что значит изменяется порядок слоев?По дефолту - слои по папкам, по алфавиту
чем не подходит обычная нумерация модулей?Нумерованные модули не загрузить из /optional так, чтобы слои соответствовали нумерации
зачем делать нумерацию и смешивать ее между base и modules?base и optional - чтобы удобно выбирать (http://forum.puppyrus.org/index.php/topic,14190.msg110846.html#msg110846)из optional нужный DE
в uird порядок:Да. И copy2ram это ломает
1 источник: директории в порядке сортировки(base,modules,optional,...)
2 источник: директории в порядке сортировки
После Ваших правок мне будет достаточно заменить перепаковкой скрипты в корне initrd?
Это сегодня будет? Тогда жду , не выкладываю пока PRA64uird.iso
В magos uird уже по дефолту?
В итоге полной совместимости по ключам с портеус не сделать += портят картинуАлиасы не починили?они должны работать. я выборочно проверил.
алиас какой у вас не работает?
В таком случае лучше использовать авторский синтаксисВот видите, вы уже в полной зависимости от портеус.
щас он собирется и героически перепилит все на +=В таком случае лучше использовать авторский синтаксисВот видите, вы уже в полной зависимости от портеус.
Жду. Значит я буду первопроходцем :D
щас он собирется и героически перепилит все на +=Вот и я про то. Жрите кактус.
ты в курсе что щас сморозил хрень?щас он собирется и героически перепилит все на +=Вот и я про то. Жрите кактус.
ты в курсе что щас сморозил хрень?Ты так думаешь? Я вот считаю, что вы хренью маетесь.
изменил логику работы. теперь порядок сохраняется согласно базовому уровню вне зависимости от того используется copy2ram,copy2cache.Да. Теперь все ок (http://www.puppyrus.org/~melvik/puppyrus/ftp/puppyrus/puppyrus-a64/kernel/4.4.0-1-MANJARO/initrd-um9b.xz). Спасибо + за скорость
uird.rw+= - фильтр для модулей/директорий, которые монтируются в режиме RWsquash можно как-то подключить RW... RW - это на выходе сквош будет перепакован или что...
uird.copy2ram+= - фильтр для модулей/директорий, которые копируются в RAMКЭШ не в RAM... Или в чем разница
uird.copy2cache+= - фильтр для модулей/директорий, которые копируются в КЭШ
uird.cache+= - источники, в которые стоит синхронизировать модули/директориивообще ничего не понятно
uird.machines= - источник, где хранятся машинно-зависимые персистентные изменения
uird.homes+= - источники, где хранятся домашние директории пользователей (объединяются AUFS)сhanges - понятно. Чем отличается остальное и как взаимодействует не понятно
uird.home= - источник, где хранятся домашние директории пользователей
uird.changes= - источник, где хранить персистентные изменения
Была надежда, что народ подключитсяКак минимум, пока в магос-исо по дефолту не будет - не надейтесь
Вы пишите пример, который вы знаете как сделать в инитрд, а мы с Антоном сдклаем этот пример для uird. Так табличку и заполним.Дело в том, что , как мне кажется, 90% юзеров ПРА используют только dir= (from=)
возможность собрать каскадно-объединенно, например часть хомы в режиме RO, а часть изменяемую.Не представляю практической ситуации, где это может понадобиться
load= в uird извращено (перечисление загрузки, а не загрузка из /optional). От этого все беды
Если заменить на base=перечисление_загрузки или типа того - сразу уходят плюсы и все становится логично
Причем гибкость функционала не теряется
base modules optional даже Дядя Шурик принял. Не надо тут ничего изменять это логично привычно и удобно
нелогично.Все так думают? или base,modules,optional - только мне удобно....
зачем жестко привязывать к конкретным каталогам base, modules, optional.С одной стороны - да, зачем? С другой - а чем стандартные плохи? Разницы, откуда загружать, нет. Получается функционал ради функционала.
зачем жестко привязывать к конкретным каталогам base, modules, optional.С одной стороны - да, зачем? С другой - а чем стандартные плохи? Разницы, откуда загружать, нет. Получается функционал ради функционала.
Думаю правильное слово не "удобно", а "привычно".Может быть, но насколько мне известно - старый магос-инитрд тоже base, modules, optional.
Простота для всех + опциональная гибкость для продвинутыхпрям uird описали :)))
Я бы не назвал uird.load[ + ]= простотой. Уж хотябы покороче uload=.
uird. uird. uird. uird. - зомбирование напоминает :) или откат от производителей клавиатур :D
я так и не понял в чем у вас проблемы с алиасами?Я же писал - из за + илюзии не получается. Придумывать еще 1 вариант , свой, ключей не вижу смысла. Юзаю Ваш, чтобы не вносить путаницы
К вопросу о простоте и привычности :) Думаю есть много пользователей, для которых дракут и удев - просто набор букв типа ёклмнЭт точно.
kernel /boot/vmlinuz
initrd /boot/initrd.gz
почему бы вам не сделать как во всех линуксах некие стандартные (дефолтные) параметры которые можно не указавать.Если pra лежит в директории /pra + pra-porteus-initrd = загрузится как Вы написали
Всё чаще на форуме стали появляться сообщения о проблемах с загрузкой.Это не помогает. Для таких есть гибридная (http://forum.puppyrus.org/index.php/topic,16614.0.html) установка на флэш
Никакими средствами не получится перенести права на fat\ntfs
uird так может http://www.magos-linux.ru/index.php?option=com_agora&task=topic&id=1005&p=1&Itemid=55#p17412) (http://www.magos-linux.ru/index.php?option=com_agora&task=topic&id=1005&p=1&Itemid=55#p17412)) )Не очень понятно - для каких практических целей может понадобиться запускать стандартно установленную систему нестандартным для нее initrd , когда есть родной...
Сорри. Чистым режимом мы называем загрузку без сохранений. То есть грузите свою росу в magos-mode ломаете систему, перегружаете обычныи инитрд и все работвет :)Хорошо что UIRD умеет это.
Да, именно так. Только это мы с вами понимаем. А когда я описал это на форумах альта, росы и магеи (дистры которые проверенно грузятся) реакция околонулевая. :(Идея перспективная, но инерция мышления мешает многим понять её преимущества.
если скопировать раздел с ОС полностью в файл, и смонтировать его через loop - запустится?Если из корня работал - и так должен. Для uird по сути ничего не изменилось
У нас были подвижки в том же направлении: LF (linux frugal). Набор для преобразования любого линукс в frugal (http://forum.puppyrus.org/index.php/topic,15276.0.html)Это был скорее тупик. Не прижилось
Идея перспективная, но инерция мышления мешает многим понять её преимущества.Не факт. У меня на работе стоит корпоративный фул линукс. Я в нем работаю в приложениях. Не экспериментирую
Домашнее задание: загрузить Richy (https://cloud.mail.ru/public/80bfb1e2a2ae/Richy-219). ;)Чувствую подляна какая то :) Не иначе подвох где то, нет?
З.Ы. devx-219.pfs это что? Нужен?Нет, это компилятор.
он что-ли, как стиральная машинка LG может всё, что даже не нужно, но с простейшей функцией, защита от детей кнопки выключения, не справляется...теперь ещё и диски непримонтированными остаются и флешка с ПРА в /memory/data/from/0Специфика UIRD. Если большое ядро не нужно - используйте pra-porteus-initrd и наши спец. ядра
Внесено много изменений.Где прочитать список?
приглашаю к тестированиюПланирую выпустить pra-roll c uird (http://forum.puppyrus.org/index.php?topic=19349.0) и manjaro ядром 4.8 с полным комплектом видеодрайверов
переход на uird, как основной инструмент.На счет "основного" сомневаюсь
Где прочитать список?только по коммитам.
Т.е. фулл установленную сисмему с помощью uird можно загрузить в RO режиме с фругал-сохраненкой...
Тогда интересный для экспериментаторов функционал
Если использовать при этом btrfs со сжатием, то ещё и скорость загрузки ОС и ПО сильно возрастёт.А если традиционно зажать ее в squash и использовать любой фругальный initrd да еще copy2ram - чем хуже?
Тем что нельзя это сделать на дистрах толще магос в два раза. Памяти не хватит.Если использовать при этом btrfs со сжатием, то ещё и скорость загрузки ОС и ПО сильно возрастёт.А если традиционно зажать ее в squash и использовать любой фругальный initrd да еще copy2ram - чем хуже?
Uird не сложный, он просто очень удачно, на мой взгяд, спроектирован.По моим впечатлениям -uird по сравнению со всеми остальными инитрд (а я смотрел из много) - отличается как ассемблер от бейсика
Вот ду маю как случай с установкой фулл линукса в папку упростить, может достаточно добавить поиск в папках для uird.scan=legacy?Т.к. не известно, как он ищет - сложно ответить
Чтоб понять хелпы нужно сперва понять принцип. Я вики от пфс тоже разобрать не мог пока вариться в этом не начал :)Надеюсь, Вы понимаете что я критикую uird не для "у Вас все плохо, а у нас хорошо", а для того чтобы у всех было хорошо ;)
А uird.help смотрели?Да. И это уже не первое прочтение
Вот тут есть пояснения: http://magos-linux.ru/dwiki/doku.php?id=uird_статья_в_разработкеОт http://neobht.github.io/uird/ отличается только аналогичными командами в слаке и результатами тестов
Родили бы типа http://wiki.puppyrus.org/soft/arch-initrd-rootaufs2 Ну или давайте вместеПлохой пример. Менее документирован, чем uird.help даже.
Давайте вместе. Чтоб понять что объяснять нужно понять что не понятно
https://github.com/neobht/uird/tree/master/initrd/usr/share/uird.help/ru_RU.UTF-8Алфавит есть, а как из него слова и предложения строить где?
roothide & chandes (если не определено) при наличии dir=, добавляются автоматически.Т.е. сделать ближе с применению и юзеру, а не к bash и aufs :)
Плохой пример. Менее документирован, чем uird.help даже.Если есть идеи по улучшению - я не против совместной доработки и этого текста ;)
Возможно, для упрощения, надо по итогу этого мануала ввести ключи, которые включают группы ключейЭто разве нельзя заменить несколькими конфигами?
На мой взгляд достаточно переписать этот раздел под uird.Такая инструкция не получится, все будет зависеть от вашего конфига(ов) для uird. Параметров то реально много, но стандартный случай предопределяется в конфиге.
Короче надо расписать варианты фул и фругал использования и по итогу все станет ясноС этого надо начинать. Пока рано думать дальше
Хорошо, давайте начнемНачал http://wiki.puppyrus.org/soft/uird
Тонкостей ПРА не занюХотелось бы шире ПРА, как минимум deb
Если нигде не ошибся пра фругал в дефолтном варианте должен грузиться без параметров с любого раздела.Не надо переписывать имеющееся. Написано достаточно толково. Нужен ракурс : задача - решение
и uird.from=pra@ uird.ro=*0/fullНе совсем. Если источник это /dev/sda1 или LABEL@ что равнозначно, то в uird.load мы можем написать имя папки *0/full, а если монтировать сразу папку то в load можно записать только "*" это же фильтр, а если /dev/sda1/full смонтировано сразу в /memory/layer-base/0 то фильтром зацепиться не за что. Но вообще там еще чисто поле для экспериментов :)
uird.from=pra@/full - не то же самое?
uird.from=LABEL@Вы даже не представляете как все просто. Все что до @ грепается из blkid по этому побарабану. Сработает даже кусок UUID или ext3@ если такая fs одна.
uird.from=UUID@
Если источник это /dev/sda1 или LABEL@ что равнозначно, то в uird.load мы можем написать имя папки *0/full, а если монтировать сразу папку то в load можно записать только "*" это же фильтр, а если /dev/sda1/full смонтировано сразу в /memory/layer-base/0 то фильтром зацепиться не за что.Вот после таких пояснений и хочется бросить все :)
Все что до @ грепается из blkid по этому побарабануХитро конечно, но ложные срабатывания , получается, возможны
конфиг загрузки из iso росыДобавил в вики... Или зря
uird.from=LABEL@/ISO/R81.iso;/LiveOS/squashfs.img;LABEL@/MagOS-Multi/ uird.load=* uird.noload="" uird.ro=*.xzm,*/ext3fs.img uird.config=MagOS-Full.in - загрузка xzm и ext3fs.img из squashfs.img, находящегося в R81.isoЯ правильно расшифровал?
Вот после таких пояснений и хочется бросить все :)Загрузка как фругал линукс дистра установленного как фулл ни разу не типовая ситуация. Специально для этого uird не делали. По задумке модули или другие слои которые нужно смонтировать находятся внутри источников, а когда источник это /dev/sda1 и слой тоже он же получаются загадочные параметры :) Тут либо думать как это аккуратно обойти либо смириться. До сей поры хватало uird.scan=legacy.
Поэтому я и ждал от Вас примеров с разбором типовых ситуаций
Может упростим ситуацию: фругал из исо со сборкой aufs из 2х каталогов с модулямиВот это подробнее надо, не понял.
Я правильно расшифровал?Не правильно :)
/LiveOS/squashfs.img - не в исо?
а LABEL@/MagOS-Multi/ что внутри?
uird.load=* - надо указывать или это по умолчанию
uird.noload="" - т.е. умолчание не пустое?
Давайте лучше случай проще (эмуляция пра-портеуса):
фругал из pfs в каталогах /base и /modules + указанных в uird.load= pfs из /optional + копирование /root. В идеале бы еще /base/0[89]-*.pfs в верхнем слое
Загрузка как фругал линукс дистра установленного как фулл ни разу не типовая ситуация.Я долго юзал только фругал
Исо, в нем /LiveOS/squashfs.img, в нем образ с ext3. И не спрашивайте нахрена. Я не знаю :)Добавил про Росу
uird.load и uird.noload указаны относительно нашего дефолтного конфига. Там же не пусто у нас.Понял и дописал вначале дефолты
Я долго юзал только фругалАналогично.
Но как только поставил фул - без запуска из папаки и сохраненки не смогу
Тяжелое наследие фругала :) Поэкспериментировать люблю, а переустанавливать нет :)
Цитата: betcher от Сегодня в 13:20:40
uird.load+=/optional/module1.xzm;/optional/module2.xzmтак будет наиболее близко портеусу
base/*089 в верхний слой это изначально не очень идея как мне кажется. Может устроит загрузка base после modules?да. как?
Копирование root это что?Как я понял дефолт uird.cp=*.xzm.cp,*/rootcopy
осилят скопировать три параметра из докиuird.ro=*0/full разве там описан такой трюк?
uird.load+=/optional/module1.xzm;/optional/module2.xzmЕсли так всегда нужно можно дописать в конфиг.
Как я понял дефолт uird.cp=*.xzm.cp,*/rootcopyДа, модули с расширением xzm.cp и папочки rootcopy будут в корень распаковываться/копироваться, если находятся внутри источников и удовлетворяют фильтрам load/noload.
uird.ro=*0/full разве там описан такой трюк?Именно этот нет. Я эти параметры на днях по Вашей просьбе подобрал. Задачи грузить фулл из папки не стояло до Вас :). Но вообще для uird из папки даже лучше. из-за того что получается обойти преславутый uird.load=*
Задачи грузить фулл из папки не стояло до ВасЯ не один "не такой" :) https://aur.archlinux.org/packages/mkinitcpio-loop-subdir/
В итоге портеус:Поверх копируется rootcopy (не root) и не понял последнее "uird.load=/base/,/modules/" это к чему? В остальном вроде так. Проверьте только на счет переноса base немного не уверен.
uird.from=/dir uird.load=/modules/,rootcopy,/optional/module1.pfs;/optional/module2.pfs,/base/ - Эмуляция pra-porteus: модули из dir/modules и dir/base+ перечисленные из dir/optional + копирование поверх содержимого /root. uird.load=/base/,/modules/
dir/base - по алфавиту сверху
Т.е. вместе с папкой :( base ниже modulesЗначит общим списком видимо.
Поверх копируется rootcopy (не root)Поправил
А перенести модули никак? В optional хотя быТак получится. Тогда в пра-порт. надо добавить load=08;09
Так получится. Тогда в пра-порт. надо добавить load=08;09Тогда проще в modules и переименовать в 99*
Тогда проще в modules и переименовать в 99*
А что кстати в этих модулях? Большие? А то может их в uird.cp пристроить :)089 -багфикс ; 090 маленькая сохраненка. Ломается смысл сохраненки в модуль. Тогда уж в каталог
Тут надо смотреть что нужно перекрыть.По моей задумке - все
copy2ram копирует в /mnt/live/memory/changes - наверное не так?В /memory/copy2ram и это тоже фильтр :) uird.copy2ram=00,kde типа того.
Какие еще есть актуальные варианты фругала?Варианты сохраненок, подключение хомяка, монтирование произвольной папки, своп диск и файл много еще чего.
/memory/copy2ramТочнее даже в $SYSMNT/copy2ram. /memory можно заменить в initvars внутри uird.
Варианты сохраненок, подключение хомяка, монтирование произвольной папки, своп диск и файл много еще чего.Дописал
Переходим к фул?
Переходим к фул?Давайте, но там прям все проверять надо. Мало тестили.
Давайте, но там прям все проверять надо. Мало тестили.Кроме Росы все буду проверять. Если нет фула - можете легко поставить в папку или на виртуалку мой (совсем маленький) (http://wiki.puppyrus.org/puppyrus/pra-roll#full)
зачем вам все относительно нашего конфига делать. Собирайте со своим, все станет проще, параметров будет меньше. Для 0[8,9] модулей лучше делайте второй источник и указывайте его в uird.frombasecfg.ini ? Дайте примеры
для uird.ro лучше прописать *.imgСделал. У Вас богатый опыт запуска других дистров с юирд. Поделитесь рецептами
У Вас богатый опыт запуска других дистров с юирд. Поделитесь рецептамиДа не, не богатый. Росу запускал, Федору неудачно и Альт, даже PRA еще не пробовал :). Альт самый простой, у него образ системы лежит в корне исошника под именем live и запускается без каких-либо проблем.
Альт самый простой, у него образ системы лежит в корне исошника под именем live и запускается без каких-либо проблем.С использованием pfs-util к такому виду можно привести любой модульный фругал
С использованием pfs-util к такому виду можно привести любой модульный фругалСобственно это я и сделал. У меня Магос в одном модуле, если говорить о базовой системе, а так еще есть модуль с моим ПО, плюс rootcopy. Время от времени появляются мелкие модули, но потом, если они действительно нужны, я их добавляю в модуль с ПО. А сохраненки нет. Чистый, но преднастроенный режим с хомяком не привязанный к железу.
Что-то не догоняю, как мне это поможет с минимальными перестановками юзать 2 инмтрд
У меня Магос в одном модулеЕсли так делать - есть ли смысл фругала....
если бы uird определял в пути к хомяку наличие указания раздела,В том-то и дело, что маски и поиски - спорная вещь. Иногда не предсказуемая
с вашим инитрд не факт что вообще получится.Не получится, но раскидывать дистр по нескольким одноуровневым папкам неудобно по любому
Если так делать - есть ли смысл фругала....Для меня фругал это компактность, переносимость, неубиваемость. А в одном модуле у меня только сама Базовая система, которая у нас и так пользователем обычно не меняется и обновляется раз в месяц, это просто я уж сам решил в один модуль упаковать ради производительности, но возможно вернусь по ряду причин к использованию многомодульной базы. Для всего же остального можно наплодить кучу модулей и подключать и отключать когда необходимо, но для меня это лишние заморочки на стационарнике, поэтому то чем я пользуюсь постоянно загнал в один модуль, который собирается автоматом одной командой из заранее сформированного списка пакетов. На флешке я создаю несколько модулей, тут как бы фругал во всей красе.
Если не задавать жестко путь, то ищется всегда в порядке приоритетов - на первом месте - уже примонтированные источники, потом остальные.Тем не менее у меня цеплялся home.img с винта ноута, на котором на нтфс-ном диске "C:" рядом с виндой лежал еще один Магос.
echo 'Загружается ядро MagOS Linux …'
linux /MagOS/vmlinuz splash=silent plymouth.enable=0 root=uird \
uird.from=MAGOSUSB@/ \
uird.home=/MagOS-Data/home.img
echo 'Загружается начальный виртуальный диск …'
initrd /MagOS/uird.magos.cpio.xz /boot/f2fs.cpio.xz
За этим будущее.Кстати, очень интересно почему до сих пор не используют OverlayFS, ведь он как пишут быстрее, легче и использует всякие штуки самого ядра, плюс уже в ядре, а AUFS даже в ядро не принимают.
Фул система абсурдна и устарела, если применять uird и pfs-utils.При наличии aufs - да
интересно почему до сих пор не используют OverlayFShttp://forum.puppyrus.org/index.php?topic=16200.0
На классическом фуле - скучно. Экспериментировать стремно - загадишь системуАга, после фругала это немного напрягает.
А они есть : автообновление. Особенно актуально на rolling-release и стационаре. Не надо заморачиваться с chroot , слоями и т.п. Один раз поставил систему - больше никаких телодвиженийСюда бы еще btrfs со сжатием lz4, вот тебе и компактность и скорость фругала, жаль только до сих пор из коробки lz4 нет в btrfs. lzo пробовал сразу со сжатием монтировать, но мою железяку сильно тормозит при записи, особенно при установке обновлений. Как вариант монтировать без сжатия, а время от времени делать дефрагментацию со сжатием, но даже для lzo лучше иметь не самый слабый комп. У меня после установки фул на 10 гб раздел осталось свободно 2.5 гига, дефрагментировал со сжатием lzo из другой системы, стало свободно 5.7 ГБ.
echo 'Загружается ядро MagOS Linux …'Вообще-то uird.from у меня был MAGOSUSB@/MagOS,MAGOSUSB@/MagOS-Data, это я потом уже изменил на просто MAGOSUSB@/. Поэтому не найдя в этих источниках паттерн "/MagOS-Data/home.img" uird пошел искать его в других местах и нашел на /dev/sda2, так как по алфавиту он раньше чем флешка /dev/sdb. Поэтому тут мой косяк был. Буду теперь знать. Надо было указывать либо просто home.img, либо uird.from задать как "MAGOSUSB@/" :)
linux /MagOS/vmlinuz splash=silent plymouth.enable=0 root=uird \
uird.from=MAGOSUSB@/ \
uird.home=/MagOS-Data/home.img
echo 'Загружается начальный виртуальный диск …'
initrd /MagOS/uird.magos.cpio.xz /boot/f2fs.cpio.xz
и с выдачей ошибки на неправильный параметр какой-то стандартной утилитыПочинил, изменения в гит. На работу не влияло.
Может neobht знает?Вопрос то в чем? не понял.
Могу предложить указать папку с фулл как changes.Такое я тоже уже придумал
После разделения не понятно где отвечать.Конкретику сюда. Базар-вокзал туда
uird.load=hhbkhjbkhbkhj (любая хрень чтоб случайно не подцепить модули из указанного в uird.from источника)Может пустоту? uird.from=
С rw слоемТ.е. первый вариант был full ro - а какой в нем смысл...
uird.from=/dev/sda1
uird.rw=*0/full
uird.load=full
Грузим с папкой /dev/sda/full (где у нас фулл установка) как rw слой. Новые файлы пишутся в changes (то есть не сохранятся), изменяющиеся файлы пишутся в rw слой то есть сохранятся. Не знаю нахрена нужно, но работает.
А uird.scan - то же самое делает? И почему так долго ищет?Uird.scan=legacy по очереди монтирует все диски и ищет sbin/init переписывает конфиг uird с учетом найденного и продолжает загрузку. Сам uird.scan это отдельный файл, он, кстати, копируется в систему. Можете загрузится запустить uird.scan без параметров и посмотреть где тормозит. Там есть где поускорять. Но повторюсь, это не для работы, а для упрощения конфигурации, тестов и так далее.
Т.е. первый вариант был full ro - а какой в нем смысл...Который первый?
Может пустоту? uird.from=Если писать пустоту типа "", параметр сохранит дефолтное значение. Если хотите чтоб прилично выглядело напишите uird.load=none
Который первый?http://forum.puppyrus.org/index.php?topic=16558.msg133828#msg133828
Может модули в перемешку с full плюс хомяк и ченджез на диск?Совсем жесть, но чем больше рабочих примеров тем лучше
Если писать пустоту типа "", параметр сохранит дефолтное значение. Если хотите чтоб прилично выглядело напишите uird.load=noneКакая то не очень логика
А если uird.from=пустая_папка? Тогда uird.load можно вообще не трогать наверно?В примере с подключением фулл как ченджез думаю да.
Какая то не очень логикаДо сих пор не было необходимости именно обнулить значение. Либо заменяли либо добавляли к дефолтному значению.
Опять же - где это в доке?
Для 90% достаточно тех вариантов, что есть в menu.lst.Только поэтому и
Никаких проблем переход не принесНа Вашем форуме как-то тихо. У всех все хорошо или никто не юзает? Есть статистика по скачке?
Я ничего не пропустил?Вариант под номером 2 лучше не афишировать. Практического применения я не вижу. Это нечто среднее между 1. и 3.
Что добавить?
Вариант под номером 2 лучше не афишировать. Практического применения я не вижу.
Позволяет иметь несколько дистрибутивов на одном разделе
Что за вариант 5? не понял.
- запуск дистрибутива из файла. Файл может распологаться на любой ФС. В том числе на fat и ntfs (т.е., например, на одном разделе вместе с windows). Этот вариант актуален только для fat, ntfs.
Не понял а ответы то где?Ответил цитатами из вики
По поводу пункта 2 я однако понял. Там нужно uird.ro а не uird.rw.А если захочется что-то поправить на разделе вне сохраненки
Наш menu.lst и menu-add.lst
https://github.com/magos-linux/magos-linux/tree/master/make_MagOS/files/patches/flash/boot/grub4dos/local
title MagOS Linux-С сохранением данных
kernel /MagOS/vmlinuz vga=791 splash=silent plymouth.enable=0 root=uird: uird.home=home.img uird.mode=machines
initrd /MagOS/uird.magos.cpio.xz
Давайте прямо там переделаю?Дал rw
root= в доках не нашелСейчас не нужен. Устарел.
home.img - сам создастся?Нет, он есть в сборке.
Откуда вообще загружаться -то будет.... Или сам надет?Остальные параметры вшиты в конфиг uird.
Правил ваш вики,uird.ro=*layer-base/0 - т.е. прямо так и писать?
Все обновления должны идти в отдельные слои - атомарной операцией. И с возможностью слияния в случае удачи.Можно подробно по пунктам
uird.from="" и подобное обнуление можно использовать только в кавычках, просто написать uird.from= нельзя.Не сработало с uird.from, но надо перепроверить конечно.
Поэтому "" - обнуление нормДа - так логично
Sfs, пользователи как раз любят просто работать, а не щёлкать по менюшкамДля таких uird - "из пушки по воробьям"
uird.ro=*layer-base/0 - т.е. прямо так и писать?Ага :)
Чото нет такого в докеТам про такую загрузку вообще однако нет.
home.img - получается не в магог надо создать пустой? или прописать вместо каталогhome.img есть в архиве. Распаковываете магос.tar.gz и home.img будет уже на месте. Можно прописать и каталог (вот его как раз надо создать)
Цитата: neobht от Сегодня в 15:37:21И фул-5 и сеть - хотя бы самый простой случай
Все обновления должны идти в отдельные слои - атомарной операцией. И с возможностью слияния в случае удачи.
Можно подробно по пунктам
И фул-5Это с исо что-ли?
еть - хотя бы самый простой случайДля фулл? Думаю достаточно
Это с исо что-ли?С .img С исо тоже не помешает
Неправильная логика мышления porteus вам будет мешать.Ну не неправильная. Скажем так - другая.
Фул по сети не будет тормозить? По итогу моих экспериментов в 100мб локалке - без copy2ram тормозаУ меня чисто домашнее применение, подключал на пробу по сети, правда модули конечно не full. В локалке особых тормозов не было.
Лучше пример сетевого фругала или обаАнтон Вам тут так все расписал, а вы все спрашиваете :) Разница будет только в источниках, вместо папок и дисков сервера. Можно в перемешку.
С .img С исо тоже не помешаетЧто внутри img? Что внутри ИСО? Есть пример от Ильфата с Росой, оно?
Что внутри img?Корень / file2fs
как авторизоваться?Сгенерируйте ключи.
Сгенерируйте ключи.И положить их в инитрд? Как то кривовать.... Ключами никак?
И положить их в инитрд? Как то кривовать.... Ключами никак?Как-то так: http://magos-linux.ru/index.php?option=com_agora&task=topic&id=955&p=49&Itemid=55#p18638
Uird - это нижний уровень идущий после ядра. После загрузки в него - должен быть получен функционал либо для сборки lfs, либо подключение модулей, на крайний случай - сборка модулей из пакетов и подключение этих модулей.Т.е. вы позиционируете uird как нечно большее чем просто initrd
Заодно про https://www.altlinux.org/Colaboot узналТолько сейчас? Я им давно предлагал, не поняли, кончилось руганью.
не помешала бы новость и по поводу pfs-utils я думаю.думаете он уже дорос до опеннета...
думаете он уже дорос до опеннета..А что, даже на мининовость не тянет? :) Вот и проверим. Там премодерация, если решат, что слабовато даже в новости не попадет. Возьметесь написать? Напишите, что совместная разработка и используется в двух дистрах, для солидности :))
Возьметесь написать?Я там даже не зарегистрирован.
Запилил хук с поддержкой overlayfs (скоро выложу)В uird нет подвижек с overlayfs ?
Пока особо нечего рассказать. В основном ошибки поправляю. ОверлейФС Антон собирался делать, но коммитов пока не видать.Он писал, что там какие-то грабли.
параметры вносятся в конфиг с которым вы собираете uird в качестве дефолтаТ.е. они внутри инитрд - неудобно. Т.к. со сборкой uird не просто - удобнее бы юзать 2 инитрд, чтобы не пересобирать uird
Папка changes не создается потому, что чаще всего там поиск. То есть указано без путей. И где ее создавать?.Тпм где указано или задать вопрос - как у Дяди Шурика
Первый вариант тоже можно добить, видимо в какой-то мелочи ошибсяЧем будет лучше?
Начал пилить для mkuird сборку по конфигу и параметр с которым можно исключить из уирд не нужные бинарники и модули ядраБез сети - интересно. Как будет готово - сообщите
uird.basecfg=имяконфигаПожалуй, то что нужно. https://github.com/neobht/uird/blob/master/configs/uird_configs/pra64 ?
собрал себе для флешки UIRD размером 5.7 мб.Выложите...
Манжаровское сильно голоеНет. Наше (-pf) голое. Зато все для загрузки с сd hdd flash монолитно в ядре. Модули в инитрд не нужны
Выложите...Это конфиг для mkuird, в части драйверов оборудования ничего не трогал:
$ cat mkuird-lite.cfg
# mkuird2 config file
Base_KM="loop pata_acpi ata_generic ahci xhci-hcd xhci-pci xhci-plat-hcd ohci-pci usb-storage uhci-hcd lockd evdev af_packet
hid usbhid ehci-hcd ohci-hcd ehci-pci ehci-platform hid-generic sr_mod sd_mod scsi_mod jbd jbd2 sunrpc cbc
=drivers/ide =drivers/ata =drivers/usb/storage =drivers/usb/host"
NetWork_KM=""
Dev_KM="zram"
Crypto_KM=""
CompAlg_KM="z3fold lz4 "
FileSystems_KM="aufs squashfs ext3 btrfs"
Base_bins="gettext loadkeys rsync "
NetWork_bins=""
FS_bins=""
DracutM="base kernel-modules"
UirdM="uird"
#used for --addon only
ExtraM="uird-soft"
$ cat mkuird.cfg
# mkuird2 config file
Base_KM="loop pata_acpi ata_generic ahci xhci-hcd xhci-pci xhci-plat-hcd ohci-pci usb-storage uhci-hcd lockd evdev af_packet
hid usbhid ehci-hcd ohci-hcd ehci-pci ehci-platform hid-generic sr_mod sd_mod scsi_mod jbd jbd2 sunrpc cbc
=drivers/ide =drivers/ata =drivers/usb/storage =drivers/usb/host"
NetWork_KM="=drivers/net/ethernet =fs/nfs"
Dev_KM="nbd zram"
Crypto_KM="aes-generic aes-i586 aes-x86_64 dm-crypt cryptoloop"
CompAlg_KM="z3fold lz4 "
FileSystems_KM="aufs squashfs vfat msdos iso9660 isofs xfs fuse nfs cifs udf nls_cp866 nls_utf8 reiserfs overlay ext3 ntfs btrfs"
Base_bins="gettext loadkeys rsync "
NetWork_bins="aria2c"
FS_bins="mkfs.ext4 qemu-nbd qemu-img fsck fsck.ext2 fsck.ext3 fsck.ext4 fsck.exfat fsck.vfat fsck.xfs fsck.btrfs btrfsck ntfsfix"
DracutM="base ntfs kernel-modules crypt "
UirdM="uird uird-network uird-soft"
#used for --addon only
ExtraM="uird-soft"
./mkuird MagOS --config mkuird-lite.cfg -n uird.lite.cpio.xz
UIRD из бранча mkuird2В чем отлиия?
В чем отлиия?Переделываю mkuird. Сборка по конфигу, исключение бинарников и модулей ядра праметром для mkuird, сборка инитрд состоящего только из ядерных модулей.
Сборка по конфигу, исключение бинарников и модулей ядра праметром для mkuird, сборка инитрд состоящего только из ядерных модулей.полезное направление
Посмотрите, кстати, как в конфиге разбиты по темам модули ядра и бинариЯ в этом слабоват. Лучше бы Pro посмотрел
Добавил поддержку overlayfs
Собрал, но в Linux-ck все равно aufs нет.Собрал uird для linux-ck-core2. Загрузил roll-1806 с uird.union=overlay.
live@pra-roll ~ % uname -a
Linux pra-roll 4.19.9-1-ck-core2 #1 SMP PREEMPT Thu Dec 13 15:18:16 EST 2018 x86_64 GNU/Linux
Aufs и overlayfs -плюсы и минусы?Большой минус overlayfs - невозможность горячего подключения модулей, плюс - меньшее потребление памяти.
Само собой не все работает как надо, но все же...
что не работает как надо?То что там не так работает - это, думаю, не имеет отношение к overlayfs. Скорее к отличиям Magos и PRA, uird и initrd.
live@pra-roll ~ % dmesg |grep overlay
[ 19.420083] overlayfs: fs on '/memory/bundles/spacefm-ng-gtk3-p-1.0.6-1_64-sf03.pfs' does not support file handles, falling back to index=off,nfs_export=off.
[ 19.537441] dracut: Mounted root filesystem overlay
[ 21.620682] [drm] Initialized overlay support.
Вобщем такое ощущение что uird путает все слои.Уже это обсуждали в какой то теме. Для magos это не критично, там все будет работать даже если инвертировать порядок загрузки модулей. А в PRA порядок важен.
если есть тени от aufs
Опять же это я заметил еще при тестировании uird с aufs.
3. Перезагружать систему почему то приходится из консоли - sudo shutdown -r 00. Хоткей Super-x запускает что-то не то. Хотя, если запускать вручную из терминала sudo ./sfs-shutdown-f, то все ok.
Вобщем такое ощущение что uird путает все слои.Не должен. При загрузке он показывает порядок подключения модулей. Каждый последующий подключается выше предыдущего.
Вобщем такое ощущение что uird путает все слои.У нас в PRA много дубликатов, но это не мешает, т.к. все это перекрывается правильными версиями. А вот uird похоже подключает именно оригинальные версии файлов, но они являются устаревшими. Отсюда и проблемы.
Хоткей Super-x запускает что-то не то.Например.
А вот uird похоже подключает именно оригинальные версии файловUIRD не в курсе которые версии оригинальные. Он подключает по алфавиту, но не по именам файлов модулей, а по полным именам, с путями. По этому, то что в base будет всегда раньше чем то что в modules, а в modules раньше чем optional. Плюс к этому еще источники также по порядку 1,2,3 и так далее. Так что можно разрулить любую последовательность при желании. Мы же не ограничены ни папками ни источниками. Сделайте папку abase и все что в ней будет грузиться раньше чем в base. Сделайте папку saves и храните там модули с изменениями, из saves будет подключаться после optional. Или сделайте папку вторым источником и модули оттуда будут грузиться после остальных.
минус overlayfs - невозможность горячего подключения модулейЧто почти убивает идею фругала в том виде, как мы привыкли
ощущение что uird путает все слои.Проверяйте aufs-n
Вобщем такое ощущение что uird путает все слои.Поправка, uird не причем. :) В PRA модули с индексом 089-, 090- загружаются в самом конце, после всех из /base, /modules и, если есть, /optional.
В пра 089 090 всегда сверху.
Не понятно зачем sfs так прибил гвоздями этот момент. Припоминаю, что специально это прибивалось. Тогда не понял - зачем и сейчас не понимаю. Как в uird сделано - гораздо логичнее - алфавитный порядок. И без всяких исключений для модулей патчей.Разве сохраненку (090) и фиксы (089) не логично иметь сверху?
Разве сохраненку (090) и фиксы (089) не логично иметь сверху?/patches/ - для патчей
У нас такого нетУ нас тоже )) Но думаю логичное решение, чтоб патчи и сейвы были там где надо при загрузке с уирдом.
# echo $mem_zram >/sys/block/zram1/disksize
# echo $mem_zram >/sys/block/zram1/mem_limit
echo $(($mem_zram * 4 / 3)) >/sys/block/zram1/disksize
echo $(($mem_zram * 3 / 4)) >/sys/block/zram1/mem_limit
"посмотреть-потестить"Уже обсуждали - наиболее удобный формат - iso
В ZRAM пока вроде бы zstd на прикрутилиЗа то прикручен механизм смены алгоритма (только для uird.swap). Отдельно каждый алгоритм не прикручивается. Если ничего не трогать, то используется алгоритм по умолчанию, на данный момент, по крайней мере в Росе, это lzo. Для смены алгоритма он указывается следующим образом:
Теперь про "непонятку" - при добавлении источника по uird.from+=... в параметрах загрузки обращение к источнику и его инициализация выполняется дважды.Если источник указываемый через uird.from+ совпадает с источниками по умолчанию, то наверно будет дважды инициализироваться. "+" добавляет к уже заданному значению параметра дополнительное, а без "+" значение переписывается.
Предлагаю в UIRD заменить qemu-nbd на vdfuse.Если собирается из исходников и лицензия позволяет, то можно конечно. Надо потестировать.
Быстродействие вирт-дисков, подключенных с использованием vdfuse, выше в 3-5 раз.
Подключение стабильно, на данный момент проблем в тестах пока не замечено.
За то прикручен механизм смены алгоритмаПривет.
Для смены алгоритма он указывается следующим образом: uird.zram::zstd(ошибся, это только для uird.swap работает) uird.swap=zram::zstd. Таким же образом указывается размер, в процентах от ОЗУ. Например uird.zram::zstd::100 uird.swap=zram::zstd::100 можно и со знаком процента uird.zram::100%::zstd uird.swap=zram::100%::zstdУвы, но не совсем так.
Если источник указываемый через uird.from+ совпадает с источниками по умолчанию, то наверно будет дважды инициализироваться. "+" добавляет к уже заданному значению параметра дополнительное, а без "+" значение переписывается.По описанию UIRD должно быть так - по факту иначе. Так, как я описал.
Если собирается из исходников и лицензия позволяет, то можно конечно. Надо потестировать.Исходников не видел (не искал) - просто взял готовые бинарники из состава пакета virtualbox, который и так есть практически в каждом, уважающем себя, дистрибутиве. )))
echo $mem_zram >/sys/block/zram1/mem_limitЭто опасненько. Жмется далеко не все. Попробуйте с такими настройками копировать в ченджез модули например. Как вариант - можно. Как дефолт - нет.
echo $(($mem_zram * 4 / 3)) >/sys/block/zram1/disksize
echo $(($mem_zram * 3 / 4)) >/sys/block/zram1/mem_limit
1. Предлагаю в UIRD заменить qemu-nbd на vdfuse.В целом не против. Но торопиться не стоит, как бы обратно не пришлось менять:) Тормоза с qemu-nbd подтверждаю, но только с динамическими файлами. Если сразу создавать нужного размера, то скорость упирается уже в носитель.
Это опасненько.Приветствую!!!
Исходников не видел (не искал) - просто взял готовые бинарники из состава пакета virtualbox, который и так есть практически в каждом, уважающем себя, дистрибутиве. )))У нас, как в уважающем себя дистрибутиве, есть Виртуалбокс, но вот vdfuse я не нашел ))
но вот vdfuse я не нашелЕго и функцию монтирования почему-то исключили, начиная с версии 4.2. Причин не знаю.
Тормоза с qemu-nbd подтверждаю, но только с динамическими файлами.На мой-то вгляд именно динамические и более интересны в реальном использовании.
Если уж мы определяем в конфиге часть RAM под ramdisk, то и доступен для использования для этой цели должен быть именно такой объем.Звучит логично. На свежую голову еще прикину и навреное так и сделаю.
И это задается именно параметром mem_limit, а не disksize.
А чтобы параметр disksize не ограничил объем используемой для оверлея RAM, его логично делать примерно вдвое большем (из опыта тестов).
А для безопасности - просто устанавливать его в 50%.
При этом реальный объем слоя для записи будет равен примерно 100% RAM.
А для безопасности - просто устанавливать mem_limit в 50%.Мы уже думали сделать примерно так же, только лимит сделать на 70% при тех же 100% дисксайз. 50 мне кажется маловато для лимита. Частенько будет упираться и будет ошибка ввода вывода. Тестировал на зрам свопе.
При этом реальный объем слоя для записи будет равен примерно 100% RAM.
Ильфат, здесь, в теме, я вчера выложил модифицированную версиюОк.
Не, всеже надо оставить как есть по дефолту.Ну, по сути получается, что при равенстве значений с disksize mem_limit и смысла-то не имеет.
делать дисксайз больше мемлимита гипотетически опасно. Если вы будете забивать ченджез несжимаемыми данными в момент когда размер данных превысит лимит вы получите ошибку ввода/вывода при записиСогласен. Риск есть.
Ну, по сути получается, что при равенстве значений с disksize mem_limit и смысла-то не имеет.Имеет смысл. В сравнении с tmpfs имею ввиду. В критической ситуации с несжимаемыми данными будет действительно приблизительно одинаково, зато в обычных условиях zram сэкономит озу.
Отмечу попутно, что мой "самопальный" вариант "zram.zstd" не имеет указанного недостаткаВот тут мне не понятно чем zstd так принципиально отличается. Проблема в том, что ось видит дисксайз, а записать может только то что войдет в мемлимит. При достижении мемлимита что произойдет?
Вот тут мне не понятноТак я же говорю - "самопальный" вариант. )))
Имеет смысл. В сравнении с tmpfs имею ввиду.А я имел в виду, что в таком случае не имеет смыла назначение параметра mem_limit - наполнение в любом случае не превысит disksize. )
Разница в том, что в этом варианте ось видит и штатно контролирует диск и его занятое/cвободное пространство с уже сжатым контентом.Да интересная штука. Получается как в zswap, задается фиксированный размер устройства в ОЗУ, а сколько туда войдет уже зависит от сжатия.
А -o discard работает?Привет.
Надо думать как прикрутить аккуратно.У этого "девайса" есть некоторые особенности.
Надо оптимизировать создание файловой системы, так как, если не ошибаюсь, бтрфс по умолчанию создает ФС с дублированием метаданных, в ОЗУ от этого никакого смысла, надо отключать. Возмжно еще что-то можно оптимизировать.Подскажите, что и как - у вас опыта и знаний Linux больше.
Подскажите, что и какИз документации:
# Don't duplicate metadata on a single drive (default on single SSDs)
mkfs.btrfs -m single /dev/sdb
Из документации:Привет.
Вот только с каким uird.mode не понятно.Ну, видимо, только с clean и mashines. (насколько я смог разобраться с режимами).
uird.changes=/memory/file.img::2GА стоит ли в /memory? Может все же лучше в отдельной ветке tmpfs делать?
Здесь мемори как примерЭто понятно.
правильнее предусмотреть подключение обособленной tmpfs.Не уверен. Надо подумать.
Вот. Сделал :)Во первых поздравляю с запуском своего форума. :)
Просто я тут как то подумал, а если бы у меня стоял full, то как бы я реализовал неубиваемость системы. Один из вариантов это использовать файловую систему Btrfs. Она делает снимки, а также умеет сжимать файлы (compression), что уменьшит количество операций i/o
В итоге надо делать типа пра-ролл (морозить фул)
Во первых поздравляю с запуском своего форума. :)Спасибо.
Ну и самое главное, там вроде проще с обновлениями системы, сейчас разработчику для обновления того же PRA (archlinux) приходится изрядно 'попыхтеть'.Тут все дело в том, что разработчики никак не хотят автоматизировать процесс :). Магос собирается системой скриптов и выкладывается в репе после чего у пользователя все обновляется до последней версии автоматом. С месяц назад Михаил как раз систему обновлений переписывал, теперь у нас еще и модули подписанные :)
mksavexzm смотрел?Нет. Дома посмотрю, с телефона не раскрывается.
XZM0=mac-dc0ea1fbbb19.xzm (имя модуля по имени конфига)
MODE0=copy (режим подключения, еще варианты mount,none)
REBUILD0=yes (пересобирать или нет, аналог static/dynamic, варианты yes/no)
ADDFILTER0=’’ (список через пробел чего надо включить, пустой список означает включить все)
DROPFILTER0=’’ (список через пробел чего нужно исключить из выбранного ADDFILTER)
SQFSOPT0=’’ (параметры для mksquashfs - сжатие, размер блока и т.д.)
MAXCOPYSIZE0=’’ (максимальный размер модуля в мегабайтах при привышеннии которого модуль переводится в MODE0=mount, REBUILD0=no и создается новая секция)
Ноль в конце имен параметров это идентификатор первого модуля, можно сохранять в несколько модулей с разными настройками, тогда у второго будет идентификатор 1 у третьего 2 и т.д. Например один модуль может иметь имя привязанное с mac и туда сохраняете только /etc, а второй модуль используется для всех машин один и туда сохраняете все остальное.
На практических примерах бы иллюстрировать нужность подобного функционала.До конца посмотрите, там примеры.
F=$(echo $WH | sed 's/\/tmp\/savesfs-root//;s/.wh.//g')Вы видимо и есть тот человек который посоветовал Ингваро как удалять зависшие тени. Долго жить будете, сегодня только вспоминали :). Почитайте обсуждение ближе к концу если интересно.
if [ -e "/initrd/pup_rw$F" ]; then
rm $WH #если удалённый файл заново создан, удаляем .wh.*
else
[ -e "/tmp/savesfs-root$F" ] && rm -r /tmp/savesfs-root$F #если ранее сохранённый файл удалён, удаляем его.
fi # если .wh.* относится к нижним слоям - ничего не делаем
done
XZM0=''А зачем может понадобится распаковывать 88-magos.xzm при старте системы?
MODE0=copy
REBUILD0=yes
XZMend=88-magos.xzm
MODEend=copy
REBUILDend=no
Перва секция имеет пустое значение в XZM0, значит на каждой машине там будет свое имя модуля, то есть свой модуль для каждой машины. А вторая секция распаковывает непересобираемый модуль, и он всегда распаковывается последним (поверх всех) независимо от того сколько еще модулей (нумерованных секций) будет создано.
А зачем может понадобится распаковывать 88-magos.xzm при старте системы?Это реальный кейс. Ингваро использует 88-magos.xzm в своих сборках на базе ubuntu и mageia если обновить систему и обновления запаковать в сохраненку то они окажутся выше 88-magos.xzm и патченные файлы из него перестанут работать. Это просто я предложил вараинт как это обойти с toxzm.
Вы видимо и есть тот человек который посоветовал Ингваро как удалять зависшие тени.
Есть, например, профиль браузера в модуле 083-firefox-profile_any*. И если он будет пересобираться автоматом при выходе из системы, то это плюс.Если сможете выделить нужные файлы фильтрами ADDFILTER, DROPFILTER то конечно соберет. Но вероятно правильнее будет не переписывать системный модуль а делать поверх с теми же файлами, который и будет пересобираться.
З.Ы. Дальше пока не тестил, потому что не смог достать UIRD из виртуалбокса :). Общие папки не работают, флешка не подключилась, ни один из двух браузеров не смог закинуть файл на YD. Обиделся и бросил :(1. Можно включить сервер в гостевой и на хосте и тогда можно скинуть файлы через mc (сам так иногда делаю) Меню - Интернет - PureFTPd-FTP-сервер
qemu-system-x86_64 -smp 4,maxcpus=4,cores=4,threads=1,sockets=1 -enable-kvm -soundhw ac97 -m 1.5G -rtc base=localtime -drive format=raw,media=cdrom,readonly,file=/mnt/sda3/iso/lf01-1911-x86_64.iso -boot d -drive format=raw,file=/dev/sda
1. Можно включить сервер в гостевой и на хосте и тогда можно скинуть файлы через mc (сам так иногда делаю) Меню - Интернет - PureFTPd-FTP-серверДа я б нашел как достать, можно в конце концов vdi смонтировать. Просто куда не сунусь везде затык :) А за готовую строку для qemu спасибо, пригодится.
Чуть новостей, чтоб не забывали :)3 пункт не понятен. Можно подробнее
https://forum.magos-linux.ru/t/aufs-overlayfs-toxzm/161
3 пункт не понятен. Можно подробнееMODE=mount это режим когда модуль с сохраненкой монтируется при старте, а при выключении объединяются старый модуль и новые изменения.
В итоге что-то новое дает?Основная задача была в том, чтобы сделать работу с ауфс и с оверлеем максимально похожими в UIRD. Из плюшек которые эти изменения принесли:
Оттестировано?Проверяли вчетвером перед тем как сливать в мастер, вроде не отвалилось ничего.
Можно пересобирать для прар? В menu.lst ничего менять не надо?Собирать или нет - решайте сами. Если оверлей не нужен, то ничего не принесет нового.
mount+wh для оверлеяразве там есть wh?
при выключении объединяются старый модуль и новые изменения.молча или есть вывор все\настройки и т.п.?
Если оверлей не нуженГотовый ауфс остался только в портеус
разве там есть wh?Тени то есть, просто иначе выглядят.
молча или есть вывор все\настройки и т.п.?Конечно есть выбор. Все настраивается в конфиге toxzm, там и фильтры и режим подключения, и любое количество сохраненок и параметры для squashfs и привязка модуля к машине. На любой вкус.
Инструкция по toxzmдобавил в шапку +
title ▒▒ lfa2008 UIRD + auto swap + zram rootfs + overlayfs
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%
kernel /%d%/boot/vmlinuz-%k% %f% %u% uird.swap=auto uird.union=overlay uird.rootfs=zram
initrd /%d%/boot/uird.lfa.cpio.xz
Чем эти uird отличаются?Версии вашего гит
У меня уже 615 собран. Ща перепроверюuird.lfa-615.cpio.xz (http://mirror.yandex.ru/puppyrus/puppyrus-a64/kernel/new/5.7.17-2-MANJARO-drv/uird.lfa-615.cpio.xz) - все ок
% grep -E 'busybox|dracut' mkuird.cfg
#BINBUSYBOX=/usr/bin/busybox # busybox binary, default is ./busybox/busybox
Я пробовал и pf ранее, но там вообще не грузилось, uird прерывал свою работу.Разобрался. Бинарный pf собран с "CONFIG_MODULE_COMPRESS_ZSTD=y", а busybox modprobe не умеет в *.ko.zst:Цитатаmodprobe: 'kernel/drivers/md/dm-mod.ko.zst': invalid module format
Исправление - ссылку "busybox modprobe" сменить на "kmod modprobe" при сборке uird.
ko.zstЛучше модули распаковать (после чего не забыть depmod -b ...). Так размер 000*.pfs получится почти в половину меньше, чем с запакованными
На мой взгляд игра не стоит свечда
А что, neobht забросил uird?Меня мало? ))) Последний коммит - сегодня.
(и самостоятельно выключил plymouth в DM_base).Для этого есть ключик -e plymouth
что не подхватываются ядра *.ko.zst.Если вы о модулях ядра, то при чем тут uird. В росе ядро идет со сжатыми zstd модулями, в бариуме соответственно оно же - все работает.
при чем тут uird
Исправление - ссылку "busybox modprobe" сменить на "kmod modprobe" при сборке uird.Не выкладывал скрин, думал достаточно скопированной строки "modprobe: 'kernel/drivers/md/dm-mod.ko.zst': invalid module format". Выложил.
Для этого есть ключик -e plymouthВот это и вызвало мой комментарий в начале поста. Я уже давно не новичок в использовании uird, чтобы получать такой 'примитивный' ответ. И вроде ясно написал, что раз отсутствие plymouth обрывает сборку, так что приходится лезть в логи, то как минимум желательно получать сообщение, типа: "Отсутствие plymouth не позволит собраться вашему 'проекту', выключите его принудительно".
Что в make_busybox.sh, что в make_dracut.sh - прописана компиляция в один поток. Время, которое длится несколько секунд с make -j $(($(nproc) + 1)), растянуто на минуты.Я когда только познакомился с uird был очень недоволен, :) что его надо каждый раз пересобирать под новое ядро. Привык к initrd.xz, где это не так. ) А тут еще ну очень долгая сборка busybox (знаю, что его собирать надо только один раз).
его надо каждый раз пересобирать под новое ядро.Если не нужна сетевая загрузка и т.п. - с нашими ядрами должно работать без модулей ядра в инитрд
Подытожу. Да, я могу все это сделать локально сам, и ключик -e подставить, и ссылку на kmod сделать, и потоки -j прописать у make. Но мы же стремимся сделать uird удобным для многих?Так и хочется спросить где ваши PR? ))
Исправление - ссылку "busybox modprobe" сменить на "kmod modprobe" при сборке uird.Грузил магос в qs, modprobe это и так kmod, проверю еще бариум позже.
как минимум желательно получать сообщение, типа: "Отсутствие plymouth не позволит собраться вашему 'проекту', выключите его принудительно".Тут наверное ничего менять не буду. Сейчас стандарт скорее наличие плимута, а не его отсутствие. По общей логике uird пытается собраться в максимальном функционале, кому нужно - кастрируют. Плимут здесь такой же модуль дракута как остальные, выпиливать ему личный костыль мне кажется не правильно.
Сейчас же, сборка у меня происходит в /tmp и в 5 потоков. Все очень быстро и было бы так изначально, думаю я не 'бухтел' бы по этому поводу, и не требовал от разрабов невозможного. )Сделал make -j, прироста скорости сборки на своем стареньком i5 не заметил, но и не сломалось. Пусть будет.
Если не нужна сетевая загрузка и т.п. - с нашими ядрами должно работать без модулей ядра в инитрдЕсли все что нужно для загрузки вкомпилено в ядро uird тоже будет работать,только ругнется в начале. Также можно собрать uird только с ядерными модулям (ключ --kmod) и добавлять к основному uird.
Тут наверное ничего менять не буду.Так в чем там дело с этим плимутом? Почему куча отсутствующих модулей тихо пишут "not found" и подолжают сборку. А именно на плимуте все 'тихо' ломается и только в логе можно узнать причину "dracut: dracut module 'plymouth' cannot be found or installed".
Так в чем там дело с этим плимутом? Почему куча отсутствующих модулей тихо пишут "not found" и подолжают сборку. А именно на плимуте все 'тихо' ломается и только в логе можно узнать причину "dracut: dracut module 'plymouth' cannot be found or installed".В mkuird.cfg есть модули ядра, есть бинари и есть модули дракута, сейчас еще просто файлы добавил, так вот плимут это модуль дракута. Он всегда есть в наличии, по этому проверку на наличие проходит, а вот установиться не может, но об этом известно только в тот момент когда дракут этот модуль пытается установить.
Так не в ту строку добавлен!!!Блин, точно ))). Шаролупие. А вот был бы PR, все было бы как надо )
кому нужно - кастрируютА в конфиг (там есть lfa prar2019) этот -e не засунуть?
решительно отвергнут, под разными резонамиМожно пересказать про резоны? Или ссылку
Совет: При использовании zram стоит отключить zswap, чтобы он не работал как кэш подкачки перед zram. Включение их обоих также приводит к отображению некорректной статистики в zramctl("8"), и zram остаётся в основном неиспользуемым, потому что zswap перехватывает и сжимает страницы памяти до того как они попадут в zram.Арчвики (https://wiki.archlinux.org/title/Improving_performance_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#zram_%D0%B8%D0%BB%D0%B8_zswap)
Получается, uird не причем. Все дело в конфиге ядра CONFIG_ZSWAP_DEFAULT_ON, который включен по умолчанию на моем ядре 5.16.0-pf1, а так же в проверяемом MagOS.iso с 5.10.79-desktop-2rosa2021.1-x86_64.в uird по умолчанию включен zswapПосмотрел конфиги ядра арча (https://wiki.archlinux.org/title/zswap#Toggling_zswap)
В арче тоже включен по дефолту
Я выключил zswapУ себя решил, прописав zswap.enabled=0 в menu.lst, т.к. использую всегда только zram.
на сколько же удобно, когда сборка имеет отдельный режим console
root@roll2110:profile.d# head /etc/profile.d/startx.sh
#!/bin/ash
grep " nox" /proc/cmdline && return
uird.Rosa.cpio.xzИсправление - ссылку "busybox modprobe" сменить на "kmod modprobe" при сборке uird.Грузил магос в qs, modprobe это и так kmod, проверю еще бариум позже.
live@roll2110 % sudo find -name modprobe -exec ls -l {} \;
lrwxrwxrwx 1 live live 18 мар 22 23:28 ./bin/modprobe -> ../usr/bin/busybox
lrwxrwxrwx 1 live live 14 мар 22 23:28 ./usr/sbin/modprobe -> ../../bin/kmod
lrwxrwxrwx 1 live live 11 мар 22 23:28 ./sbin/modprobe -> ../bin/kmod
live@roll2110 % sudo find -name modprobe -exec ls -l {} \;
lrwxrwxrwx 1 root root 7 мар 22 23:35 ./usr/bin/modprobe -> busybox
live@roll2110 ~ % sudo find / \( -path /mnt -o -path /memory -o -path /usr/share -o -path /proc \) -prune -false -o \( -name depmod -o -name insmod -o -name lsmod -o -name modinfo -o -name modprobe -o -name rmmod \) -exec ls -l {} +
lrwxrwxrwx 1 root root 4 мая 21 2021 /usr/bin/depmod -> kmod
lrwxrwxrwx 1 root root 4 мая 21 2021 /usr/bin/insmod -> kmod
lrwxrwxrwx 1 root root 4 мая 21 2021 /usr/bin/lsmod -> kmod
lrwxrwxrwx 1 root root 4 мая 21 2021 /usr/bin/modinfo -> kmod
lrwxrwxrwx 1 root root 4 мая 21 2021 /usr/bin/modprobe -> kmod
lrwxrwxrwx 1 root root 4 мая 21 2021 /usr/bin/rmmod -> kmod
live@roll2110 / % ls -l
итого 4
lrwxrwxrwx 1 root root 7 мая 31 2021 bin -> usr/bin
drwxr-xr-x 2 root root 3 мая 20 2020 boot
drwxr-xr-x 19 root root 4240 мар 27 11:05 dev
drwxr-xr-x 1 root root 660 мар 28 15:43 etc
drwxr-xr-x 1 live live 60 апр 28 2021 home
lrwxrwxrwx 1 root root 7 мая 31 2021 lib -> usr/lib
lrwxrwxrwx 1 root root 7 мая 31 2021 lib64 -> usr/lib
drwxrwxrwt 8 root root 180 мар 27 09:13 memory
drwxr-xr-x 1 root root 160 мар 27 12:30 mnt
drwxr-xr-x 1 root root 60 мар 13 06:35 opt
dr-xr-xr-x 433 root root 0 мар 25 18:24 proc
drwxr-x--- 1 root root 100 мар 3 2021 root
drwxr-xr-x 17 root root 400 мар 25 15:24 run
lrwxrwxrwx 1 root root 7 мая 31 2021 sbin -> usr/bin
drwxr-xr-x 4 root root 38 июл 31 2020 srv
-rwxr-xr-x 1 root root 20 мар 27 09:32 start.sh
dr-xr-xr-x 13 root root 0 мар 25 18:24 sys
drwxrwxrwt 24 root root 700 мар 28 21:40 tmp
drwxr-xr-x 1 root root 140 мар 28 15:43 usr
drwxr-xr-x 1 root root 140 мар 28 15:43 var
Он 'отморозился', пришлось в гугле искать самомуТаки посмотрел. А оно надо? Особенно не понял, зачем udev в initrd пихать
зачем udev в initrd пихатьВот именно.
А оно надо?ИМХО - не надо.
Спросил ChatGPT список дистрибутивов, использующих uird, причем для примера назвал MagOS и UBLinux. Он 'отморозился', пришлось в гугле искать самому. В итоге ничего нового:https://mirror.yandex.ru/puppyrus/fas/rep/rpm-fas/noarch/RPMS.fas/uird-2.3-alt1.noarch.rpm
Некоторые пакеты могут работать и в других rpm дистрибутивах. Например большинство из noarch;)
"ubmkuird Утилита cборки Linux initrd UIRD". А может и не интересная,Интересно выложите аттачем если скачали
зачем udev в initrd пихатьПоскольку у dracut есть система сборки - вроде , можно собрать и без udev . Ну или выкинуть его хирургически
Интересно выложите аттачемubm-100-ublinux-2204-86-x86_64.pkg.tar.zst (https://file.puppyrus.org/users/roll/UIRD/ubm-100-ublinux-2204-86-x86_64.pkg.tar.zst)
$ ./ubmkuird --help
ubmkuird version 1.3
Build UBLinux initrd UIRD
Usage: ubmkuird [OPTIONS...]
OPTIONS:
-h, --help This help
--show Show dracut cmdline, but not run dracut
--kmod Build initrd with kernel modules only
--addon Build initrd with addon only (see ublinux-uird.conf, ExtraDM line)
-u, --upgrade Take action to upgrade initrd
-H, --hostonly Host-Only mode, install only what is needed for booting the local host
-l, --locales Add locales (use with -e plymouth)
-n, --name Initrd file name
-t, --plymouth_theme=NAME Select theme for Plymouth
Available method NAME:
auto Detect plymouth theme from distrib name
-k, --kernel=NAME Kernel name, to build initrd for it
-c, --config=PATH_FILE Path to config file ublinux-uird (/etc/ublinux-uird.conf.d/ubmkuird.conf)
-C, --configos=FILE Path to config file OS init (ublinux)
-g, --changes=PATH Path to changes for initrd root
-o, --outdir=PATH_DIR Path to finished initrd
-e, --exclude=LIST Exclude from initrd, separator ',' (see /etc/ublinux-uird.conf.d/ubmkuird.conf)
Examples LIST
- All group
no Reset global excluded
KM_base Group kernel modules base
KM_network Group kernel modules network
KM_dev Group kernel modules device
KM_crypto Group kernel modules crypto
KM_compAlg Group kernel modules compressions algoritm
FS_KM Group kernel modules file systems
DM_uird Group UIRD core
DM_base Group UIRD additional base
BIN_base Group all bin's base
BIN_network Group all bin's network
BIN_filesystem Group all bin's filesystems
BIN_extra Group all bin's manual
INST_all Group manual files
ExtraDM Group only options "--addon" only
-L, --logdir=PATH_FILE Path to logs
-m, --kmodpath=PATH Kernel modules path (/lib/modules)
-s, --secure=NUMBER Secure level, from 0 to 5 (paranoic)
Available levels NUMBER:
0 Default level, allow all
1 deny: eval cmdline
2 1 + deny: ub.run
3 2 + deny: internal shells (qs, qse, etc)
4 reserved
5 4 + deny: initrd cmdline parameters except ub.basecfg
-p, --passwd=PASSWORD Add password for initrd root user, without the option password will not be set
Available methods PASSWORD:
*** Get password from current root user and apply if "mkpasswd2" not found
--hash=HASH Password HASH method, default sha512crypt
Available methods HASH:
yescrypt Yescrypt
gost-yescrypt GOST Yescrypt
scrypt scrypt
bcrypt bcrypt
bcrypt-a bcrypt (obsolete 2a version)
* sha512crypt SHA-512
sha256crypt SHA-256
sunmd5 SunMD5
md5crypt MD5
bsdicrypt BSDI extended DES-based crypt(3)
descrypt standard 56 bit DES-based crypt(3)
nt NT-Hash
Examples:
ubmkuird -lu --passwd "ublinux-live" --secure 3
ubmkuird -l --passwd "ublinux-live" --secure 3 -e aria2c -k 5.17.2-5-ublinux -o /boot
ubmkuird -l -c /path/mkuird_ublinux.cfg -d /path/dracut_ublinux.cfg -n ublinux-5.17.2-5 -k 5.17.2-5-ublinux -e aria2c,plymouth -C ublinux
ubmkuird -l -e KM_base,KM_network,KM_dev,KM_crypto,KM_compAlg,kernel-modules -C ublinux
ubmkuird --addon
ubmkuird --kmod
Use for current kernel and low power hardware (without animation boot):
ubmkuird -Hlu --passwd "***" --secure 3 -e KM_network,BIN_network,BIN_extra,plymouth
Use for current kernel and current hardware:
ubmkuird -Hlu --passwd "***" --secure 3 -e KM_network,BIN_network,BIN_extra
дефолтный "ublinux" не проходил почему-тоНе, работает. Возможно, я тогда что-то неправильно неоднократно вводил и сработала защита или еще что.
> Александр betcher:
Основная идея - вынести из livekitlib монтирование всяких нестандартных вещей. Пока сделано на примере webdav
Оставить внутри только локальные диски и возможно шифрованные тоже. Все сетевое вынести в отдельные файлы на каждый протокол.
Можно будет прикручивать свои вещи, которых нет в uird. Пишешь функцию монтирования и обвязку в формате модуля дракута, зависимости и проч. Подкидываешь это при сборке uird и все.
nouird - загрузка Full в корне раздела без фич uird.Тут подумал, сейчас основные пользователи линукс, это именно пользователи Больших Линуксов, с привычным фулл.
неплохо бы если настройки UIRD можно было менять на летуДелаешь chroot в главный слой и штатно обновляешь
популяризировать UIRD, открыв его для пользователей Больших ЛинуксовК сожалению, вот типичная реакция фул юзера на юирд
Я пока вообще не понял, (http://forum.russ2.com/index.php?showtopic=5658&view=findpost&p=63851) как с помощью uird сохранить сессию на флешке. Или эта прога не для таких целей?
Делаешь chroot в главный слой и штатно обновляешьСлово "популяризировать" означает доступность для всех, даже для откровенных ламеров. )
"популяризировать" означает доступность для всех, даже для откровенных ламеров. )Как это чудо сделать?
Как это чудо сделать?Так то да, не все идеи можно реализовать в 'железе', но когда-то и ИИ был только на слуху в фантастических книгах. )