Автор: DdShurick 21.7.2020, 9:03
Richy не дистрибутив, это испытательный полигон и основа для "конструктора". Что-то вроде самоходного шасси, был такой смешной трактор во времена СССР, мотор сзади, кузов спереди.
Цитата(dango_ @ 20.7.2020, 16:11)
Меня интересует как все устроено.
1) Загружаются ядро и рамдиск, как у всех. Запускается скрипт init.
2) Поиск модулей. Если указаны dev (носитель) и/или dir (директория), то поиск ограничен только на них, если не указаны - на всех разделах, что замедляет загрузку.
3) По мере нахождения модулей они монтируются: основные (находятся в поддиректории base) - к /base, /kernel, /Xorg, /save; дополнительные (из modules) к создаваемым в корне по мере необходимости одноимённым с модулями точкам монтирования.
4) Записываются некоторые переменные в /etc/initvars.
5) Монтируется aufs
Код
mount -t aufs -o udba=reval,diropq=w,dirs=/changes=rw:${SAVEXZM}${UMNTRO}${KERNEL}/base=ro aufs /pup_new
где:
/changes - директория для записи изменений. Всегда rw и верхний слой. Обычно находится в ram, но может быть и на реальном носителе.
${SAVEXZM} - модуль сохранённых изменений, если такой есть (поэтому обозначается переменной $SAVEXZM). Второй слой сверху.
${UMNTRO} - список модулей с программами.
${KERNEL} - "ядерный" модуль, если такой есть. Второй слой снизу.
/base - базовый модуль.
Всё это монтируется к точке монтирования /pup_new
6) Перемонтирование (mount -o move) циклом всех точек монтирования в корне в /pup_new/mnt/bundles${ONEMNT} (${ONEMNT} - имя точки монтирования)
7) Монтирование пользовательского раздела home на реальном носителе, если указан параметр home в загрузочной строке.
8. Смена корня. Переходим в систему aufs и запускаем "настоящий" init
Код
exec switch_root /pup_new /sbin/init
Далее загрузка системы не отличается от обычной. Может использоваться SysVinit или systemd. В Richy - busybox init + udev + kmod.
Надеюсь, что хоть что-то понятно.
Автор: dango_ 21.7.2020, 12:42
Цитата(DdShurick @ 21.7.2020, 10:03)
Надеюсь, что хоть что-то понятно.
По крайней мере, вижу знакомые слова. Х-) Спасибо, Александр. Что будет совсем непонятно - спрошу.
Автор: kostyalamer 22.7.2020, 0:19
Цитата(DdShurick @ 21.7.2020, 9:03)
Надеюсь, что хоть что-то понятно.
Александр , поскольку территория нейтральная ,( на папирусе меня бы тапками закидали на альте - тебя) .
объясни вкратце в чем смысл всего этого. В варианте живой флешки я в принципе могу понять , а вот в варианте установки на винт ? Если ты будешь обновлять основную систему стандартными способами то смысла нет вообще , а если не обновлять то даже делая модули ты со временем столкнешься с разъезжанием версий gcc , библиотек и т.п.
Или эта технология расчитана на замороженные репы ? Это не ради холивара - просто я не очень понимаю конечную цель всей этой работы.
Автор: DdShurick 22.7.2020, 21:56
Цитата(kostyalamer @ 21.7.2020, 22:19)
в чем смысл всего этого.
Смысл?? Поэкспериментировать.. Причём безопасно.
Цитата(kostyalamer @ 21.7.2020, 22:19)
с разъезжанием версий gcc
В Richy32 GCC-9.2.0, в Richy64 - 7.2.0, пока ничего не разъехалось. Библиотеки обновляю по необходимости, когда из репо, когда и сам компилирую. Вас всех (в том числе и sfs) смущает отсутствие пакетного менеджера, а зачем он мне? Чтобы тащил кучу лишнего? Обновить модуль не сложнее чем пакет, а заменить модуль в системе гораздо проще. Просто ты не привык, а для меня работа с ПМ это морока с непредсказуемым результатом.
Автор: kostyalamer 22.7.2020, 23:43
Цитата(DdShurick @ 22.7.2020, 21:56)
Смысл?? Поэкспериментировать.. Причём безопасно.
В Richy32 GCC-9.2.0, в Richy64 - 7.2.0, пока ничего не разъехалось. Библиотеки обновляю по необходимости, когда из репо, когда и сам компилирую. Вас всех (в том числе и sfs) смущает отсутствие пакетного менеджера, а зачем он мне? Чтобы тащил кучу лишнего? Обновить модуль не сложнее чем пакет, а заменить модуль в системе гораздо проще. Просто ты не привык, а для меня работа с ПМ это морока с непредсказуемым результатом.
А это другое дело , поэкспериментировать это прекрасно. Я тоже устал от юзерофильных дистрибутивов и перешел на создание сборок для любителей экспериментов. Так что полнейший одобрямс !
Я так понял что у тебя донором выступает слака или ошибаюсь ? Если она то твое отношение к ПМ-ам вполне понятно.
Кстати в том же арче пакеты не страдают лишними зависимостями ( по сравнению с теми же rpm-ами )
Изохи для тестов есть ( знаю что ты не любишь этот формат , но проще всего на посмотреть) ?
Вообще тема интересная , приколол в важные темы .
Автор: DdShurick 23.7.2020, 7:47
Цитата(kostyalamer @ 22.7.2020, 21:43)
донором выступает слака
В основном да.
Автор: knn 30.7.2020, 18:39
- я так к слову, и отчасти не по Теме - ? а AutoNet/UpNet на Альте "запускается" ?
(просто когда "бродил по сборкам/дистрам" - он иногда выручал ... да и не только)
Автор: DdShurick 30.7.2020, 21:03
Цитата(knn @ 30.7.2020, 16:39)
AutoNet/UpNet на Альте "запускается" ?
Он на gtkdialog, но ...
Код
# apt-get install gtkdialog
E: Невозможно найти пакет gtkdialog
Надо серьёзно дорабатывать для совместимости.