Как сделать собственный дистрибутив linux
MNorin.com
Блог про Linux, Bash и другие информационные технологии
Как собрать свой дистрибутив Linux
Собрать свой дистрибутив операционной системы на базе ядра Linux и свободного программного обеспечения можно несколькими способами. Среди них есть как сложные, так и очень простые. Давайте рассмотрим несколько способов разной степени сложности и, может быть, вы для себя какой-то из этих способов выберите, чтобы собирать образы операционных систем для дома или работы. Некоторые способы даже не требуют каких-то более или менее глубоких знаний о Linux.
Linux From Scratch (LFS)
Самый суровый способ. LFS представляет из себя сочетание книги и загрузочного диска для сборки собственной операционной системы на базе ядра Linux полностью с нуля из исходных кодов. Отлично подходит для изучения операционных систем GNU/Linux, но абсолютно не подходит для начинающих. Очень не рекомендую тем, кто еще не умеет пользоваться Linux’ом. И очень рекомендую тем, кто хочет более плотно изучить что и как работает в операционных системах на базе ядра Linux и готов на это потратить какое-то время. Официальный сайт — http://www.linuxfromscratch.org/.
Для тех, кто освоил первую часть,- сборку основной части операционной системы,- есть вторая часть, которая называется Beyond Linux From Scratch (BLFS). Из недостатков этого способа можно отметить, пожалуй, только количество времени, которое потребуется.
simple-cdd
Гораздо менее суровое средство сборки своего дистрибутива на базе Debian. Позволяет достаточно быстро собрать свое установочный образ, включающий необходимый набор пакетов. Есть официальная страничка в вики Debian, но она, похоже, достаточно стара и давно не обновлялась. Это один из самых простых и быстрых способов собрать свой дистрибутивный образ, но придется предварительно прочитать официальный How-To и посмотреть страницу руководств.
SUSE Studio
Один из наиболее простых способов собрать собственную операционную систему на базе ядра Linux и свободного программного обеспечения. Если быть более точным, то это возможность собрать свой потомок OpenSUSE или SUSE Linux Enterprise. Для сборки своего дистрибутива надо просто зарегистрироваться на сайте http://susestudio.com. Для хранения образов дается 15 гигабайт. Вкратце сборка своего дистрибутива выглядит так:
Более подробно расписывать не буду, на сайте всё очень просто и понятно. SUSE Studio позволяет создать следующие типы образов:
Кроме того, на сайте есть галерея уже готовых операционных систем, в которой можно выбрать готовую конфигурацию и изменять уже ее.
Ubuntu Builder
Программа для сборки дистрибутива на базе Ubuntu. Собственно, получится обычная Ubuntu нужной конфигурации. Проект закрылся 10 марта 2014 года, поэтому сложно его рекомендовать к использованию. Если есть желание с ним ознакомиться, это можно сделать здесь. Там же указана команда для подключения репозитория, из которого можно установить пакет ubuntu-builder. Если не заметили, то вот она:
Вообще это был достаточно известный проект в свое время. Жаль, что закрылся.
Novo Builder
Еще одна программа для сборки дистрибутива, которую надо устанавливать. Устанавливается она при помощи скрипта, который можно взять здесь. Скрипт сам добавит репозиторий и поставит пакеты. Это, пожалуй, лучшая на данный момент программа для сборки дистрибутива на базе Ubuntu по простоте использования. И рассказать-то больше особо нечего, достаточно поставить и посмотреть. Всё интуитивно понятно.
В общем, если хотите собрать свой специальный дистрибутив, средств существует достаточно, нужно пробовать, смотреть, что вам больше подойдет и что интереснее. Если знаете еще какой-то способ сборки своей операционной системы — делитесь в комментариях
Как смастерить собственный дистрибутив Линукс
Хотите ли вы подогнать под свои нужды Knoppix, переделать существующую операционную систему с открытыми кодами, например Puppy Linux, или вы нацелились создать свою собственную систему из ничего, мы поможем вам на этом пути.
Сделай сам. Это тот способ, которым создавался Линукс. Группа энтузиастов, вдохновляемая и ведомая Линусом Торвальдсом, создала величайшую «самодельную» операционную систему, которую когда-либо видел мир. Вам тоже под силу создать собственный дистрибутив Линукс.
Простой восстанавливающий скрипт в Puppy Linux позволяет взять существующую инсталляцию и «свернуть» ее в ISO файл
Звучит довольно устрашающе, и действительно, в этом деле многое, определенно, не для новичков. Но, принимая во внимание множество знаний, которые вы приобретете по ходу работы, и, учитывая результат, эта задача имеет много общего с собиранием компьютера из разрозненных деталей. Допускаю, что в случае сборки компьютера, всегда найдется множество причин, чтобы купить готовый с полки, точно также найдется достаточно оснований скачать готовый дистрибутив и просто пользоваться им. Существует лишь несколько рациональных причин заниматься созданием собственного дистрибутива:
Для развлечения. Я называю это «а почему нет?». Линукс существует, чтобы с ним возиться, так вот и возитесь, и получайте удовольствие. Сомнительно, чтобы вы доверили ценную работу системе, на которую затратили столько времени, но разве это уменьшает удовольствие? А если что-то пойдет наперекосяк, всегда можно все стереть и начать с чистого листа. (В конце концов, вы же не в рабочее время этим занимаетесь, и не в коммерческих целях, верно?)
Предостережения
Прежде чем начитать «ваять», следует хорошо понимать несколько вещей.
Для начала нужно уже знать что-нибудь о Линукс. Прежде чем пытаться создать свой собственный дистрибутив, хотя бы в общих чертах познакомьтесь с Линукс, если вы этого еще не сделали. Короче: попользуйтесь Линуксом какое-то время. Если вы не знаете основ, мало толку пытаться вносить улучшения.
Будьте терпеливы и внимательны. Любой проект такого типа, даже автоматизированный до известной степени, скорее всего, будет долгим и полным разочарований. Не надейтесь закончить все в тот же день; будьте готовы вести заметки о том, как все работает и почему.
Переделка существующего дистрибутива
Существуют три основных способа сотворить собственный дистрибутив, их выбор зависит от того, что именно вы хотите усовершенствовать, и от уровня ваших технических знаний, которые вы можете вложить в проект. Первым, наиболее простым, и, возможно, быстро приносящим плоды способом, является переделка уже существующего дистрибутива.
Начало процесса инсталляции Gentoo при помощи Gentoo Live CD. Классическая версия инсталлятора Gentoo из командной строки, работает все так же хорошо, но некоторым удобнее работать в графическом интерфейсе
Заметьте, что если вы захотите проделать это все с дистрибутивом, установленным на жесткий диск, то лучше будет произвести так называемую «экономную» установку дистрибутива Puppy на жесткий диск, затем произвести желательные изменения, а потом «слепить» все обратно. «Экономная» установка позволяет Puppy сосуществовать с другими операционными системами в одном разделе винчестера (обычно другого Линукса). Все содержимое дистрибутива Puppy устанавливается в виде пяти больших файлов, один из которых является файлом-образом, представляющим файловую систему Puppy. Это отличается от «полной» инсталляции, при которой Puppy требует для себя целый раздел, где «расписывает» все файлы обычным порядком. Simple CD Remaster скрипт, в тот виде, как он есть, не может работать с полной инсталляцией, хотя, якобы, существует способ его «заставить».
Линукс из ничего
Подготовка к началу работы Линукса Из Ничего при помощи одного из автоматизированных скриптов. Это вовсе не заменяет знания того, как строить дистрибутив; вам необходимо знать, как контролировать «стройку» от начала до конца
Gentoo
В этом есть хорошая и плохая стороны. Да, это позволяет вам собирать всю систему снизу доверху, чтобы сделать ее своей в такой степени, в какой вряд ли позволят настройки любого другого дистрибутива; идеальный инструмент для самовыражения. Но в то же время, это позволит вам запутать все до крайности, или, по крайней мере, насажать множество «ляпов» во множестве мест. Gentoo определенно дистрибутив «только для экспертов». Мой приятель так охарактеризовал его: «Знал бы, насколько это трудно, никогда бы не взялся». Поэтому Gentoo может использоваться, и используется, в качестве «производственной среды» для знающих и аккуратных.
Процесс создания системы Gentoo довольно схож с таковым системы LFS. Сперва вы скачиваете один из нескольких возможных установочных CD, в зависимости от архитектуры машины, на которой работаете. 32-битная x86 версия Gentoo, например, идет на другом CD, нежели 64-битная. (Имейте в виду, что ссылки в этой статье относятся к документации версии Gentoo x86; для иных архитектур вам придется поискать документацию самостоятельно).
На этой стадии вы также имеете возможность влиять на то, как Portage компилирует пакеты, какие применяются параметры оптимизации, хотя обычно, для начала, стоит оставить их по минимуму. Подобные же настройки могут быть применены к компиляции ядра, и такие свойства как multiprocessor/multicore или поддержка PC карт, могут быть активированы, либо отключены. Имейте в виду, что попытки регулировать все подряд с первого раза могут привести к плохим результатам, оставьте их на потом, когда хоть раз пройдете весь процесс от начала до конца и получите результат, близкий к ожидаемому.
Распространение
Не забудьте представить также дерево исходников. Я подразумеваю, что как дистрибутив, вами созданный, так и его отдельные пакеты распространяются под лицензией GPL (Гну Публичная Лицензия), так что не забудьте также включить исходный код. Исходные коды не должны находиться в тех же пакетах, что и бинарники, особенно потому, что дерево исходников может быть весьма велико, несколько гигабайт не является чем-то неслыханным. Важно, что вы делаете его доступным, и документируете этот факт, особенно если вы уже закончили вносить изменения в исходники.
Говоря о документации, есть еще кое-что, что неплохо бы присоединить к новому дистрибутиву. Может быть, это набор README файлов, или полная документация, или информация о каких-либо особенностях вашего дистрибутива, причуды, которые вам удалось заметить, вещи, которые стоит попробовать (и которые не стоит!), мысли по поводу развития проекта. Дистрибутив, в конце концов, всегда развивается.
Cоздание своего дистрибутива Linux с помощью Remastersys
Содержание
ВВЕДЕНИЕ
Прежде чем делать свою сборку, Вы должны определить цель и задачи своего творения. Иначе сборка может не получить своё предназначение в этом мире и остаться малоизвестной.Итак, цели и задачи определены и Вы решились сделать сборку своей системы.
Для начала Вы должны либо в Virtualbox (или в другой виртуальной машине), либо у себя на компьютере установить операционную систему со всеми настройками, со всеми программами, которые считаете нужными иметь в Вашей сборке.
Теперь, когда всё настроено и установлено, будем создавать свою сборку. Для этого нам в первую очередь необходимо свободное место на разделе с папкой /home не менее 6 ГБ.
Для создания сборки есть несколько инструментов. Мы будем говорить о Remastersys, который позволяет создать полноценную сборку даже не очень продвинутому пользователю.
Все действия дальше описаны для Ubuntu, но подходят для всех Debian совместимых дистрибутивов.
1. УСТАНОВКА
2. ПЕРВЫЕ ШАГИ
3. РАСШИРЕННЫЕ ВОЗМОЖНОСТИ
mksquashfs
SYNTAX:mksquashfs source1 source2 … dest [options] [-e list of exclude dirs/files]
Filesystem build options:
-comp select compression
Compressors available:
gzip (default)
lzo
xz
то всё в порядке и использовать опцию -comp xz можно смело.
4. ЗАГРУЗОЧНОЕ МЕНЮ
5. ОЧИСТКА СБОРКИ ОТ «ЛИШНЕГО»
Прежде всего уточню, что речь пойдет не об удалении приложений из сборки, а об удалении временных файлов из кэша, коих великое множество на сотни мегабайт.
Перед очисткой системы установите пакет ubiquity-frontend-gtk.
В первую очередь воспользуемся стандартными инструментами очистки системы. Открываем терминал и пишем:
Первая команда автоматически удалит все неиспользуемые пакеты.
Вторая команда удалит скачанные файлы пакетов в архиве.
Теперь воспользуемся программой Synaptic и удалим все ненужные настройки, оставшиеся после удаленных пакетов. Открываем Synaptic. В открывшемся окне внизу выбираем группу фильтров «Состояние».
Выбираем фильтр «Не установленные (остались файлы настроек)», выделяем все пакеты, попавшие в этот фильтр. Правой клавишей мыши на выделенном выбираем в меню «отметить для полного удаления» и жмем «Применить».
Здесь же в этой группе фильтров удалите пакеты под фильтром «Установленные (авто удаляемые)«
Если фильтры «Не установленные (остались файлы настроек)» и «Установленные (авто удаляемые)» отсутствуют, значит система уже прошла чистку и под данные фильтры ничего не попадает.
После удаления языковых файлов рекомендую переустановить пакет locales, иначе возникнут проблемы при установке языковых пакетов в сборке. Переустановка вернет лишь настройки локалей с возможностью установки других языков. Никаких языковых пакетов скачиваться не будет.
Следующим этапом будет очистка кэша программ. В корне системы есть папка /var. В ней программы оставляют свои временные файлы, нужные до поры до времени. Дальше я перечислю папки, в которых можно удалить все файлы, не причинив вреда системе, и тем самым уменьшить размер сборки.
6. СОВЕТЫ И РЕКОМЕНДАЦИИ
В этой главе описаны советы и рекомендации по созданию своей сборки, которые сложились у меня, как правила, после многочисленных опытов. Надеюсь, они Вам пригодятся в создании своих сборок.
Удачи! И пусть мир узнает Ваши творения!
[Видео] Собираем свой Linux дистрибутив
Благодаря распространению недорогих одноплатных компьютеров вроде Raspberry Pi и его клонов, мы наблюдаем повышение интереса к использованию embedded Linux среди энтузиастов технологий. Важное отличие встраиваемой платформы от сервера или десктопа/лэптопа в существенно ограниченных ресурсах, будь это производительность процессора, объем оперативной или постоянной памяти. И в этом случае становится особенно интересно использовать дистрибутив Linux, оптимизированный для решения какой-то конкретной задачи, в противовес использования полноценного «десктопного» дистрибутива.
В этом вебинаре мы обсудим, что же из себя представляет современный дистрибутив Linux, из каких важнейших частей он состоит и какие существуют простые и не очень способы собрать свой собственный дистрибутив. Мы рассмотрим варианты от полностью ручной сборки всех компонентов дистрибутива до контейнеров с примерами реального использования, а также обсудим достоинства и недостатки каждого способа.
Данный вебинар рассчитан на любителей электроники, адептов «умного дома» и просто любителей техники и современных технологий. Понимание основ вычислительной техники и операционных систем, а также опыт работы с Unix-подобными операционными системами поможет участникам лучше понять обсуждаемые темы.
Слайды к видео: тут (кликабельно)
Автор: Алексей Бродкин
Дубликаты не найдены
В туториале бывают места, которые понятны только автору туториала. В видео ничего не упущено.
Здравствуйте, добрые люди. Сегодня я стал счастливым обладателем Raspberry Pi 4.
Раньше у меня уже был опыт использования Raspberry Pi 3. А если по-конкретней, то я делал на базе малины простой домашний веб-сервер, учился работе в терминале и параллельно игрался с разными дистрибутивами. Тогда мой одноплатник адски глючил и работал, как улитка!
Я, подумав что аппарат слишком слабый в плане «железа», быстро продал его и забыл о нём.
Но каково было моё разочарование, когда я узнал что дело было в плохом блоке питания,
и что малинка всё время работала в половину мощности!)
Прошло пару месяцев, и теперь, когда ко мне в руки попала самая новая модель легендарного
одноплатника, я с радостью напишу цикл статей, где изложу всю нужную информацию, которая
пригодиться каждому пользователю Raspberry Pi.
Нам понадобятся: Raspberry Pi, microSD карта (размером не меньше 4 гб), переходник для microSD карты, блок питания (в идеале 5V 3A), патч-корд (сетевой кабель).
По-скольку не у каждого есть монитор, то сегодня обойдемся без него.
Будем проводить установку через SSH.
После того как вы купили и распаковали плату, проверяем её на наличии дефектов,
если все в норме, то идём дальше.
Так выглядит девственная малинка)
И качаем любой из трех вариантов дистрибутива.
Потом переходим по следующей ссылке:
И выбираем вариант для вашей операционной системы.
VirusTotal ничего не обнаружил, смело выдыхаем.
Всё, последняя ссылка! Больше ничего скачивать не нужно! УРАААА!
Теперь распаковываем архив с нашим iso-образом (операционной системой)
По очереди устанавливаем Putty и Win32DiskImager
Подключаем MicroSD карту и форматируем её, нажав правой кнопкой по названии
Выбираем всё, как показано на экране и нажимаем Start.
Теперь запускаем Win32DiskImager, где выбираем наш образ и отформатированую флешку
Теперь переходим в главный каталог диска boot, и создаем пустой текстовый документ с названием ssh
Сохраняем пустой файл и извлекаем microSD карту.
Вставляем её в малинку, до упора как показано на фото.
Вставляем патч-корд в Ethernet разъем, другой стороной подключаем к роутеру.
Подключаем блок питания в розетку и вуаля.
Красный светодиод светит, а зеленый моргает.
Снова возвращаемя к рабочему компьютеру, вводим в адресной строке браузера:
192.168.0.1 (или же локальный ip-адрес вашего роутера)
После нас просят ввести логин и пароль (Он обычно указан на нижней крышке роутера)
Вводим его и нажимаем Enter
После попадаем в админку и нажимаем по вкладке DHCP (которая находиться в левом списке)
Далее переходим по Списку клиентов DHCP
В таблице напротив raspberrypi копируем ip-адрес.
Потом заходим в программу Putty и вставляем в строку Host Name наш скопированный ip-адрес
Всплывает окно с вопросом, соглашаемся.
Дальше нас просят ввести логин и пароль.
Вводим их и нажимаем Enter
В следующей статье мы обезопасим нашу малинку, а также, проведем её настройку.
Спасибо, за просмотр. Надеюсь кому-то помог.
P.S. Знаю, что получилось длинно.
Пожалуйста, не ругайте сильно, это мой первый пост)
Встраиваемый компьютер AntexGate + 3G-модем. Полезные настройки для более стабильного интернет-соединения
В сфере промышленной автоматизации существует негласная парадигма, в которой многие производители промышленного оборудования делают контроллеры отдельно, а модемы отдельно. Как правило, каждое устройство помещается в свой корпус, имеет своё питание, большие габариты и высокую стоимость. Такой вариант разделения функционала имеет свои преимущества и недостатки, но, по нашему мнению, он ведет, скорее, к бóльшей коммерциализации, чем обусловлен какими-то объективными причинами. Поэтому мы решили пойти немного по другому пути и сделали универсальное устройство, которое представляет из себя свободно программируемый контроллер на базе Linux с модемом в едином корпусе. Это нам позволило в своих проектах практически совсем отказаться от привычных всем щитов автоматизации и прийти к более мобильным решениям.
В этой статьи мы поделимся с Вами тонкостями настройки модема и несколькими полезными скриптами для более стабильного 3G-соединения.
Предпосылки и решения
При разработке своего устройства мы руководствовались тем, что оно должно выходить в мобильный интернет, чтобы подключаться к облачным платформам. Было два пути: напаивать модем на плату, либо использовать mPCIe-разъемы. Мы остановились на втором варианте и предусмотрели сразу два mPCIe-разъема (рисунок 1), поскольку такой вариант нам показался более интересным и гибким. Ведь установка и замена модема занимает считанные секунды, плюс для пользователя появляется необходимая вариативность и он может использовать такие комбинации mPCIe-модулей, которые ему необходимы под конкретный проект. Кроме 3G-модема это может быть LoraWan или Wi-Fi модули. Плюс ко всему mPCIe-решения зарекомендовали себя как достаточно надежные и качественные.
Рисунок 1 — mPCIe-разъемы
В качестве основного 3G-модуля для нашего устройства мы рассматривали следующие варианты:
Однако после проведения тестов наиболее предпочтительным для нас в плане надежности и соотношения цена-качество оказался модем фирмы HUAWEI (рисунок 2). Мы взяли его за основу и устанавливаем опционально в наши устройства. Поэтому в дальнейшем мы будем рассматривать настройку и скрипты относительного модема этой модели. Возможно, этот скрипт будет универсальным и будет полезен для других модемов, однако стабильность работы с другими моделями не гарантируется. Для Rasbian Buster и HUAWEI MU709s-2p всё работает отлично.
Рисунок 2 — Модем HUAWEI MU709s-2p, установленный на плату устройства
Использование скрипта для перезагрузки 3G-модема
Для более устойчивой и безотказной работы мы написали скрипт, который будет пинговать заданный IP-адрес, а если же определенное в настройках количество пингов не прошло, то GSM-модем перезагрузится, тем самым восстанавливая зависшее сетевое соединение. Стоит отметить, что модем определяется в системе как сетевая карта lan1.
Архив со всеми необходимыми файлами можно скачать по этой ссылке. Также текст самих скриптов представим ниже.
Файл check_inet.sh необходим для проверки наличия интернет соединения. Если заданный IP-адрес не пингуется, то мы дергаем 19 ногу и перезапускаем модем по питанию.
Файл start_inet.sh запускает check_inet.sh после перезагрузки устройства.
Также в архиве находится файл конфигурации igate.conf
1. Добавьте правило соответствия физического подключения COM-порта модема к концентратору USB. Для этого поправьте файл по следующему пути:
2. Добавьте в файл следующую строку:
3. Сохраните правила и перезагрузите устройство. Теперь порт Вашего модема будут определять по удобному псевдониму /dev/GSM;
4. Скачайте архив по предложенной выше ссылки, либо самостоятельно создайте файлы
5. Скопируйте файл check_inet.sh в папку:
6. Сделайте файл check_inet.sh исполняемым:
7. Скопируйте файл start_inet.sh в папку:
8. Сделайте файл start_inet.sh исполняемым:
9. Обновите конфигурацию автозагрузки выполнив команду:
10. Скопируйте файл igate.conf в папку:
11. Настройте файл конфигурации igate.conf.
Запуск в фоновом режиме файла скрипта check_inet.sh :
Скрипт также автоматически запускается после перезагрузки устройства.
Варианты применения устройства
Рассмотрим основные задачи, под которые можно использовать устройство:
1. Контроллер с выходом в интернет для передачи данных в облако;
2. 3G-роутер для задач в «поле»;
3. Контроллер для умного дома с резервирующим каналом 3G. То есть можно использовать LAN-порт как основной канал связи, а 3G в качестве резервного, чтобы всегда был доступ к устройству;
4. Базовая станция LoRaWAN, то есть опрос устройств по LoRaWAN и передача данных в облако через сеть 3G или LTE;
5. Устройство для мониторинга транспорта (подключение по CAN и стыковка с различными сервисами)
На самом деле, вариантов применения такого устройства может быть очень много и несомненным его плюсом является законченность, универсальность и мобильность. Одно устройство может заменить привычный шкаф автоматизации и стать незаменимым решением в Ваших проектах.