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

Автор Тема: Сборка Initrd UIRD в PRA  (Прочитано 42043 раз)

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
    • PuppyRus-A
Re: Сборка Initrd UIRD в PRA
« Ответ #90 : 27 Декабрь 2018, 10:02:30 »
Оформил в вики
Понятно?

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #91 : 27 Декабрь 2018, 10:36:41 »
/usr/lib/modules/$kern_ver/modules.builtin
Да, это вариант. Но в общем виде будет несколько сложнее. У модулей еще алиасы есть. То есть сперва нужно смотреть не является ли имя модуля алиасом (modules.symbols), затем искать в modules.builtin. Пожалуй добавлю такую проверку в mkuird.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: Сборка Initrd UIRD в PRA
« Ответ #92 : 27 Декабрь 2018, 10:39:59 »
У модулей еще алиасы есть. То есть сперва нужно смотреть не является ли имя модуля алиасом (modules.symbols), затем искать в modules.builtin.
применительно к aufs наверное не актуально, кто на него алиасить будет.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #93 : 27 Декабрь 2018, 10:42:05 »
применительно к aufs наверное не актуально, кто на него алиасить будет.
Редактировать сообщение
Сообщить модератору   Записан
Имею ввиду проверять все, что не найдено modinfo

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5320
  • Репутация: +139/-1
Re: Сборка Initrd UIRD в PRA
« Ответ #94 : 14 Август 2019, 17:49:41 »
переживания о 'жирности' uird не актуальны?
Тут посмотрел внимательней содержимое uird.magos.cpio.xz. Здесь и полный busybox, и модули ядра на 34 Mb и т.д.
Сложилось впечатление, что это самостоятельная мини-система. А значит и некоторые функции можно переложить на нее. Не стремиться облегчить uird, а убрать дублирующие функции и файлы из основной системы.

Т.е. получаем основную систему состоящую из двух полноценных частей, сама сборка+uird. Т.к. у нас модульный фругал и некоторые рецепты большого линукса не подходят, то на мой взгляд это прекрасная идея.
Как пример, подключение swapfile, с которым справится любой пользователь.

Какие плюсы я вижу из такой комбинации:
1. часть настроек из основной системы можно перенести в uird
2. на несколько порядков возрастает простота настройки системы под себя через uird (имхо)
3. общий размер сборка+uird должен по идее остаться на том же уровне, за счет удаления дубликатов (модули ядра и т.д.)
4. еще не придумал :)


Вобщем все это я написал по следам этой темы PRA09. не автоподключается swapfile

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
    • PuppyRus-A
Re: Сборка Initrd UIRD в PRA
« Ответ #95 : 14 Август 2019, 17:55:39 »
После того, как инитрд смонтировал систему - меняется корень / и initrd затирается в памяти
Копировать его в память или систему - не проще ли и меньше размером обычный squash

Тогда уж - как в слитаз - вся система в инитрд. Тоже можно наслаивать

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #96 : 14 Август 2019, 19:04:40 »
То что вам не нужно в uird просто удалите из конфига mkuird.cfg и все. Там куча того, что очень специфично. Например mc :)
Копировать из uird  в сиситему можно, мы копируем livekitlib, uird.scan, но никто не запрещает копирвать к примеру busybox. Параметр uird.syscp. Была идея сделать копирование с зависимостями по ldd, но чет пока не делал. Даже не знаю надо ли.
А вообще
Сложилось впечатление, что это самостоятельная мини-система. А значит и некоторые функции можно переложить на нее
Как раз так я uird и рассматриваю. Сейчас даже разбор ини в нем есть, то есть можно до запуска основной системы изменить любой конфиг в этой системе, дописать новый или выполнить скрипт, например пользователя создать. Весь механизм сохранения в модуль есть в uird, без поддержки со стороны сиситемы (требуется systemd только). И много чего еще.
То есть в идеале uird + ини файл + pfs-utils + rootfs донора = Система в которой есть все необходимое, разве что кроме гуевых надстроек к pfs-utils. Я так вижу.
« Последнее редактирование: 15 Август 2019, 04:56:25 от betcher »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
    • PuppyRus-A
Re: Сборка Initrd UIRD в PRA
« Ответ #97 : 15 Август 2019, 10:32:38 »
Если подраздуть инитрд до почти полной системы (а у клонов пра база <100мб)
В том числе Х. Можно из инитрд chroot2pfs запускать проги из баз разных дистров
На уровне идеи интересно, но зачем.... Почему просто  не запустить один изх дистров

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5320
  • Репутация: +139/-1
