Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: [Wiki] [HOWTO] Создаем свой дистрибутив на базе Ubuntu  (Прочитано 91451 раз)

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

Оффлайн nvx

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
whylinux.ru порадовал статьей, посвященной быстрой сборке собственного LiveCD и ее нестандартным применением.

http://whylinux.ru/2008/01/23/chto-nam-stoit-distr-postroit-legkoe-sozdanie-svoego-distributiva-ubuntu/

Пришло нам письмо с таким вопросом “Ребята, хочу создать свой дистрибутив на базе Ubuntu, со своим оформлением, русифицированный и чтобы там были нужные мне программы, но не было ничего лишнего. С возможностью Live-загрузки. Подскажите как!”

Подсказываем. Обратите внимание на послесловие, даже если вы не собирались заниматься созданием собственного дистрибутива, мы расскажем вам о том, какие интересные вещи можно сделать на базе этой информации, и как результат - гарантируем хорошее настроение!

Для того, чтобы сделать первые шаги в создании своего дистрибутива, нужно не так много:

1. оригинальный iso-образ дистрибутива Ubuntu (CD);

2. подготовленные файлы оформления - сплэш-скрин, апсплэш-скрин, GDM-тема, обои, набор иконок;

3. пакет Reconstructor, скачать можно здесь;
http://reconstructor.aperantis.com/index.php?option=com_remository&Itemid=33&func=select&id=5

4. пакет Ubuntu Customization Kit (UCK) скачать можно здесь;
http://sourceforge.net/project/downloading.php?group_id=169959&use_mirror=switch&filename=uck_2.0.1_all.deb&6068719

5. прочитать пример создания своего дистрибутива под cut-ом :)

N.B.: желателен выход в интернет для доступа к онлайн репозиторию, или локальный срез репозитория.

Итак…

Пакет Reconstructor понадобиться нам для основного оформления нашего дистрибутива. Reconstructor создаст директории, в которые будет разобран оригинальный iso-образ, и в которые будут сохранятся ваши изменения (графическое оформление и дополнительные модули), чтобы потом из файлов в этих директориях собрать уже ваш дистрибутив.

Запускаем его: Приложения/Системные/Reconstructor, появится окно терминала запрашивающее пароль администратора - введите пароль, без этого программа работать не будет.

::: Первое окно :::

Приветствие, и кнопка обновления программы. Либо обновляем пакет, либо нажимаем Next.

::: Второе окно :::

Выбор способа инсталляции Desktop (LiveCD) или Alternate (Install CD), выбираем Desktop (чтобы установка шла в графическом режиме и была возможность работать с LiveCD). Next.

::: Третье окно :::

Выбор рабочего окружения для создания своего дистрибутива:

Working Directory - директория в которой происходит разбор оригинального iso-образа (оставьте как есть, программа предложит создать директорию reconstructor в вашей личной директории).

Далее идут три чекбокса: когда вы собираете дистрибутив в первый раз (или собираете заново с оригинала) - во всех трех окошках надо выставить галочки. Если же вы создали свой дистрибутив и через некоторое время захотите доработать его - но при этом не потерять все ваши остальные изменения, то галочки выставлять не надо.

Аналогичный подход и к последнему пункту - Live CD ISO Filename, надо указать файл с образом дистрибутива, который вы собираетесь переделывать, чтобы программа его распаковала в директории, но если вы все еще дорабатываете свой дистрибутив, который лежит в разобранном виде, указывать образ iso не надо, иначе распаковка образа перезапишет находящуюся там информацию.

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

Начнется распаковка образа в директории, она займет от 10 до 15 минут (в зависимости от мощности вашей машины).

::: Четвертое окно :::

Customization (настройка), она состоит шести вкладок:

1. Boot Screen (экран загрузчика).

LiveCD Splash, первый экран, который увидит пользователь. Для него используется картинка в формате .pcx, она должна быть размером 640×480, с индексированной палитрой в 256 цветов. Создать такую картинку можно в GIMP.

Пример: mybuntu_splash.pcx

LiveCD Text Color - цвет текста в меню установки (у меня меню окажется на светлом фоне, поэтому я выбрал черный цвет, не переживайте по поводу нижнего меню или подсветки выбора опций меню - программа умная и создаст сама нужную цветовую гамму, потом увидите сами).

Upsplash Filename - когда будет происходить загрузка, будет показан логотип и бегунок. Этот файл представляет из себя скомпилированный .so файл библиотеки.

Где его взять? С одной стороны на gnome-look можно найти готовые файлы с бегунками любой тематики, но с другой - ведь нас интересует наше личное оформление, и мы сами можем приложить свой творческий потенциал к оформлению.

Поэтому нам интересна следующая опция - Upsplash Generation, она позволит из .png файла, который можно создать в GIMP создать собственный upsplash.so (Внимание: у картинки должна быть индексированная палитра в 256 цветов!).

