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

Автор Тема: LF (linux frugal). Набор для преобразования любого линукс в frugal  (Прочитано 19267 раз)

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

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1028
  • Репутация: +15/-0
sklimkin, возьмите полученный у вас initrd,
1. скопируйте туда linuxrc, liblinuxlive, из портеус или магос. init замените на linuxrc или удалите из вашего initrd.
2. Скопируйте в корень initrd также VERSION.
3. Собранный вами образ squashfs положите в папку base

Итоговая иерархия файлов в случае взятого магос инитрд:
/MagOS/base/ваш образ squashfs.xzm
/MagOS/vmlinuz
/MagOS/initrd.gz
/MagOS/MagOS.sgn
/MagOS/VERSION

А вообще месяца через два, когда допишу универсальный скрипт, я планирую написать пару скриптов по сборке frugal для распространенных дистров.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 26874
  • Репутация: +182/-0
    • PuppyRus-A
Чтобы не забыть предмет:
Цитата
Создать дистронезависимый набор утилит: 1. Live системы (initrd или полная система сборки дистра)
На данный момент в LF система сборки всего дистра есть только для manjaroiso и она только под арч
Для деб. есть live-boot , remastersys
Дистронезависимо тут не выйдет. Думаю это надо убирать из задач LF
Тем более что porteus оптимален
У меня УЖЕ ЕСТЬ ЯДРО В СОБРАННОЙ ЛИНУКС-СИСТЕМЕ (но это не PRA).
Хотелось бы прочитать на русском языке КАК В ЭТУ СИСТЕМУ ДОБАВИТЬ LF-initrd - если это возможно.
Этого не достаточно?
Что не понятно? Готов доработать текст (или помогайте)
"собрать LF initrd можно ТОЛЬКО в PRA" и я отстану с вопросами.
Дописал туда же как не под PRA
Цитата
Никаких chroot не надо
Надо или не надо - это дело вкуса/навыков.
initrd никто в chroot не собирает. Методика сборки всего дистра может быть разнообразной. chroot - наиболее универсально для опытных
Слово "вкорячить" хорошо бы заменить конкретикой.
Методика сборки lf-porteus-initrd пока , к сожалению, именно "вкорячить"
На конечный результат это не влияет
Хорошо бы переделать на dracut или т.п.
экономите на освещении существенных деталей для повторения этих результатов другими.
Как и со всем новым. Доки опаздывают
LF задуман для таких как Вы и под впечатлением от Ваших постов
Готов объяснять до полного понимания. Иначе зачем вся затея.... Хотелось "всколыхнуть творчество масс" , frugal ом привлечь в проект пользователей непупи

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 26874
  • Репутация: +182/-0
    • PuppyRus-A
возьмите полученный у вас initrd,
1. скопируйте туда linuxrc, liblinuxlive, из портеус или магос. init замените на linuxrc или удалите из вашего initrd.
Не настолько все просто. busybox может не подойти, с монтированием ntfs есть тонкости
Лучше в нужный live-initrd добавлять свои модули ядра, а не наоборот
А еще лучше адаптировать porteus и magos init под dracut
А вообще месяца через два, когда допишу универсальный скрипт, я планирую написать пару скриптов по сборке frugal для распространенных дистров.
Отлично! Готов участвовать как минимум тестированием
Сетевые навороты magos для корпоративного использования мне очень интересны

Оффлайн sklimkin

  • Пользователь
  • **
  • Сообщений: 78
  • Репутация: +4/-0
Спасибо 'sfs' и 'neobht' за пояснения и терпение.
Тогда, если я правильно понял, новая технология "LF-initrd" не сильно отличается от той, которую я попытался осветить в посте:
http://forum.puppyrus.org/index.php/topic,12651.msg86280.html#msg86280
Цитата
После "разбора полетов" по скрещиванию Дебиан и Портеус (Porteus-Wheezy.iso)
http://smokey01.com/saintless/Porteus-Wheezy/
http://murga-linux.com/puppy/viewtopic.php?t=90660&start=465
где vmlinuz unitrd и некоторая часть библиотек (/lib/modules/) заменяются на Портеус'овские, но система в целом все же остается Дебиан'ом.

