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

Автор Тема: Даёшь советский init!  (Прочитано 30493 раз)

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Даёшь советский init!
« Ответ #30 : 13 Март 2013, 13:59:07 »
Тогда iso я могу сделать и выложить - распишите словами -
1. из чего делать (218 217)
2. Перепаковать initrd c заменой init
3. Что-то еще?

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Даёшь советский init!
« Ответ #31 : 13 Март 2013, 14:30:19 »
Тогда iso я могу сделать и выложить - распишите словами
Стоит ли из пушки по воробьям?
 
1. из чего делать (218 217)
2. Перепаковать initrd c заменой init
3. Что-то еще?
1. Что больше нравится. У меня Richy - init_maxi, 13.02 - init_mini. Mini немножко посвежее и ещё будет доделываться, но можно пробовать и сейчас.
2. Да. Можно перепакованный initrd.gz назвать по другому (у меня initrd_maxi_217.gz) и прописать отдельным пунктом в menu.lst.
3. Для maxi я закомментировал секцию load_soft в rc.sysinit.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Даёшь советский init!
« Ответ #32 : 13 Март 2013, 14:43:48 »
Мне стало понятней. iso не нужен. Хватит initrd и menu.lst
Еще бы чуть подробнее
Цитата
-загрузка модулей
 1) из списка modules="<список через пробел>" в menu.lst (пока только из $pfsdir, но имя и расширение любые)
 2) из каталога $pfsdir (только .pfs)
лучше пример с пояснением про слои AUFS. Список с какими путями?

Оффлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6282
  • Репутация: +141/-0
Re:Даёшь советский init!
« Ответ #33 : 13 Март 2013, 15:52:41 »
Тоже согласен, что iso не обязательно, но
init_maxi_richy.
...
-загрузка модулей
 1) из списка modules="<список через пробел>" в menu.lst (пока только из $pfsdir, но имя и расширение любые)
 2) из каталога $pfsdir (только .pfs)
если я правильно понял, то Richy-217 у Вас работает с .pfs, поэтому хоть вкратце какие доработки были сделаны и хотелось бы, чтобы не изучать "методом тыка", видеть пример строки с параметром modules="<список через пробел>". Загрузка модулей из $pfsdir в PR-13.02 и так идет для всех и .sfs и .pfs  :-\

PR-13.02 с init_mini_1302 грузится нормально, фругал на Fat32 пока полет нормальный.
« Последнее редактирование: 13 Март 2013, 16:08:54 от RoDoN »
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Даёшь советский init!
« Ответ #34 : 13 Март 2013, 16:22:42 »
лучше пример с пояснением про слои AUFS.
Слои создаются при выполнении
Код
mount -t aufs -o udba=reval,diropq=w,dirs=${UMNTMAIN}${ZLAYER}${UMNTRO} unionfs /pup_new
(Это оригинальная строка).
где UMNTMAIN это pup_rw, pup_ro1 (если используется), pup_ro2 разделённые двоеточием.
ZLAYER pup_z
UMNTRO pup_ro${CNTLOOP} , создаётся циклом в секции "FINDING AND LOADING PUPPY MODULES" на вход которого поступает "$modules $(ls -1 /mnt/dev_save/${PFSDIR}*\.pfs)"
 modules помещается в строку kernel menu.lst и имеет вид modules="aaa.sfs bbb.pfs ccc.pfs". Эти модули будут загружены в том порядке, в котором записаны.
 В initrd_mini_1302 я записал эту строку так