Я подкинул генератору вот этот файл.

и сохранил результат как mybuntu.so, который и указал затем в Upsplash Filename.

Обратите внимание, я создал файл с разрешением 640×480 - на базе моей .pcx картинки, и из-за этого произойдет смещение бегунка в нижний правый угол (там где я разместил надпись “загрузка” и окно для бегунка), чтобы бегунок был в центре экрана, вам будет нужно создать файл с разрешением 800×600.

2. Gnome (оформление среды Gnome).

::: Login :::

GDM Theme - оформление темы входа в систему. Когда вы установите дистрибутив приглашение на вход может быть оформлено стандартными темами (выпадающий список), либо скачайте понравившуюся тему отсюда и укажите ее файл, чтобы она попала в список. Я выбрал тему Mint-Shadows. Кстати, файлы тем идут в архивах tar.gz их можно распаковать, локализовать и переделать под свой вкус, подробные руководства для создания своих тем есть на офсайте, т.е. здесь.

Далее, идут три окошка: Sounds - запретить/разрешить проигрывание звука входа в систему; Root Login - разрешить/запретить вход в систему под суперпользователем; XDMCP разрешить/запретить вход в систему автономным дисплеем;

Splash Screen - после входа в систему, GNOME начинает прогружаться и выбрасывает иконки отражающие стадии загрузки, этот Spash Screen нужен для того чтобы эти иконки отображались на его красивом фоне.
Я не стал его менять.

Background Color - цвет фона. Я поставил черный.

::: Desktop :::

Wallpaper - обои, которые будут идти по умолчанию. Я подкинул эти.

Application Font, Document Font, Desktop Font, Title Bar Font, Fixed Font - дают вам возможность выбрать шрифты для вашего дистрибутива.

::: Theme :::

Theme - выбор темы оформления, я выбрал Murrina-GreenMod.

Widow Borders - оформление рамок окон.

Icons - выбор иконок, я скачал GNUtoon - прикольный набор веселых иконок.

3. Apt (настройка списка репозиториев).

Если отметить чекбоксы галочками, вы замените официальные репозитории Ubuntu на свои.

Свои можно вносить в окно в известной вам форме, там есть пример:

deb http://адрес сервера/ версия_системы main restricted и т.п.

У меня нет своих репозиториев, хотя и есть список стороних, я ничего не менял во вкладке Apt.

4. Optimization (оптимизация!).

Здесь есть пара опций, позволяющих вам убыстрить свою систему, но пользуйтесь ими осторожно.

Startup - оптимизировать скорость загрузки системы и Shutdown - оптимизировать скрипты завершения работы.

Я включил только опцию Shutdown, поскольку там есть кнопка Restore - откат. Если будут глюки верну настройки обратно.

5. LiveCD.

Это настройки для пользователя LiveCD, если вам надо закрыть доступ к диску - можете создать пользователя заполнив эти поля соответствующей информацией.

6. Modules.

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

Обратите внимание, перечислять пакеты для установки/удаления надо через пробел - пакет1 пакет2 пакет3.

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

Я не стал собирать какой-то специфический дистрибутив с определенным набором программ. Просто поудалял некоторые из имеющихся и поставил русскую локаль Thunderbird.

Теперь, после того, как вы оформили свой дистрибутив и снабдили его нужными программами, надо нажать кнопку “Apply”, чтобы применить сделанные вами изменения.

После применения изменений нажмите Next.

Появится финальное окно, после которого начнется сборка вашего iso образа.

Здесь ничего трогать не стоит, разве что можете указать имя файла (FileName), и описание дистрибутива (Description), уточнить выбор архитектуры (я использовал x86, поэтому ничего не менял).

Next. Понеслось. Ждем 10-15 минут.

Все сборка завершена, можно закрыть программу или прожечь свой диск, но не торопитесь. Его еще надо немного доработать!

Теперь мы воспользуемся Ubuntu Customization Kit (UCK), он был установлен в Приложения/Стандартные.

Первым делом он спросит - какие языковые пакеты вам надо установить, выбирайте ru.

Потом он спросит - какой язык должен использоваться при инсталляции системы, выбирайте ru.

Затем он спросит - какое окружение рабочего стола используется, выбирайте gnome.

После этого откроется окно, в котором вы должны найти свой iso образ со своим дистрибутивом, который вы создали с помощью Reconstructor.

После этого он предложит возможность переименовать ваш дистрибутив, если вы не сделали этого в Reconstructor-e можете сделать это сейчас.

После этого он спросит вас: Не хотите ли ручками добавить/удалить пакеты, воспользоваться консолью и вообще проконтролировать процесс сборки?

Мы уже сделали это в Reconstructor-e, поэтому говорим - no.

