[ Войти · Правила форума · Поиск · RSS ]

  • Страница 1 из 1
  • 1
Форум » Операционные системы » Linux » Как собрать свой дистрибутив Ubuntu
Как собрать свой дистрибутив Ubuntu
AnymousДата: Воскресенье, 08.09.2013, 01:04 | Сообщение # 1
.::Создатель::.
Сообщений: 863
Репутация: 53 ±
Награды: 24 +
Вам никогда не хотелось собрать свой собственный дистрибутив? Это вполне возможно. В частности есть такие сервисы как Ubuntu Customization Kit (UCK) http://uck.sourceforge.net/ и Ubuntu Reconstructor (UR) http://www.reconstructor.org/wiki/reconstructor/. Я о них уже рассказывал на странице этого блога. А сегодня я хочу познакомить вас со способом сборки дистрибутива, описанным уважаемым NeonLight_Child и опубликованным здесь.

Мне очень понравился один нюанс – использование VirtualBox для создания собственного дистрибутива. Я приведу несколько подредактированную редакцию данного Howto. Кстати, Zakaz-Buketa.ru — лучший цветочный магазин, где вам предложат не только приличный букет, но еще и быструю доставку.
Для создания нашего дистрибутива, скорее всего, нам понадобятся:
1) комп с линухом и инетом, с установленной и настроенной виртуальной машиной (я использовал virtualbox версии 3.0 и выше), программа isomaster или аналогичная;
2) базовый iso образ дистрибутива, на основе которого мы будем создавать собственную сборку, желательно livecd.
3) usb флешка или внешний хард или шара – все, что угодно для связи с внутренностями виртуальной машины.
Итак, создаем нашу виртуальную машину. Для нее создаем виртуальный жесткий диск с размером, примерно в 2 раза больше требуемого места для установки базовой системы. Грузим виртуальную машину с базового iso образа и устанавливаем систему на виртуальный жесткий диск.
Опять же, если мы используем в качестве базового имиджа ubuntu alternate install cd – мы можем установить систему без графического окружения. Выбрать этот тип установки можно в начальном меню до загрузки системы из образа, кажется, нажав f4. Т. о., уже при установке можно избавиться от гнома, сплешей, пулься, и прочего мусора. Графическое окружение, в последствии, “натягиваем сами” из консоли.
Я не буду рассказывать о том, как тюнинговать и «кастомизировать» вашу новую систему. Цель этой статьи не в этом. Предполагается, что Вы и сами можете это сделать. Будем считать, что наша система готова для превращения в сборку, а именно: установлено нужное нам ПО, добавлены необходимые репы, подкручены конфиги, сделано новое оформление и т.д..
Теперь, если в качестве базового дистрибутива использовались debian или ubuntu (или другой debian based) – смело идем на http://www.geekconnection.org/remastersys/remastersystool.html Подключаем от туда реп и устанавливаем remastersys (напоминаю, что все действия проходят внутри виртуалки).
Для ленивых:
-если сборка происходит на основе debian(стырено сайта программы):
Показать
Where can I get remastersys?
The Remastersys repository needs to be added to your /etc/apt/sources.list
Paste the following into the sources.list:
# Remastersys
deb http://www.geekconnection.org/remastersys/repository debian/
- если сборка происходит на основе ubuntu (стырено сайта программы):
Показать
Where can I get remastersys?
The Remastersys repository needs to be added to your /etc/apt/sources.list
Paste the following into the sources.list:
For Gutsy and Earlier – up to version 2.0.11-1
# Remastersys
deb http://www.geekconnection.org/remastersys/repository remastersys/
For Hardy and Newer with original grub – version 2.0.12-1 and up
# Remastersys
deb http://www.geekconnection.org/remastersys/repository ubuntu/
For Karmic and Newer with grub2 – version 2.0.13-1 and up
# Remastersys
deb http://www.geekconnection.org/remastersys/repository karmic/
Далее, используя Synaptic или в консоли, выполняем:
1) обновление списка пакетов:
Код
sudo apt-get update

2) установка remastersys:
sudo apt-get install remastersys
Загружаем remastersys от рута:
Код
sudo remastersys

