LINUX.ORG.RU
ФорумAdmin

Свой маня-дистрибутив

 , ,


1

3

Парни, привет. Сижу себе на линухе, многое устраивает, но многое, казалось бы, не так-то сложно сделать лучше. Возникает идея - попробовать сделать самостоятельно. Наверняка она возникала и у вас. Цель - сделать так, как удобно, набраться опыта, собрать какое-никакое сообщество.

Так вот, прежде чем полностью погрузиться в данное дело - хотел бы поинтересоваться, не первому же мне пришла в голову данная идея? Наверняка у вас есть свои микропроекты, в которых есть опыт, которому можно поучиться?

Итак, кто предпринимал создание собственного дистрибутива - как оно было/есть? Какие цели ставили? Насколько цели (были) достигнуты? Как велась разработка, как собирали feedback, кто кроме вас дистрибутивом пользовался? Что делать надо/не надо? Что бы посоветовали себе, начинавшему данный проект?

Жизнь слишком короткая, чтобы учиться только на своем опыте, поэтому хотелось бы услышать ваш. И да, если вы открыты к предложениям касательно дистрибутива (когда мне будет, что предложить - не только лишь идею, но и mvp), укажите это.

Делал свой микродистрибутив на базе Nix, чтобы понять, как пишется его nixpkgs с азов и как деривации комбинируются в нечто загружающееся. В проекте хотел попробовать соорудить много-много-флейковый аналог nixpkgs и, может, подрихтовать бутстрап самой NixOS.

Вместо этого скорее сношался с самопоставленным челленджем по бутстрапу из сколь-либо минимального набора бинарей в виде статически слинкованного TinyCC, особенно воспроизводимостью этого процесса и невероятно веселого скриптования на C без stdlib. А потом отвлекся на новости, логотип дистра аппроприировали не скажу кто и че-то так обратно и не попустило.

А ты просто собери LFS по инструкции, должно отпустить.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)

О! Я, я хочу!

В общем:

  • пакетный менеджер без зависимостей. Все программы в нем собираются исключительно статические

  • Иксы используются только для запуска программ. В основное время человек сидит в голой консоли со специально разработанной для нее DE (я его как-то начинал делать). Естественно консоль должна поддерживать UTF-8. Как – хрен знает.

Основная проблема в том, что это сделать один я не смогу. А где еще таких идиотов найти – не знаю. Так что пока только в мечтах

Parthen
()

Наверняка она возникала и у вас.

О, да!) Полтора мильёна сто тысяч раз возникала.

набраться опыта, собрать какое-никакое сообщество.

Опыт получишь, сообщество не соберёшь. Инфа соточка.

sparkie ★★★★
()
Ответ на: комментарий от t184256

А ты просто собери LFS по инструкции, должно отпустить.

У меня есть ещё менее жестокая идея — положить в основу Debian Minimal CD, а всё остальное нужное при необходимости собирать самому. Строго то, что нужно, и строго с нужными флагами.

Вот если не отпустит — да, можно переходить к LFS.

hobbit ★★★★★
()

цели обычно две:

практическая - создание полностью рабочей сборки под заданные условия. тут тех.задание уже есть.

учебно-изучательная. цель одна - «шоп работало» на твоей компуктере.
сей путь прекрасно описан в Linux From Scratch. это собственно книжка про создание полностью своей линукс-среды.
аккурат по твоей хотелке «хочу то незнамо что» :)
в процессе осиляния LFS попутно изучишь и все остальные интересующие тебя вопросы.

как вариант мини-задачи изучения линукса - скомпилируй ядро линукса конкретно под свой компутер. разберись во всех параметрах menuconfig что нужно что не нужно.

это «базовые» хорошо описанные, многократно пройденные, много кратно обсужденные задачи прольют тебе свет на то чего же ты все таки хочешь…

pfg ★★★★★
()
Ответ на: комментарий от pfg

в процессе осиляния LFS попутно изучишь и все остальные интересующие тебя вопросы.

Та я вот как-то начинал, но оно настолько уныло, что решил собрать Gentoo вместо этого.

скомпилируй ядро линукса конкретно под свой компутер