Теперь он спросит - хотите удалить приложения для Windows с диска? Я сказал - yes. Это удалит win32 версию Mozill-ы, и еще кое-что, что нам не нужно. Зато размер iso уменьшится.

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

В процессе сборки (10-15 минут) он полезет в репозиторий, чтобы установить языковую локализацию для вашего Gnome и его программ, а так же уберет неиспользуемые языковые пакеты.

Собранный iso дистрибутива будет лежать здесь:

/home/ваша_домашняя_папка/tmp/remaster-new-files/

Вот что у меня получилось:

Установка.

Загрузка.

Сессия.

Вот и все :)

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

Послесловие:

Мы надеемся, что наша статья помогла вам понять, что сложные вещи могут быть достаточно простыми, если есть нужные инструменты и пример.

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

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

И тогда мы подумали над альтернативным применением этого материала:

1. Подарок другу-линуксоиду.

У вас есть друг который работает в Ubuntu? Узнайте какие программы он использует и создайте для него красивый персональный русифицированный дистрибутив. Подберите соответствующую тему, иконки, обои. И подарите его на ближайший праздник (23 февраля, день рождения, день админа или пятничный пивной саммит).

Дарите с серьезным лицом и словами вроде: “Поздравляю тебя, я тут Марку Шаттлворту позвонил, попросил создать для тебя убунтовый персональный дистрибутив. Марк сказал - сделаем, и вот сегодня пришел по почте, дарю с наилучшими пожеланиями!”

Поверьте, ваш друг просто обалдеет от такого подарка!

2. Розыгрыш (например на первое апреля).

Тут мы долго веселились представляя себе линуксы оформленные в стилях “Blondinko Edition” - гламурно-розовенько-стразовый, с обоями Ксюши Собчак; или суровый патриотический дистриб “Putin Edition” - с фотографией президента.

Примените фантазию. Все в ваших руках. Творите!

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


« Последнее редактирование: 04 Февраля 2011, 19:41:56 от stmc »

Оффлайн ck80

  • Любитель
  • *
  • Сообщений: 76
    • Просмотр профиля
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #1 : 15 Марта 2008, 11:38:33 »
Поделюсь опытом. Пытался сделать всё как по инструкции, но в конце уже, когда создается образ .iso выдается ошибка:
make: *** [bootdir] Error 10
Failed to build gfxboot theme, error=2

После нескольких неудачных попыток, написал на launchpad, прикрепил лог и вот что мне ответили:
hum maybe russian is not supported by dapper's gfxboot? what if you try another language like french or italian?

Если вдруг у кого-нибудь получилось собрать, поделитесь опытом??

Оффлайн densss

  • Участник
  • *
  • Сообщений: 137
    • Просмотр профиля
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #2 : 03 Апреля 2008, 00:47:42 »
Статья хорошая, мне помогла. Только хочу от себя немного поправить : добавлять или удалять пакеты удобнее через UCK - там есть и пакетный менеджер и консольный режим. А украшательства лучше производить через Reconstructor.

2 ck80
Тебе программа выдала лог ошибки :
Цитировать
Failed to build gfxboot theme, error=2
Ты что-то намудрил с загрузочной темой.

Оффлайн alex_server

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #3 : 27 Мая 2008, 03:09:59 »
Starting CD remastering on  Втр Май 27 04:45:32 EEST 2008
Customization dir=/home/alex/tmp/customization-scripts
Mounting ISO image...
Unpacking ISO image...
Unmounting ISO image...
Mounting SquashFS image...
Unpacking SquashFS image...
cp: reading `/home/alex/tmp/squashfs-mount/lib/linux-restricted-modules/2.6.22-14-generic/fcusb/fcusb-lib.o': Input/output error

Тако ERROR как решить?

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #4 : 27 Мая 2008, 03:52:21 »
cp: reading `/home/alex/tmp/squashfs-mount/lib/linux-restricted-modules/2.6.22-14-generic/fcusb/fcusb-lib.o': Input/output error

Тако ERROR как решить?
Битый образ? md5 проверял?

Vit.Ok

  • Гость
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #5 : 26 Июня 2008, 00:19:01 »
у меня реконструктор виснет когда я пытаюсь в него добавить запакованую тему оформления, формат тот, реконструктор его находит, но виснит в чем может быт дело? терминал замолкает после выбора архива.

и еще вопрос, если в реконструкторе только с модулями поиграть, а остальные поля не заполнять, то он соберет образ?

т.е. мне просто хотелось бы из офф образа удалить лишнее и добавить то что мне нужно (не трогая темы и прочие в этом роде) можно так?
« Последнее редактирование: 26 Июня 2008, 01:22:32 от Vit.Ok »

Vit.Ok

  • Гость
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #6 : 27 Июня 2008, 00:19:46 »
я так понял для моих целий лучше использовать uck но он мне выдает ошибку вот лог что это может значить?