Существенных отличий два:
1.1 в Porteus-Wheezy "родные" vmlinuz и initrd.img заменяется на аналоги из Porteus
1.2 в "LF-initrd" vmlinuz остается "родным", но надо заново создать initrd.img - теперь он будет называться initrd.xz
2.1 в Porteus-Wheezy надо вручную добавить в initrd новый DIR /unioncp и в него "родные" библиотеки /lib и в главном модуле системы заменить /lib/modules на Porteus'овские
2.2 в "LF-initrd" надо создавать новый initrd с помощью mkinitcpio, который надежно (пока) работает в Arch и в PRA. При этом в любой из этих двух систем надо досупными средствами поместить "родные" vmlinuz и initrd.img. После этого новый initrd можно переносить в ISO-образ "родной" системы. Зато не надо переделывать ранее собранный и упакованный в squashfs (sfs,pfs, xzm) главный модуль (модули) "родной" системы.

"Дьявол скрывается в мелочах" и поэтому "нет в мире совершенства".

I.Буду пробовать создание initrd учитывая последние комментарии 'sfs'.
II. Буду пробовать по схеме, предложенной 'neobht', но что-то там "не так" - подозрительно просто.
III. Возможно Александр найдет другие способы "одолеть" гибридный initrd
IV. Буду ждать реализацию от 'neobht' (MagOS Linux).

Сергей.
« Последнее редактирование: 12 Январь 2014, 15:38:30 от sklimkin »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 26874
  • Репутация: +182/-0
    • PuppyRus-A
Цитата
Porteus-Wheezy "родные" vmlinuz и initrd.img заменяется на аналоги из Porteus
Не обязательно
LF-porteus-initrd можно собрать под любое aufs ядро. chroot и компиляция не требуются
Для этого нужны /lib/modules этого ядра
Эти modules надо добавить в голый (без /lib/modules) LF-porteus-initrd
Чтобы уменьшить размер /lib/modules можно :
Взять только нужные (или это сделает за Вас mkinitcpio). mkinitcpio из Арч. В ubuntu он мне только 2 модуля добавил. Видимо не работает он не в арч
К любому ядру в систему надо подгружать (любым способом) /lib/modules (полный комплект) этого ядра
Везде не забыть про depmod
Вот и вся теория

Если использовать porteus или PRA спец. ядра - LF-porteus-initrd пересобирать вообще не  надо
Как Ваша система будет работать с такими (или другими, не родными ей) ядрами - это уже выходит за рамки этой темы

Оффлайн imago31

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 2839
  • Репутация: +41/-0
  • горний арол
 Есть ряд вопросов:
Я вообще запутался, вроде бы портеус инит не имеет модулей ядра и поэтому его можно прикрутить без пересборки, то говориться что при использовании других ядер надо пересобирать инит портеуса добавиви модули
 чтобы сделать lf, например из убунту, нужно находиться в убунту или в пуппирус?
 от средства сборки инитрайд не зависит каккой будеи инитрайд, можно брать любой? вообще меня интересует портеус инит
 сборочная среда mkinitcpio только для арч? и можно прикрутить любой инитрайд?
 если нет сборочной среды, но есть ваш портеус инит, я так понял работающий с pfs пакетами, что мне нужно сделать что бы прикрутить его к убунту или слако 5.4? и сделать из них фругал с автозагрузкой, выше базы и т.д, ну как в портеус и в PRA
 Извините если задал много вопросов, просто для меня сейчас это все так сложно