Код
mount -t aufs -o udba=reval,diropq=w,dirs=/pup_rw=rw:${SAVE}/pup_ro2=ro${ZLAYER} unionfs /pup_new
т. к. pup_rw и pup_ro2 используются постоянно. $SAVE для richy_save.sfs, но в эту переменную можно записывать модули загружаемые выше базы (Это можно применить в maxi, SAVE назвать тогда лучше по другому)
Список с какими путями?
Пока без путей. Но в проекте / раздела и любой каталог.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Даёшь советский init!
« Ответ #35 : 13 Март 2013, 16:30:44 »
modules должны лежать рядом с базой?
в какой слой (выше\ниже) идут modules по отношению к базе , zdrv ,save?
что означает udba=reval,diropq=w ?
Сейчас пойдет продолжение темы "длинный menu.lst"... Здесь кроме переменных grub4dos нет идей?
« Последнее редактирование: 13 Март 2013, 16:39:40 от sfs »

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Даёшь советский init!
« Ответ #36 : 13 Март 2013, 16:36:21 »
если я правильно понял, то Richy-217 у Вас работает с .pfs
Здесь у меня расхождение с "официальным курсом партии" (Pro опять ругаться будет), sfs - system modules, pfs - program modules. Зато меньше путаницы. Автоподключаемые только системные sfs и pfs, Остальные, либо вписать в modules, либо подключать руками.
PR-13.02 с init_mini_1302 грузится нормально, фругал на Fat32 пока полет нормальный.
Это радует.
То ли ещё будет.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Даёшь советский init!
« Ответ #37 : 13 Март 2013, 16:45:28 »
modules должны лежать рядом с базой?
В слоях или в каталоге?
в какой слой (выше\ниже) идут modules по отношению к базе , zdrv ,save?
В данном случае ниже. Как записано в dirs по порядку. Выходит можно как угодно.
что означает udba=reval,diropq=w ?
Не знаю. diropq=w кажется имеет отношение к "теням" (.wh.)
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Даёшь советский init!
« Ответ #38 : 13 Март 2013, 16:53:11 »
Файлы перечисленные в modules должны лежать рядом с файлами базы?
А если я хочу modules aufs-выше базы - как сделать?
dir - это тоже переменная ядра
Привели бы примеры menu.lst для полного понимания.
« Последнее редактирование: 13 Март 2013, 16:59:03 от sfs »

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Даёшь советский init!
« Ответ #39 : 13 Март 2013, 17:22:09 »
Файлы перечисленные в modules должны лежать рядом с файлами базы?
В данном случае в $pfsdir
А если я хочу modules aufs-выше базы - как сделать?
Я изменил строку.
Код
mount -t aufs -o udba=reval,diropq=w,dirs=/pup_rw=rw:${UMNTMAIN}/pup_ro2=ro${ZLAYER}${UMNTRO} unionfs /pup_new
Теперь все /pup_ro${CNTLOOP}: записанные в ${UMNTMAIN} будут выше базы.
dir - это тоже переменная ядра
Где?
Привели бы примеры menu.lst для полного понимания.
Код
title Richy 217 Test
 root (hd0,2)
 kernel /217/vmlinuz pmedia=atahd pdev1=sda3 psubdir=217 pfsdir=SFS UUID="fe318c18-176a-4bc9-be4c-35f43d5299b2" pfix=fsck modules="Tetris.sfs usoft-MPlayer-1.1-Lego.sfs"
 initrd /217/initrd_maxi_217.gz
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Даёшь советский init!
« Ответ #40 : 13 Март 2013, 17:34:50 »
dirs а не dir - это я ошибся
Цитата
в какой слой (выше\ниже) идут modules по отношению к базе , zdrv ,save?
В данном случае ниже. Как записано в dirs по порядку. Выходит можно как угодно.
Хотелось бы часть modules грузить выше , часть ниже
Если я правильно понял сейчас это можно так:
Код
modules="Tetris.sfs usoft-MPlayer-1.1-Lego.sfs" pfsdir=дир_с_модулями_выше_базы
Т.е. выше - без перечисления
А как управлять копированием модулей на ram диск?
И напомните, в чем прелесть грузить юзерский софт в initrd, а не rc.sysinit. Чтобы окончательно все стало понятно
« Последнее редактирование: 13 Март 2013, 17:56:18 от sfs »

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Даёшь советский init!
« Ответ #41 : 13 Март 2013, 19:10:03 »
Хотелось бы часть modules грузить выше , часть ниже
Очень не хотелось бы.
Если я правильно понял сейчас это можно так:
Код
modules="Tetris.sfs usoft-MPlayer-1.1-Lego.sfs" pfsdir=дир_с_модулями_выше_базы
Сейчас никак.
А как управлять копированием модулей на ram диск?
Тоже никак
И напомните, в чем прелесть грузить юзерский софт в initrd, а не rc.sysinit. Чтобы окончательно все стало понятно
А никакой прелести. Поэтому я и делаю Mini (только системные pfs)
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Даёшь советский init!
« Ответ #42 : 14 Март 2013, 02:02:36 »
не буду я ругаться, моя позиция как координатора официальная:
До тех пор пока имеются разногласия в реализации функций, в действующей системе будет оставаться существующий init.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Даёшь советский init!
« Ответ #43 : 14 Март 2013, 09:52:42 »
А никакой прелести. Поэтому я и делаю Mini (только системные pfs)
Если нового функционала нет тогда не очень понятно - зачем это все? Только оптимизация кода?
Поддерживаю Pro. Подобную разработку надо начать с четкого определения задачи.

Может быть в init грузить перечислением через modules базу и прочее... То что хотел Zay - упразднить базу. Только я уже не помню зачем. Тем самым решается проблема слоев без префиксов регистров (Uusoft-) и пр. изврата. Но menu.lst не будет коротким...

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Даёшь советский init!
« Ответ #44 : 14 Март 2013, 10:57:48 »
Если нового функционала нет тогда не очень понятно - зачем это все? Только оптимизация кода?
Поддерживаю Pro. Подобную разработку надо начать с четкого определения задачи.
Задача:
1) Понять, как эта "кухня" работает чтобы управлять процессом и не зависеть от чужих и непонятных кодов.
2) Оптимизировать код под наш busybox, убрать буржуйские костыли (и тараканов).
3) Иметь возможность воплощать новые идеи (если будут)
Может быть в init грузить перечислением через modules базу и прочее... То что хотел Zay - упразднить базу. Только я уже не помню зачем. Тем самым решается проблема слоев без префиксов регистров (Uusoft-) и пр. изврата. Но menu.lst не будет коротким...
Не стоит. Загрузка системы будет слишком сильно зависеть от menu.lst, а по нему и так много вопросов.
Хотелось бы прийти к минимуму - kernel /puppy/vmlinuz
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64