Starting CD remastering on  Чтв Июн 26 23:08:12 EEST 2008
Customization dir=/home/vitok/tmp/customization-scripts
Mounting ISO image...
Unpacking ISO image...
Unmounting ISO image...
Mounting SquashFS image...
mount: unknown filesystem type 'squashfs'
Cannot mount /home/vitok/tmp/remaster-iso/casper/filesystem.squashfs in /home/vitok/tmp/squashfs-mount, error=32

Оффлайн densss

  • Участник
  • *
  • Сообщений: 137
    • Просмотр профиля
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #7 : 29 Июня 2008, 10:17:46 »
я так понял для моих целий лучше использовать uck но он мне выдает ошибку вот лог что это может значить?

Starting CD remastering on  Чтв Июн 26 23:08:12 EEST 2008
Customization dir=/home/vitok/tmp/customization-scripts
Mounting ISO image...
Unpacking ISO image...
Unmounting ISO image...
Mounting SquashFS image...
mount: unknown filesystem type 'squashfs'
Cannot mount /home/vitok/tmp/remaster-iso/casper/filesystem.squashfs in /home/vitok/tmp/squashfs-mount, error=32
Первым делом проверь контрольную сумму. Кстати, только что заметил интересную вещь : uck2.03 не цепляет некоторые образы, хотя 2,0beta их нормально отрабатывала. Может проблема в этом?

Vit.Ok

  • Гость
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #8 : 29 Июня 2008, 13:35:01 »
контрольная сумма совпадает, я пробовал uck тот что из первого поста, он туже ошибку выдает там вроде 2.0.2 версия советуете 2.0 бетта попробовать, сейчас поищу.

что-то не могу найти, а можете выложить куданибуть? и линк дать?
« Последнее редактирование: 29 Июня 2008, 13:39:37 от Vit.Ok »

Оффлайн densss

  • Участник
  • *
  • Сообщений: 137
    • Просмотр профиля
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #9 : 01 Июля 2008, 00:02:11 »
Да, вот ещё что : перед тем как собирать новый дистрибутив, нужно удалить останки старого :
команда
Цитировать
sudo rm -r /home/пользователь/tmp

Vit.Ok

  • Гость
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #10 : 01 Июля 2008, 11:34:45 »
Да, вот ещё что : перед тем как собирать новый дистрибутив, нужно удалить останки старого :
команда
Цитировать
sudo rm -r /home/пользователь/tmp

это я знаю, если не удалить то не будет разбераться образ. но ошибка в чем-то другом.

Оффлайн komper

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #11 : 03 Ноября 2008, 17:56:38 »
А как пакеты положить на диск но не устанавливать, при этом чтобы уже в установленной системе они были в синаптике?

Оффлайн aleksubuntu

  • Активист
  • *
  • Сообщений: 254
    • Просмотр профиля
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #12 : 16 Января 2009, 14:46:24 »
Больше интересует не украшательством заниматься , а иметь всегда под рукой обновленый дистибутив (и заметьте господа dvd), чтоб если кому прийти и подарить диск, а там как всегда нет интернета. Можно конечно с собой принести 300мб обновленных пакетов и кинуть их в apt кеш, но все равно надо ~10мб инет трафика на списки пакетов. Вопрос эти проги помогут мне ? Я всегда сохраняю обновленые пакеты в папке например update_16_01_2009.
ASUS A8N-VM CSM, amd64 x2 4400, 2Gb, WD320Gb, GTX260GS, window7 x64 & kubuntu-12.10-desktop-amd64, s-1401, s2-3200ci, aspire 5745dg

Оффлайн vvvictor

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #13 : 16 Февраля 2009, 07:42:11 »
Прошу прощения. А при ремастеринге кто-нибудь добавлял в дистрибутив "специфичные" приложения ? Например для пользователя ubuntu.
reconstructor я пока не изучал. а вот в uck - пока с наскоку не нашел скриптики по созданию /home/ubuntu...
На сколько я могу судить пользователь 999 он же ubuntu при старте с LiveCD создается, как и его домашний каталог, "на лету", что собственно и логично - данный каталог у нас должен быть доступен для записи, в отличие от основного дерева.

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

Сам путь вижу примерно такой:
1. Под каким то пользователем, скорее всего созданным на время, инсталлю данный продукт в каталог типа /opt и т.п., дальше сам ручками раскидываю права.
2. Правлю скрипты в нужном мне направлении для создание симлинков в каталоге пользователя, возможно, стартовых ярлыков в меню или на десктопе.

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

Оффлайн Salim

  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: Создаем свой дистрибутив на базе Ubuntu
« Ответ #14 : 16 Февраля 2009, 12:25:03 »
Remastersys посмотри в его сторону . Может подойдет?

 

Страница сгенерирована за 0.057 секунд. Запросов: 25.