Было, делал. Понял три вещи:

  1. Если ты не можешь объективно замерить, что твое ядро лучше stock - то это пустая трата времени.
  2. Я не могу начать menuconfig со всеми параметрами выключенными по дефолту. Да, моя борода до пола, но не длиннее, еще недорос.
  3. Модули лишь полбеды, нужно шарить за sysctl параметры. А это чет сложновато.

Как-то так. Спрашиваю я вот почему - процесс создания дистрибутива я себе представляю. Но мало ли какие подводные камни существуют - хотелось бы узнать, кто с какими сталкивался, и как обходил.

lostghost1
() автор топика
Ответ на: комментарий от Psilocybe

Брат, во-первых, моя мысль была не в этом.

Во-вторых, если я говорю, что арч - говно, это не значит, что винда лучше.

В-третьих, если тебе добавить к беседе нечего, проходи мимо.

lostghost1
() автор топика
Ответ на: комментарий от Parthen

Основная проблема в том, что это сделать один я не смогу.

Допустим, я хочу присоединиться к твоему проекту, какие действия мне надо выполнить?

Как минимум сделай сайт и опубликуй манифест, в котором вот это всё напиши. Добавь форум для обсуждений и сделай регистрацию новых пользователей…

Вики, как у генты тоже помогла бы. Чтобы публиковать там инструкции по выполнению разных операций.

Shushundr ★★★
()
Последнее исправление: Shushundr (всего исправлений: 1)

Можешь посмотреть Simply Linux. Наверное один из самых популярных (в постсоветском пространстве) самопальных дистрибутивов сделанных, практически, одним человеком на коленке.

ps1h ★★★
()
Последнее исправление: ps1h (всего исправлений: 1)
Ответ на: комментарий от ps1h

А как же puppy linux (по части популярности)?

По сабжу: опыт максималистских идей перевернуть мир закончился внимательным изучением kickstart и RPM и сборкой своего спина и репозитория. Зато им пользуются реалные люди (в пределах компании), есть задачи и есть обратная связь.

Что делать надо/не надо?

Не пытаться решать проблему не сформулировав её. Может так оказаться, что проблемы на самом деле нет.

sat0r
()
Ответ на: комментарий от lostghost1

тогда сразу бросай это унылое дело :)
создание своего дистрибутива - долгое, нудное и очень сложное занятие по допиливанию исходного в рабочую конструкцию. подводных камней до *баной страсти. а потом еще нудное сопровождение и ублажение хочунчиков от «тупых» пользователей…

сильно все отличается от кератифного выбора новых нескучных обоев и рисованию красивых многоцветных диаграмм по работе системы :)

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от t184256

Ля, читаю readme к проекту, и вижу, что ты знаешь, что делаешь.

Я тоже как-то изучал Nix, но там суета в том, что она (на мой взгляд) совершенно не заточена под расширяемость. Как оставить стоковую репу и сделать override нескольких пакетов? Как добавить свою репу в дополнение к имеющимся? Как исключить стандартные репы? Почитал-почитал код, и задуманных автором способов не нашел. Я не говорю, что ось плохая - просто не подходит для моих целей. Опять же, чем пилить свой пакетный менеджер, систему сборки и репозитории - проще ограничиться репозиторием. Но вот чето пока никак.

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

lostghost1
() автор топика
Ответ на: комментарий от Parthen

Пока что моя идея - сделать некоторую source-based суету - попроще Gentoo, посложнее KISS Linux. И чтобы поддержка пакетов требовала минимальных трудозатрат. + максимальная расширяемость. В целом-то осилить это я могу, но вот со свободным временем пока что беда.

lostghost1
() автор топика

есть такой проектец по очеловечиванию i3 - regolith.

паразитирует на ubuntu.

подход, имхо, абсолютно верный - сначала нужно убедиться, что твоя выстраданная в муках киллерфича, она же убервафля, интересует хоть сколько-то значимое количество юзеров, а потом уже.

ну ты понел.

свой дистрибутив, признание, слава, интервью, поклонницы - это все потом.

olelookoe ★★★
()
Ответ на: комментарий от pfg