Re: Сборка Initrd UIRD в PRA
« Ответ #98 : 15 Август 2019, 17:14:44 »
Сейчас даже разбор ини в нем есть, то есть можно до запуска основной системы изменить любой конфиг в этой системе, дописать новый или выполнить скрипт, например пользователя создать.
Я смотрю в MagOS.ini изменения, раньше такого не видел:
Цитата
# MagOS parameters

# How it works.
# Краткое описание как работает это файл.
#[/path/filename]755   #select file for changing. if its not exists it will be created with 755 permisions
#[/path/filename]a+x   #выбор файла для изменений, если файла нет, он будет создан с правами по умолчанию плюс chmod a+x
#Parameter=value       #it will change string Parameter=* in file to Parameter=value. If there is no parameter the string will be added to end of file.
#Параметр=значение     #меняет параметр в файле на нужное значение. Если параметра нет, строка будет добавлена в конец файла.
#+string               #add string to end of file in case it's not already in file.
#+строка               #добавит строку в файл, если она ещё не прописана в нём.
#|string               #add string to end of file in any case.
#|строка               #добавит строку в файл без проверки.
#-expression           #remove all string with expression (see info sed). symbols .* matches all strings in file.
#-выражение            #удаляет строки соответствующие выражению (см info sed).Если указать .* то будут удалены все строки.
А как это реализуется, у uird есть своя консоль чтобы вводить команды?
« Последнее редактирование: 15 Август 2019, 17:17:23 от krasnyh »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #99 : 15 Август 2019, 17:20:58 »
В магос разбор ини делает не uird, uird только находит ини. Но с недавнего времени в uird добавили свою реализацию. Запускается параметром uird.preinit.
Вот из хелпа:
****************************************************************************************************************************************
uird.preinit  - включить обработку ini файла, заданного параметром uird.config
                            Основная задача ini файла это внесение изменений в системные конфиги
                            до старта init (systemd)
                           
Краткое описание как работает разбор ini файла.
[/path/filename]a+x [/bin/bash]  выбор файла для изменений, если файла нет, он будет создан с правами по умолчанию плюс chmod a+x
                                 Необязательный параметр во второй части в квадратных скобках означает "запустить с" возможные варианты
                                  [/bin/bash/] запустит с башем
                                  [.] выполнить как часть uird-init
                                  [chroot . ] сделать чрут в sysroot и выполнить там
Параметр=значение                меняет параметр в файле на нужное значение. Если параметра нет, строка будет добавлена в конец файла.
+строка                          добавит строку в файл, если она ещё не прописана в нём.
|строка                          добавит строку в файл без проверки.
-выражение                       удаляет строки, соответствующие выражению (см. info sed).
                                 Если указать .* то будут удалены все строки.
****************************************************************************************************************************************
« Последнее редактирование: 15 Август 2019, 17:30:21 от betcher »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5320
  • Репутация: +139/-1
Re: Сборка Initrd UIRD в PRA
« Ответ #100 : 15 Август 2019, 17:46:02 »
То есть в идеале uird + ини файл + pfs-utils + rootfs донора = Система в которой есть все необходимое
Хорошо звучит, :)  пришлось только погуглить насчет rootfs и где его взять для своего линукса в той самой минимальной комплектации (на примере Росы).


upd. Для archlinux Build rootfs image

Но проще, установив "pacman2pfs arch-install-scripts", запустить команду с возможностью ручного редактирования устанавливаемых пакетов (пример: ^21 ^23-31 ^38 ^50):
Цитата
sudo pacstrap -i -c моя_папка base
Потом сжать моя_папка в модуль.


upd2. Для арча существует Docker image https://www.archlinux.org/download/
Цитата
A Docker image is available on Docker Hub. You can run the image with the following command:
 docker run -it archlinux/base
« Последнее редактирование: 15 Август 2019, 19:11:48 от krasnyh »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #101 : 15 Август 2019, 18:16:54 »
пришлось только погуглить насчет rootfs
Сойдет любой iso. Даже разбирать не обязательно.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5320
  • Репутация: +139/-1
Re: Сборка Initrd UIRD в PRA
« Ответ #102 : 15 Август 2019, 18:50:31 »
А что надо сделать, чтобы в PRA заработало какое-нибудь подобие MagOS.ini?
Хотелось бы туда поместить основные настройки - рус. язык, сеть, временная зона и т.д.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #103 : 15 Август 2019, 19:00:45 »
Uird :)

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5320
  • Репутация: +139/-1
Re: Сборка Initrd UIRD в PRA
« Ответ #104 : 15 Август 2019, 19:05:12 »
Предположим, что у меня uird.  Отредактирован uird/configs/uird_configs/pra64
Цитата
uird.config=MagOS.ini

И что, все что я ни напишу в MagOS.ini, заработает? Системы же разные, там Rosa (Magos), здесь Arch.