Одним словом как я понял прикрутить портеус инит например к убунту можно в ручную без скриптов сборки, верно? нужно просто добавить к иниту модули ядра убунту, и саму базу перепаковать в pfs или как? вообщем все сложно пока для меня
Врач спасает человека, ветеринар - человечество
 все эксперименты на dual core 2x3.1 GHz/ram-3Gb/gt 440 1gb/WCD 80gb IDE/Samsung 80gb sata/3 флешки с зоопарком линуксов.
  Для работы и игр: Windows 10 снес, поставил 7
  Для души, для скорости и всего остального: Linux(pra, puppy, porteus, ubuntu-подобные)
 
 игровые модули
 программные модули

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 26874
  • Репутация: +182/-0
    • PuppyRus-A
портеус инит не имеет модулей ядра и поэтому его можно прикрутить без пересборки,
Только для спецядер (PRA, porteus)
при использовании других ядер надо пересобирать инит портеуса добавиви модули
Да.
чтобы сделать lf, например из убунту, нужно находиться в убунту или в пуппирус?
В любом линукс.
от средства сборки инитрайд не зависит каккой будеи инитрайд, можно брать любой?
rootaufs и mkinitcpio менее функциональны. Их проще собрать в arch штатным mkinitcpio
mkinitcpio в юбунте мне только 2 модуля добавил - не разбирался и не планирую

porteus сейчас не собирается , а перепаковывается
Модули в него можно добавить любым способом. Лишь бы сработало.
Может с помощью neobit к dracut прикрутим. Тогда будет универсально
сборочная среда mkinitcpio только для арч?
Не знаю. В юбунте штатное mkinitramfs - мне показалось - сложнее
и можно прикрутить любой инитрайд?
Все инитрд собиралки работают так:
На входе модули ядра и hook-и (функциональные модули) - на выходе инитрд
Porteus в виде hook нет.
Те hook-и что есть - существенно хуже. rootaufs manjaroiso - лучшее, что знаю
если нет сборочной среды, но есть ваш портеус инит, я так понял работающий с pfs пакетами, что мне нужно сделать что бы прикрутить его к убунту или слако 5.4?
http://forum.puppyrus.org/index.php/topic,14190.msg86465.html#msg86465
Про пупи я уже писал - не тратьте время зря. Он слишком "в себе". Любите как есть - максимум добавить модули (только собирать их нечем) что Вы с дядей Шуриком и делаете
прикрутить портеус инит например к убунту можно в ручную без скриптов сборки, верно? нужно просто добавить к иниту модули ядра убунту,
Да. Если спецядро подходит можно вообще ничего не пересобирать и не перепаковывать
и саму базу перепаковать в pfs или как?
porteus ничего не знает про pfs. Можно просто переименовать или xzm=
Подойдет любой squash. А может быть и [234]fs

Нужен ли целый каскад LF... У меня в планах какой-то арч (наверное archbang) как контрольный для PRA и все

Оффлайн imago31

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 2839
  • Репутация: +41/-0
  • горний арол
Спасибо за ответы, меня именно и интересует портеус инит, про модули ядра я понял, а как на счет создания иерархии папкок, файлов 000-kernel и т.д, откуда их брать или создавать?
Врач спасает человека, ветеринар - человечество
 все эксперименты на dual core 2x3.1 GHz/ram-3Gb/gt 440 1gb/WCD 80gb IDE/Samsung 80gb sata/3 флешки с зоопарком линуксов.
  Для работы и игр: Windows 10 снес, поставил 7
  Для души, для скорости и всего остального: Linux(pra, puppy, porteus, ubuntu-подобные)
 
 игровые модули
 программные модули

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 26874
  • Репутация: +182/-0
    • PuppyRus-A
Если хочется модульности уровня PRA - задача усложняется. Придется послойно собирать модули средствами донорского дистра
В PRA мы этим заморачиваемся, но это не просто, трудоемко и требует знаний
Взять любой одномодульный livecd, перепаковать /lib/modules /lib/firmware (или взять готовые)
Максимум изменить набор софта в chroot - более просто. В этом отличие LF