сильно все отличается от кератифного выбора новых нескучных обоев и рисованию красивых многоцветных диаграмм по работе системы :)

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

И да, любое дело можно совершить, если разбить его на более малые дела и за каждое маленькое достижение получать положительный feedback.

Твоя невера в успех полностью оправдана. У меня нет объективных оснований, чтобы говорить, почему у всех не получилось, а у меня получится. Если твой совет «не начинай» - ок. Но если есть что-то, что поможет в реализации подобной задумки - you are welcome.

lostghost1
() автор топика
Ответ на: комментарий от lostghost1

Я тоже как-то изучал Nix, но там суета в том, что она (на мой взгляд) совершенно не заточена под расширяемость. Как оставить стоковую репу и сделать override нескольких пакетов? Как добавить свою репу в дополнение к имеющимся?

ИМХО как раз это все там проще, чем в классических дистрах, особенно с приходом flakes, хоть и немного «с изнанки».

Мда, вспомнил про этот проектик и прям захотелось обратно в ковид, когда были силы и время на всякое такое.

Но то, что ты хоть что-то можешь показать за свою работу

Ну, оно собирается и грузится, но планы были несколько больше.

t184256 ★★★★★
()
Ответ на: комментарий от lostghost1

Пока что моя идея - сделать некоторую source-based суету - попроще Gentoo, посложнее KISS Linux. И чтобы поддержка пакетов требовала минимальных трудозатрат. + максимальная расширяемость. В целом-то осилить это я могу, но вот со свободным временем пока что беда.

Ну так поизучай ещё как это у Calculate Linux сделано в их CLS/CSS и как работает их инструментарий по выпеканию на базе CLS/CSS своего минидистрибутива. Да, сразу скажу, он не обязан часами у конечного юзера конпеляться, Калька это бинарная гента и вполне можно жить с кастомной бинарной репой для твоего кастомного дистра. Не настаиваю, просто считаю что прежде чем лабать что то своё нужно изучить уже существующие варианты.

Jameson ★★★★★
()
Ответ на: комментарий от Aceler

Свой дистрибутив надо делать не тогда, когда ты можешь сделать свой дистрибутив, а тогда, когда ты без этого уже не можешь.

Вот это в гранит надо оформить.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

как это у Calculate Linux сделано в их CLS/CSS и как работает их инструментарий по выпеканию на базе CLS/CSS своего минидистрибутива.

Ну, подобная штука наверно есть во всех дистрах. Например в арче это Archiso:

Archiso — это настраиваемый инструмент для создания образов Arch Linux live CD/USB ISO. Официальные образы создаются с помощью Archiso. Его можно использовать в качестве основы для аварийных систем, установщиков Linux или других систем.

krasnh ★★★
()
Ответ на: комментарий от krasnh

Там суть не в самой тулзени, а в её сочетании с минибазой CLS\CSS. Но так то да, подобные разной степени фичастости тулзени есть у всех. Поэтому лично мне непонятна причина для создания ещё одного минидистра и системы его сборки, мне кажется что «ни асилил то что уже есть, сложно сложно непонятно, сделаю сам, понятнее и проще» это не причина.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

На самом деле, получить сборку под свои хотелки, а не то что сторонний дядя собрал и настроил, это вековая мечта пользователя с опытом. :)
Но, чаще отпугивает необходимость именно настройки с нуля, которая занимает много времени, поэтому проще мириться с готовым дистром.

А уж пользователь с ооочень большим опытом, в некотором роде становится ‘ленивцем’. ) Он все попробовал и многое видел:

Я видел такое, что вам, людям, и не снилось. Атакующие корабли, пылающие над Орионом; Лучи Си, разрезающие мрак у ворот Тангейзера. Все эти мгновения затеряются во времени, как… слёзы в дожде… Пришло время умирать.

krasnh ★★★
()
Ответ на: комментарий от krasnh

На самом деле, получить сборку под свои хотелки, а не то что сторонний дядя собрал и настроил, это вековая мечта пользователя с опытом.

Вот то что я посоветовал посмотреть именно это и делает для меня, так что моя мечта сбылась например. Вот ровно так и использую. Причём собранную «сторонним дядей» базу тоже можно невозбранно курочить и изменять, если конечно осознанно это делать. Но я гентушник с 2000 года, так что у меня это осознанно.