Тыкаем кнопочку ok. Если хочется посмотреть/поправить параметры будущего дистрибутива выбираем modify. В главном меню есть и другие опции, но нас интересует лишь первая строчка для создания iso образа нашей ЖИВОЙ сборки – тыкаем backup. Загружается терминал и начинается процесс сборки. Можно успеть пойти попить кофе – процесс сборки не быстрый. По окончанию сборки, готовый файл будет лежать по дефолту (если в modify не творилось никаких изменений) в /home/remastersys/custom.iso. Этот iso и есть наша цель. Его теперь можно залить на болванку или на флешку или поделиться им с друзьями =) Но, с начало его нужно извлечь из виртуалки. Я извлекал при помощи внешнего жесткого диска. Но, это опять же – кому как нравится.
Далее, после извлечения iso, в виртуалке стираем /home/remastersys или выбираем пункт clean в меню remastersys для тех же целей.
Перед сборкой iso в remastersys, я отключал виртуальную машину от сети – remastersys постоянно пытался скачать и установить metacity. Но т.к. я задался целью собрать легенький дистрибутив – у меня используется open box.
Если собирать систему на базе arch linux, есть программа аналогичная remastersys – larch (http://larch.berlios.de/). Правда у нас с ней что-то “не сложилось”. В итоге, плюнул я на нее. И, погуглив, нашел еще один очень неплохой способ создания своих сборок, причем независящий от базового дистрибутива: http://citkit.ru/articles/1228/ В этом примере, в качестве базового дистрибутива используется mandriva linux. Также, надо учесть, что «…для пересборки LiveCD потребуются утилиты readcd, mkisofs и cdrecord из пакета Cdrtools, а также mksquashfs из пакета squashfs-tools. Вместо Cdrtools можно так же использовать пакет Cdrkit…».
Если в вкратце, то, как правило, все livecd, независимо от дистрибутива, состоят из сохраненного в squash (сквош) архив образа системы и обертки ее загрузчика. Почитать что такое сквош и с чем его едят можно, например, здесь http://mydebianblog.blogspot.com/2006/08/squashfs.html. Файл сквош образа может иметь расширение sqf или sqfs – не важно, обычно это сааамый «толстый» файл в базовом iso образе.
Способ заключается в замене этого файла своим. Для замены можно использовать isomaster, но опять же – это кому как нравится=))
Т.к. у меня в виртуалке стоит лишь “не допиленный” арч, я решил попробовать сделать сборку из него. Скажу сразу, сборка заработала в загрузочной обертке от archbang, а не от base core версии арча.
Итак, главной задачей для создания собственной сборки, становится создание собственного сквош файла (напомню, что все действия мы проводим внутри виртуальной машины).
Для этого:
1) Включаем консоль и ползем в корень файловой системы /
Код
[neon@HVOST ~]$ cd ..
[neon@HVOST home]$ cd ..
[neon@HVOST /]$ dir
bin   dev  home  lost+found  opt   root  srv  tmp  var
boot  etc  lib   media       proc  sbin  sys  usr

2) Создаем папку для монтирования, всей системы (так и не понял зачем это нужно, но если систему не монтировать, создание сквош файла у меня затыкалось на 30%), например hren.
Код
sudo mkdir /media/hren/

Монтируем туда файловую систему и переходим в эту папку
Код
sudo mount -o bind / /media/hren/
cd /media/hren

3) Создаем в корне наш сквош файл, исключая его самого и всякий мусор в виде /tmp/*, возвращаемся в корень
Код
sudo mksquashfs /media/hren/ hren.sqfs -e hren.sqfs /tmp/*
cd /

4) Отмонтируем корневую систему обратно
Код
sudo umount /media/hren/

В принципе, все. Если вы уверены, что в системе ничего править больше не нужно, то следующие шаги 5 и 6 можно пропустить.
5) Подмонтируем для проверки и “ковыряния” созданный hren.sqfs файл с образом системы (такой файл монтируется только на чтение, т.е. read only (ro))
Код
sudo mount hren.sqfs -o loop -t squashfs /media/hren/

Сделаем ее доступной для записи. Сначала, создадим временную перезаписываемую (rewrite (rw)) область в памяти:
Цитата
sudo mkdir /media/tmp_sqfs/
sudo mount -t tmpfs none /media/tmp_sqfs/

Теперь, объединим файловые системы tmpfs (rw) и squashfs (ro) при помощи файловой системы unionfs (aufs) в единое целое:
Код
sudo mkdir /media/union_sqfs/
sudo mount -o dirs=media/tmp_sqfs=rw:/media/hren=ro -t aufs aufs /media/union_sqfs/
[neon@HVOST /]$ ls /media/union_sqfs
bin   dev  home  lost+found  opt   root  srv  tmp  var
boot  etc  lib   media       proc  sbin  sys  usr
[neon@HVOST /]$ mount | grep union_sqfs
aufs on /media/union_sqfs type aufs (rw,relatime,si=134837c1)

Обращаю внимание, что теперь в папке /media/union_sqfs наша система подмонтирована как rw, т.е. теперь ее можно доковырять, например, подправить конфиги или потереть лишний мусор. Причем, система смонтирована в оперативной памяти.
6) Итак, допустим мы внесли все необходимые коррективы в наш будущий дистрибутив. Теперь, надо пересобрать сквош-образ с учетом всех сделанных изменений, ведь все они пока хранятся в памяти!
Идем в корень / и пересобираем образ:
Код
cd /
sudo mksquashfs /media/union_sqfs/ hren_new.sqfs

В итоге, в корне получаем новый сквош файл hren_new.sqfs, который вытаскиваем из виртуалки, переименовываем, и при помощи isomaster (или аналогичной программой) вставляем в базовый iso, ВЗАМЕН существующего. Сохраняем новый iso.
Все, собственная сборка готова. За бортом осталось то, как к всему этому хозяйству прикрутить инсталлятор =))

Как создать скриншот? | Как создать лог файл HijackThis?
Причины, по которым может тормозить компьютер | Правила сайта!
 
Форум » Операционные системы » Linux » Как собрать свой дистрибутив Ubuntu
  • Страница 1 из 1
  • 1
Поиск:


Чтобы добавить сообщение или создать новую тему, необходимо зарегистрироваться или зайти под своим ником!
вверх
Файлы для обмена предоставлены пользователями сайта. Администрация не несёт ответственности за их содержание. На сервере хранятся только торрент-файлы. Это значит, что мы не храним никаких нелегальных материалов, а так же материалов охраняемых авторским правом.
RudSOFT © 2010 - 2024 | Карта сайта | Карта форума | Хостинг от uCoz Cвязь с Администрацией | Информация для правообладателей