Мы и спорим в соседней теме
Я считаю, что делать из PRA "все включено" - это уже не PRA , а LF (т.е. и делать ничего не надо - бери готовое)

Оффлайн imago31

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 2839
  • Репутация: +41/-0
  • горний арол
Ну так вот про lf я и хочу взять готовое, например я могу вять ваш лф-рунту, убрать от туда базу, взять туже убунту 12.04 с юнити, добавить в базу pfs-utils, упаковть в pfs и положить в лф-рунту, по идее должно работать? или в базу надо добавить и модули ядра 3.11.3-pf?
Врач спасает человека, ветеринар - человечество
 все эксперименты на dual core 2x3.1 GHz/ram-3Gb/gt 440 1gb/WCD 80gb IDE/Samsung 80gb sata/3 флешки с зоопарком линуксов.
  Для работы и игр: Windows 10 снес, поставил 7
  Для души, для скорости и всего остального: Linux(pra, puppy, porteus, ubuntu-подобные)
 
 игровые модули
 программные модули

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1028
  • Репутация: +15/-0

Может с помощью neobit к dracut прикрутим. Тогда будет универсально

не совсем. porteus прикрутить к дракут - не цель. это уже давно сделано и дело техники.
а вот сделать на базе dracut универсальное решение, которое превосходит возможности porteus и magos  - вот чем я занимаюсь.

А набор скриптов, которые собирают модули на базе любого дистра - это маленькая задача. Они у нас уже давно придуманы, просто надо заменить urpmi на chroot+apt-get, chroot+urpmi, chroot+pacman, chroot+yum,..... тогда скрипты смогут собирать на любом дистре.
Единственное условие - ядро с aufs.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 26874
  • Репутация: +182/-0
    • PuppyRus-A
porteus прикрутить к дракут - не цель. это уже давно сделано
Где и кем? Дайте попробовать

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 26874
  • Репутация: +182/-0
    • PuppyRus-A
Ну так вот про lf я и хочу взять готовое, например я могу вять ваш лф-рунту, убрать от туда базу, взять туже убунту 12.04 с юнити, добавить в базу pfs-utils, упаковть в pfs и положить в лф-рунту, по идее должно работать? или в базу надо добавить и модули ядра 3.11.3-pf?
Берете lf-runtu, заменяете runtu-lite-12.04.3_20131010.pfs на *.squashfs из юнити, переименовав в .pfs. Все
Может быть depmod придется пересделать.... До конца с этим не разобрался
Можно перепаковать *.squashfs - удалить ее ядро, фирмваре, нерусские локали, доки ...

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1028
  • Репутация: +15/-0
porteus прикрутить к дракут - не цель. это уже давно сделано
Где и кем? Дайте попробовать

я попробую подготовить дистронезависимую версию dracut и сообщу вам.
правда хотел такую версию dracut делать после самого uird.

А самостоятельно можно так:
1. вместо livekitlib - скопировать linuxlivelib
2. вместо uird-init - скопировать linuxrc

ну и собрать make-dracut-minimal.sh

Но в этом мало смысла, давайте лучше немного подождете, когда я уже все доделаю.
Я стараюсь каждый день этим заниматься и планирую за январь сделать, чтобы февраль был на отладку и тестирование.

Оффлайн swwa

  • Пользователь
  • **
  • Сообщений: 38
  • Репутация: +0/-0
Друзья, этот проект был заброшен? Было бы интересно иметь минимальный Debian для загрузки в ram с нужным набором программ. Пробова ставить обычный debian netinstall, так он даже при отключенных при установке репозиториях занимает в установленном виде много сотен МБ на диске. И это без gui и программ. Видимо, устанавливает кучу библиотек "про запас"...
« Последнее редактирование: 19 Ноябрь 2018, 01:15:00 от swwa »