Jameson ★★★★★
()
Ответ на: комментарий от anc

Это уже про какой-то конкретный дистр[ы]

Про любой конкретный. Есть любой конкретный дистр, есть несовпадающие с дистростроителями мысли о том,что (не)должно стоять из коробки. Выход - свой дистрибутив на основе конкретного дистра.

А тут-то чего сложного?

Из коробки. Поставил и все готово. Не сохранил готовую установку и копируй, а ставишь систему с нуля без лишних повторяющихся настроек.

Или вы на BolgenOS v2 намекаете ?

Я намекаю на мотивацию к тому, чтобы делать свой дистр. В моем дистре mc стоит по дефолту. И да, по минимум это может быть кикстарт файл.

AVL2 ★★★★★
()
Ответ на: комментарий от SpaceRanger

решил на импортозамещении бабок срубить, а нам тут чешет про любопытство, инфа соточка.

А ты пацан я смотрю непростой, в темы шариш. В моём случае прямо в писечку попал, в самую её мякотку.

Jameson ★★★★★
()
Ответ на: комментарий от SpaceRanger

Эх, понимаю, что троллишь, но всё же.

Там, где об импортозамещении парятся, нужны как минимум - связи, как максимум - сертификаты ФСТЭК. Ни того ни другого у меня нет и не будет. А если бы было, я бы здесь не писал :)

lostghost1
() автор топика
Ответ на: комментарий от Parthen

Ну как. Требует (и позволяет) большего вовлечения в то, что на хосте происходит. Больше возможностей для расширения, опять же, флажками компиляции там всякими. Да и просто больше нравится. У тебя есть аргументы против? :)

lostghost1
() автор топика
Ответ на: комментарий от lostghost1

Сколько вам лет, дяденька? :)

«Вот! Пожилой человек! Он наверное трахался миллион раз» (Бивис и Баттхед)

И что думаешь об Exherbo?

Я о нём не думаю, так как не смотрел и не вникал. Я же не пробовал всё на свете, я как тот акын-ветеран, своё звучание уже нашёл и теперь только одну мелодию исполняю.

NixOS я например тупо не осилил, совершенно честно признаюсь. Штука гениальная, но чтобы ей управлять надо думать как программист, стать программистом. А я не программист. Мне кстати от этого стыдно и я каждый год обещаю себе таки взять и разобраться с ней, может она откроет какие то новые возможности. Но пока меня и так всё устраивает.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

А у тебя есть вкус в мультфильмах.

Я же не пробовал всё на свете

Наверно такой период в твоей жизни был и прошел. С одной стороны грустновато, с другой стороны - ты определился, стал кем-то, а это уже достижение.

Про NixOS я вот, похоже, тоже не осилил. Показалось, она про одно, но как товарищ выше написал, возможно, она умеет еще и то, что от неё хотел я. Ну когда-нибудь может еще раз взгляну. И да, я тоже не программист. Выучил к собеседованию питон за неделю (не с нуля, и только лишь прочитал всю доку, но и это было не просто), но вот если нужно будет на постоянной основе выдавать хороший код, которым будет кто-то пользоваться - застрелите меня сразу.

lostghost1
() автор топика
Ответ на: комментарий от Parthen

А не труднее ли собирать бинари, нежели из исходников всё?

Или может собирать всё в RPM, скоммуниздить один из фронтендов к нему и не париться? Хм, надо подумать…

lostghost1
() автор топика
Ответ на: комментарий от lostghost1

Наверно такой период в твоей жизни был и прошел.

Был такой, да. Я вообще в прошлом веке ещё со Слаки на дискетах начинал Линукс осваивать. Естественно неоднократно превращал её в помойку, познакомился с LFS, с RedHat\Debian, и по классике созрел до создания своей БолгенОС на базе LFS с самописным менеджером портов как во ФриБСД. И вот как раз посреди этого бредового увлечения оказалось что Робинсон выкатил Gentoo, и можно просто к процессу присоединиться и перестать колхоз изобретать.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)