Журнал LinuxFormat - перейти на главную

LXF74-75:Дистрибутив своими руками

Материал из Linuxformat
Версия от 17:59, 11 июля 2008; Lockal (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Соберите свой собственный дистрибутив

Дистрибутив вашей мечты

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

  • Музыкальная студия. Дистрибутив, ориентированный на создание и редактирование

музыкальных файлов. В этом случае основные изменения будут касаться выбора ПО, в частности, можно удалить офисные пакеты и добавить Audacity, Freecycle и другие.

  • Реклама. Дистрибутив, разработанный для распространения информации о вашей компании или

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

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

OpenOffice.org, вы можете остановиться на «тонких» альтернативах, таких как IceWM и Siag. Вы можете создать предельно минималистский дистрибутив для использования на слабых машинах.

Создать собственный дистрибутив Linux проще, чем вы могли бы подумать, к тому же еще и интересно! Майк Сондерс (Mike Saunders) надевает свой комбинезон и каску, готовый показать вам, как это делается…

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

Да, вы можете собрать ваш собственный дистрибутив с особенным названием, особым набором программ и прочими настройками, и это не так трудно, как может показаться. Фактически, если вы следуете правильной последовательности действий, это довольно легко. На следующих страницах мы коснемся методов, хитростей и базовых знаний, которые потребуются для создания собственного, персонифицированного дистрибутива, с акцентом на модификацию очень популярного Knoppix Live CD. Мы также получим множество других инструкций и подсказок, как придать собственный оттенок любому Linux, какому пожелаем.

Учитывая огромное количество имеющихся дистрибутивов, вы можете удивиться: «что за нужда создавать еще один?».

  • Выбор. Возможно, ни один из существующих дистрибутивов не удовлетворяет

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

  • Изучение на практике. Понимание

того, как программы объединяются в дистрибутивы, что поставщики делают, чтобы придать своим дистрибутивам индивидуальность и какие препятствия поджидают на этом пути — ценные знания, особенно если вы планируете когда-либо участвовать в проекте разработки дистрибутива.

  • Пропаганда. Если вы продвигаете проект программного обеспечения, ориентированного на Linux, и хотели бы продемонстрировать его пользователям Windows, идеальным решением будет создание тематического Live CD, содержащего ваше приложение. Аналогично, если вы просто сторонник Linux вообще, вы можете построить

дистрибутив с акцентом на предоставляемые преимущества.

Убеждены?

Мы начнем с рассмотрения того, как составные части дистрибутива объединяются в единое целое, какие изменения вам следует сделать, а затем тщательно рассмотрим все это на примере Knoppix. Мы также взглянем

Шаблон:Break

Могу я изменить другой дистрибутив?

Файл:LXF74-75-Otherdistro-1.jpg
Возьмите ISO-образ (1), смонтируйте его как loopback (2) и проверьте его содержимое (3).

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

Ваш первый шаг – раздобыть ISO-образ диска (или дисков) дистрибутива. К примеру, у вас есть образ Ubuntu CD, либо загруженный, либо полученный с реального диска следующей командой:

dd if=/dev/cdrom of=discimage.iso

С помощью loopback-монтирования вы можете получить доступ к файлам на ISO-образе, как если бы он был настоящим CD, вставленным в привод. Это достигается использованием опции loop в команде монтирования:

mount -o loop -t iso9660 discimage.iso /mnt/loop/

Теперь в /mnt/loop у вас будет содержимое диска, как будто вы просто записали образ на CD-R и подключили его, как обычно.

Теперь вы можете скопировать целиком все содержимое во временную папку, сделать все файлы доступными для записи:

chmod -R +w *

и затем модифицировать их в свое удовольствие.

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

Как только вы внесете все изменения в содержимое скопированного диска, вы готовы к тому, чтобы собрать все обратно в образ диска с помощью mkisofs. Наиболее важный момент, который следует рассмотреть – изготовление диска, способного загружаться; большинство дистрибутивов используют isolinux, так что вам нужно использовать правильные опции:

mkisofs -rdlJ -allow-leading-dots -hide-rr-moved -dir-mode 555 -p "preparer" -publisher "publisher" -A "Disc name" -V VOLNAME \
-o output.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table disc_contents/

В результате вы получите файл output.iso для записи на диск, сгенерированный из файлов, содержащихся в каталоге disc_contents. Для того чтобы диск был загрузочным, имена файлов, следующих после опций -b и -c, следует изменить в зависимости от того, какой дистрибутив вы используете. Ознакомьтесь со страницей справки для mkisofs (man mkisofs), чтобы получить дополнительную информацию. Когда все будет сделано, вы получите дистрибутив, подобный оригиналу, но с вашими изменениями.

Соберите инструменты для вашего дистрибутива

Файл:LXF74-75-Knoppix-0.jpg
Рабочий стол Knoppix, используемый по умолчанию – если вам он не нравится, вы можете его изменить.

Каждый хороший рабочий скажет вам, что самая важная часть любой работы — это подготовка. Заварите себе чашечку чая (с четырьмя ложками сахара), и приступим к работе!

В этом руководстве мы сосредоточимся в основном на Knoppix, поскольку это один из лучших дистрибутивов для модификации. Мы будем использовать его, чтобы создать наш собственный LXF-дистрибутив, с выбранными нами программами, собственным названием и другими специфическими особенностями. Когда вы будете делать свой, то обнаружите: раз это Live CD, можно сразу же контролировать результат, и позже вы всегда сумеете установить его на ваш жесткий диск. Впрочем, большая часть этой информации применима и к другим дистрибутивам, и мы дадим несколько советов, полезных, даже если вы предпочтете пойти другим путем.

Как работает Knoppix?

Простая правка deb-пакетов

Knoppix и прочие основанные на Debian дистрибутивы используют в качестве пакетов ПО файлы с расширением .deb. Как правило, они генерируются из исходного кода с помощью сложного набора сценариев; тем не менее, вы можете быстро внести изменения в deb-файлы без каких-либо проблем. Это позволяет вам редактировать содержимое (например, изменять документацию или рисунки) в одно мгновение. Скажем, вы хотите изменить заставку для программы FooBar на соответствующую вашей торговой марке. Запустите:

ar x foobar_1.2.3_i386.deb
tar xfvz data.tar.gz

Эти команды извлекут сжатое содержимое deb-пакета (data.tar.gz). В большинстве случаев оно представляет собой знакомое дерево каталогов, содержащее /usr и, возможно, другие каталоги.

Расположение файлов соответствует таковому в системе Debian. Войдите в полученные каталоги и исправляйте их содержимое, редактируйте заставку в usr/share/foobar/splash.png, и так далее. Когда закончите, выполните команды:

tar cfvz data.tar.gz usr/
ar r foobar_1.2.3_i386.deb data.tar.gz

Первая строка поместит все файлы данных пакета обратно в data.tar.gz – вам может потребоваться указать, помимо /usr, и другие каталоги, если они имеются в распакованном вами пакете. Вторая команда объединяет все обратно в deb-пакет, готовый для установки на ваш собственный дистрибутив или для распространения.

Knoppix представляет из себя Live CD: этот основанный на Debian дистрибутив запускается непосредственно в памяти компьютера. На жестком диске не производится никаких изменений, пока вы явно этого не потребуете. Knoppix версии 4.0 доступен также на DVD — его вы могли видеть на диске, прилагавшемся к прошлому номера нашего журнала.

Последние улучшения Knoppix, такие как способность сохранять персональные файлы на USB-flash, переводят проект из просто демонстрационного в полноценный дистрибутив. Вот что приближает этот дистрибутив к графической настольной ОС:

  • Загрузка

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

Как только ядро получит управление, начинают работать сценарии инициализации, и только здесь вы впервые заметите отличие Knoppix от своего обычного дистрибутива, установленного на жестком диске.

  • Файловая система

В отличие от нормального дистрибутива, который монтирует вашу файловую систему и выполняет загрузку программ с нее, Knoppix использует сжатый loopback-файл. Это отдельный файл, который содержит целую файловую систему, включая /, /usr, /etc и все прочие каталоги, которые можно найти в обычной файловой системе, и который располагается на CD/DVD под именем «KNOPPIX». Он монтируется через так называемый cloop (compressed loop), который открывает отдельный файл, и затем фактически использует его вместо корневой файловой системы. Об этом «подлоге» знает только ядро — пользователь и программы работают с ним как с обычной файловой системой.

  • Рабочий стол

Вы можете сделать выбор рабочего окружения или менеджера окон с помощью загрузчика, но некоторые «индивидуализированные» элементы останутся теми же, несмотря на то, что именно вы выбрали: HTML-страница, загружаемая по умолчанию, и фоновый рисунок. Изменение этих двух элементов — простой способ придать вашему дистрибутиву черты вашей торговой марки — и в нашем обзоре мы покажем вам, как это сделать.

Что мы можем изменить

Технически, мы можем настроить под свои требования любую часть Knoppix, но в одних случаях это делается проще, чем в других. Наиболее полезный параметр - набор предоставляемого ПО — можно настроить сразу же, и без всяких ночных кошмаров: все благодаря превосходному репозитарию Debian, на базе которого построен Knoppix. Вы можете удалять пакеты, добавлять новые, изменять существующие — либо используя полное построение пакета (для этого потребуется система Debian), либо с помощью более быстрого метода, подробно описанного во врезке «Простая правка deb-пакетов» слева. Инструменты для работы с пакетами Debian, такие как apt-get и другие, автоматически разрешают зависимости, так что вам не нужно беспокоиться о неработоспособности ПО на вашем дистрибутиве.

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

Подготовка

Прежде чем мы приступим собственно к разработке, вам нужно будет кое-что подготовить. Наиболее важный элемент - диск Knoppix, образ которого вы можете загрузить с сайта проекта (http://www.knopper.net/knoppix/index-en.html). Там вы сможете найти ISO-образ Knoppix 4.0, подготовленный для записи на CD-R. Как и с любым дистрибутивом, вы не можете просто скопировать файл ISO на CD — вам нужно записать его именно как образ диска. Ваша любимая программа для записи CD должна иметь эту опцию, а если ее нет, вы можете воспользоваться проверенной утилитой командной строки cdrecord. Обратитесь к странице справки (man cdrecord) для получения детальных сведений о записи CD-дисков.

Далее, вы должны обратить внимание на оперативную память вашего компьютера. Ее у вас должно быть как минимум 128 Мб, но даже в этом случае некоторые этапы процесса сборки будут идти медленно. Это, конечно же, не смертельно; вы можете оставить работающую машину на ночь, если потребуется, но чем больше ОЗУ у вас есть, тем лучше. Процесс пересборки на самом деле требует 1 Гб памяти, но вы можете достичь этого значения, добавив виртуальной памяти (swap) к объему вашего ОЗУ. Следует также заметить, что вы можете использовать и Knoppix DVD с нашего диска, но требования к памяти для редактирования при этом достигнут 5 Гб — нереальное значение для большинства из нас.

Наконец, вам потребуется свободное место на вашем Linux-разделе на жестком диске. Это может быть специально отформатированный раздел, либо один из тех, которые вы уже используете, например, / или /home. Для CD вам потребуется 3 Гб свободного пространства, а для DVD - колоссальный объем в 15 Гб. Итак, если у вас есть компакт-диск, необходимый объем оперативной памяти и достаточно места на вашем жестком диске — вы готовы к дальнейшей работе. Начиная со следующей страницы, мы шаг за шагом погрузимся в процесс переделки, приводя точные команды, которые должны будут вводиться, от начала и до конца. Говоря словами Марио — «let’s-a go!»

Семь шагов для переделки дистрибутива

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

1. Запустите Knoppix

Файл:LXF74-75-Knoppix-1.jpg
Если на вашем жестком диске нет свободного Linux-раздела, используйте cfdisk и mke2fs, чтобы создать его.

Вставьте ваш CD с Knoppix 4.0 в привод, перезагрузите компьютер и установите загрузку с CD. Как правило, для этого нужно нажать [F1], [F2] или [Del] в начале загрузки вашего ПК, затем изменить порядок загрузки в настройках BIOS. После загрузки вам нужно будет войти в рабочее окружение KDE. Вы сможете выбрать другой рабочий стол или оконный менеджер — это хорошая идея для машин с небольшим объемом оперативной памяти. Откройте окно терминала («K Menu > KNOPPIX > Root Shell»).

Сперва вам нужно убедиться, что компьютер подключен к Интернету. Вы можете настроить сеть, как с помощью традиционных инструментов командной строки, так и из «K Menu > KNOPPIX > Network/Internet». Выполнив это, подключите раздел жесткого диска, который вы подготовили ранее, и убедитесь, что на нем есть 3 Гб свободного места, и создайте временный рабочий каталог на нем следующими командами:

mkdir /mnt/drive
mount -rw /dev/hda1 /mnt/drive
mkdir /mnt/drive/knoppix-tmp

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

Замечание 2: вы должны смонтировать его в режиме чтения-записи (опция -rw). Также стоит ввести hdparam -d1 /dev/hda для включения режима DMA и ускорения работы с диском.

2. Создайте swap и скопируйте файлы

Файл:LXF74-75-Knoppix-2.jpg
Вам может потребоваться добавить пространства под swap-файл, чтобы получить требуемый 1 Гб памяти.

Как уже упоминалось, вам потребуется 1 Гб памяти (реальной плюс виртуальной). Если объем вашего ОЗУ меньше 1 Гб, создайте swap-файл, чтобы воспользоваться виртуальной памятью. Следующие команды создадут swap-файл размером 750 Мб в дополнение к вашим 256 Мб ОЗУ:

cd /mnt/drive/knoppix-tmp
dd if=/dev/zero of=swapfile bs=1M count=750
mkswap swapfile
swapon swapfile

Теперь создайте 2 каталога для исходных файлов Knoppix и вашего финального CD, и в обоих создайте папку KNOPPIX. Скопируйте в них все файлы дистрибутива Knoppix, готовя их к модификации (процесс копирования потребует некоторого времени):

mkdir -p /mnt/drive/knoppix-tmp/master/KNOPPIX
mkdir -p /mnt/drive/knoppix-tmp/source/KNOPPIX
cd -Rp /KNOPPIX/* /mnt/drive/knoppix-tmp/source/KNOPPIX
cd -ap /cdrom/boot /mnt/drive/knoppix-tmp/master/boot
cp /cdrom/imdex.html /mnt/drive/knoppix-tmp/master/
cd /cdrom && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/drive/knoppixtmp/master/ \;

Обратите внимание на последнюю строку: для DVDверсии вам следует использовать размер 15000k и копировать каталог KNOPPIX2 с помощью команды

cp /cdrom/KNOPPIX KNOPPIX2 /mnt/drive/knoppix-tmp/master/KNOPPIX

3. Откройте сессию chroot

Файл:LXF74-75-Knoppix-3.jpg
Теперь мы в chroot-каталоге, который выглядит и ведет себя как отдельный дистрибутив Linux.

Итак, вы скопировали ПО, входящее в состав Knoppix, в source/KNOPPIX, и дополнительно вспомогательные файлы для изготовления дистрибутива в master/. А теперь начнется веселье! Используя программу chroot, вы можете создать сессию внутри копии Knoppix — другими словами, начать использовать ее, как отдельный дистрибутив. «Chroot» означает «change root» (сменить корень), и устанавливает ваш корневой каталог / туда, куда вы укажете. Итак, поменяем корневой каталог на тот, где хранится наша копия Knoppix, что позволит нам использовать и модифицировать ее, как будто мы ее уже запустили:

chroot /mnt/drive/knoppix-tmp/source/KNOPPIX

Теперь любые изменения будут отражаться на создаваемом дистрибутиве. То, что вы увидите в каталоге /, находясь в chroot, на самом деле будет /mnt/drive/knoppix-tmpsource/KNOPPIX. Если вы хотите добавить ПО из репозитария Debian, вам потребуется настроить сеть:

mount -t proc /proc proc

Затем откройте второе окно терминала, чтобы вы временно оказались вне chroot-окружения, и введите приведенную ниже команду (это нельзя сделать из chroot-окружения):

cp /etc/dhcpc/resolv.conf /mnt/drive/knoppix-tmp/source/KNOPPIX/etc/dhcpc/resolv.conf

4. Выберите ваше новое ПО

Теперь можно добавлять и удалять софт, используя отличный инструмент Debian - apt-get. Прежде всего, введите apt-get update (НЕ upgrade!), чтобы обновить список пакетов. Затем наберите dpkg-query -l — получите список установленных пакетов. Для удобства можно перенаправить вывод на программу постраничного просмотра: dpkg-query -l | less. Чтобы удалить пакет, введите apt-get remove -purge <имя_ пакета>. Чтобы установить новый пакет из Интернета, наберите apt-get install <имя_программы>. Репозитарий программного обеспечения Debian просто огромен: вы сможете переделать ваш дистрибутив, как только пожелаете. Например, чтобы удалить редактор Zile и установить Nano, мы выполним следующие команды:

apt-get remove --purge zile
apt-get install nano

Как только вы закончите, введите apt-get clean, чтобы удалить загруженные файлы, оставшиеся в кэше.

Замечание: есть пакеты, которые вы не можете удалить, например, ядро, libc и сценарии инициализации. Если вы сомневаетесь, можно ли что-то удалять, оставьте все, как есть. Если же пакет слишком велик, и вам хочется сэкономить место, зайдите на Linux-форум и спросите, насколько он важен для работы системы.

5. Измените поведение

Файл:LXF74-75-Knoppix-4.jpg
Сделать более замысловатый фоновый рисунок совсем не сложно…

Покончив с сортировкой программ, самое время покопаться в системе и изменить другие параметры. В /etc/skel вы сможете найти файлы конфигурации, используемые по умолчанию для новых пользователей (введите ls -a, чтобы увидеть их все).

В /etc/init.d вы найдете стартовые сценарии для программ, которые могут быть запущены на этапе загрузки системы. Вы можете добавить другие сценарии в /etc/ rc5.d, чтобы загружать программы до того как будет запущена графическая оболочка. И, конечно же, сам /etc — это место расположения всевозможных конфигурационных файлов, которые вы можете настроить по своему усмотрению — однако, если сомневаетесь, лучше не изменяйте их. Поскольку вы находитесь в chroot-окружении, вы можете тестировать ваши графические приложения, введя export DISPLAY=localhost:0 и уже потом запустив саму программу. Это позволит вашей программе подсоединиться и использовать уже существующий экран, вместо того чтобы пытаться найти запущенный X-сервер в chroot-окружении. Некоторые изменения производятся за пределами chroot; например, мы можем придать фоновому рисунку, используемому по умолчанию, собственные оттенки. Откройте отдельную оболочку с правами root, и введите:

chmod +w /mnt/drive/knoppix-tmp/master/KNOPPIX/background.jpg
gimp /mnt/drive/knoppix-tmp/master/KNOPPIX/background.jpg

Теперь вы можете отредактировать фоновое изображение, добавив ваш логотип или элементы оформления. Конечно, вы можете полностью заменить этот файл. Экран загрузчика (splash screen) размещается в /mnt/drive/knoppix-tmp/master/ boot/isolinux/logo.16 — вам потребуется пакет Syslinux, чтобы отредактировать его. В отдельной оболочке измените формат, отредактируйте изображение и переконвертируйте в прежний формат:

cd /mnt/drive/knoppix-tmp/knoppix-tmp/master/boot/isolinux; chmod +w logo.16
lss16toppm < logo.16 > logo.ppm
gimp logo.ppm (сохраните как indexed GIF с 14 цветами)
giftoppm < logo.gif > logo.ppm
ppmtolss16 < logo.ppm > logo.16

Наконец, вы можете изменить файл помощи, который выводится, когда запускается какой-либо оконный менеджер (например, KDE, используемый по умолчанию). Его можно найти в файле /mnt/drive/knoppix-tmp/master/index.html.

6. Пересоздайте сжатый образ

Файл:LXF74-75-Knoppix-5.jpg
mkisofs обеспечивает отличную обратную связь, так что обнаружить любую проблему достаточно легко.

Когда вы внесете все желаемые изменения, выйдите из chroot, введя umount /proc и нажав [Ctrl]+[D]. Chroot-сессия будет завершена. Осмотрите каталоги, в которых вы работали, чтобы удалить временные файлы. Теперь перейдем к предпоследнему из важных шагов — созданию сжатого образа файловой системы. На странице 46 мы видели, что Live CD использует сжатый файл, представляющий собой файловую систему с сохраненным ПО, так что нам нужно создать его заново:

mkisofs -R -U -V "filesystem" -publisher "MyName www.myurl.com" -hide-rr-moved cache-inodes -no-bak \
/mnt/drive/knoppix-tmp/source/KNOPPIX | /usr/bin/create_compressed_fs - 65536 > /mnt/drive/knoppix-tmp/master/KNOPPIX/KNOPPIX

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


7. Постройте финальный ISO-образ

Файл:LXF74-75-Knoppix-6.jpg
Итоговый результат: LFX-дистрибутив с милым пингвином.

Настает важный момент: создание финального образа диска. Мы создадим ISO-образ собранного нами Knoppix, готового для использования или распространения. Прежде всего, нужно будет вычислить MD5-сумму для диска, которая очень важна для проверки целостности (она позволяет убедиться, что вы раздаете неиспорченные диски).

cd /mnt/drive/knoppix-tmp/master
find -type f -not-name md5sums -not-name boot.cat -not-name isolinux.bin -exec 
md5sum '{}' \; > KNOPPIX/md5sums

Далее следует еще одна большая команда, самая последняя команда, так что не пугайтесь. Эта команда создает собственно файл ISO. Когда она завершится, файл будет готов для записи на диск. Она использует инструмент mkisofs, чтобы взять наши только что измененные файлы Knoppix, объединить их с загрузочными данными и получить образ диска.

cd /mnt/drive/knoppix-tmp/master
mkisofs -pad -l -r -J -v -V “MYDISTRO” -no-emul-boot -boot-load-size 4 -boot-info-table b boot/isolinux/isolinux.bin \
-c boot/isolinux/boot.cat -hide-rr-moved -o /mnt/drive/knoppix-tmp/mydistro.iso /mnt/drive/knoppix-tmp/master

Когда работа завершится, вы получите сияющий новизной ISO-образ вашего дистрибутива в /mnt/drive/knoppix-tmp/mydistro.iso. Вы можете протестировать его, записав на CD-R в вашем обычном дистрибутиве, или воспользовавшись быстрым запуском в эмуляторе, например, VMWare или Qemu.

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

Отпустите ваше создание на волю…

…только сначала проверьте, что все работает правильно.

Если вы собираетесь начать проект, связанный с вашим новым дистрибутивом, или просто раздаете его всем желающим, очень важно сначала провести ряд тестов. При этом не требуется выполнять столь массивные процедуры тестирования ПО, какие проводит Debian — в конце концов, вы используете в качестве основы уже хорошо зарекомендовавший себя дистрибутив. Тем не менее, стоит проверить, что все основные программы, которые вы устанавливали, работают правильно, и что любые изменения, которые вы выполняли в низкоуровневых компонентах (таких как сценарии инициализации), не повлекли за собой каких-либо проблем. Если вы выпускаете CD «для всех», например, для продвижения Linux, вы вряд ли хотите стать в итоге командой технической поддержки, работающей в режиме «24х7»?

Что делать, если что-то не работает? К счастью, вам не нужно повторять всю процедуру еще раз. Если вы еще не удалили рабочие файлы с вашего жесткого диска, вы можете запустить Knoppix, подключить диск (шаг 1), добавить swap-файл (шаг 2) и войти в chroot (шаг 3). После устранения проблемы вы можете пересобрать ISOобраз, как показано в шагах 6 и 7, скрестив пальцы. Если у вас возникла проблема, специфическая для Knoppix, есть замечательный форум, который может помочь вам при переделке Knoppix, находящийся по адресу: http://www.knoppix.net/forum/viewforum.php?f=2. Объясните, что вы пытаетесь сделать и что не получается, и кто-нибудь вам поможет.

Надеемся, что теперь вы сформировали свой собственный дистрибутив, и попутно получили некоторые полезные знания в области Linux. Тем не менее, есть много путей для дальнейшего движения — вы можете попробовать Linux From Scratch (смотрите справа врезку «Утоление жажды творчества») или присоединитесь к другому проекту разработки дистрибутива. Учитывая организацию и политику Debian или, скажем, Fedora, довольно сложно сделать большие изменения в этих дистрибутивах, но меньшие проекты более приспособлены для этого и готовы к испытанию новых идей. Посетите сайт Ладислава Боднара (Ladislav Bodnar) — http://www.distrowatch.com - чтобы узнать, какой из дистрибутивов Linux находится на вершине популярности.

Или действуйте в одиночку… Как вариант, если вы планируете развивать свой самодельный дистрибутив и ищете помощников, чтобы вовлечь их в это, попробуйте опубликовать сообщение в нескольких новостных группах и/или форумах в Сети. Кто знает, возможно, ваш дистрибутив когда-нибудь даже появится на диске нашего журнала… Удачи!

Альтернатива: Morphix

Построение дистрибутивов, основанное на графическом интерфейсе
Файл:LXF74-75-Morphix-1.jpg
IBuild может работать и с Knoppix, хотя Morphix предпочтительнее.

Morphix — это Live CD, основанный на Knoppix (то есть, фактически, на Debian), который щеголяет довольно элегантной системой построения дистрибутива с использованием графического интерфейса. Все еще требуется кое-что делать из командной строки, но большинство операций по настройке можно выполнять в графическом интерфейсе. Эта программа называется IntelliBuild, и доступна по адресу http://ibuild.livecd.net. Мы включили основные файлы Morphix в наш диск, чтобы сэкономить время и трафик, которые вы потратили бы на загрузку.

IBuild использует шаблоны, которые позволяют вам выбирать пакеты из репозитариев Debian, и изменять другие элементы дистрибутива, такие как экран заставки и стартовые сценарии. Чтобы запустить его, вам нужно иметь последние версии chroot, cloop-utils, Python, PyGTK, python-vte и mkisofs. Как и в случае с Knoppix, вам потребуется 3 Гб свободного места на диске и 1 Гб оперативной памяти (включая объем swap-файла). Сначала смонтируйте прилагаемый диск и из-под пользователя root выполните следующие команды:

cd ~; mkdir ibuild; cd ibuild
mkdir -p prebuilt/mainmod; cd prebuilt/mainmod
cp /mnt/cdrom/Magazine/BuildDistro/BareX.mod.iso.bz2 .
bunzip2 BareX.mod.iso.bz2

Теперь вам нужно создать кое-какие рабочие каталоги и скопировать в них файлы с образа Mophix Base. Как обычно, замените /mnt/cdrom правильным местоположением вашего CD/DVD-диска (в некоторых дистрибутивах это может быть /cdrom):

mkdir -p ~/ibuild/prebuilt/base/temp
mkdir -p ~/ibuild/prebuilt/base/0.5-pre5
cd ~/ibuild/prebuilt/base
mount -o loop /mnt/cdrom/Magazine/BuildDistro/MorphixBase-0.5-pre.iso temp
cp -a temp/* 0.5-pre5/
umount /temp

Установите пакет IBuild, либо собрав из исходных кодов, либо инсталлировав deb-пакет (если вы получите сообщения об ошибке, вам может потребоваться скопировать файлы из src/iGui/ в /usr/lib/ibuild или в другое место, куда вы выполняете установку).

Теперь, когда основные файлы Morphix на месте и IBuild установлен, вы можете запустить ibuild.py приступить к работе. Здесь вы найдете шаблоны, которые можете изменить под свои требования, такие как fireflux.xml в /usr/share/ibuild/config (или в /usr/local/share/ibuild/config). Они предопределяют набор пакетов и косметические особенности. Когда вы будете готовы, нажмите кнопку Build, которая должна быть в нижнем правом углу. Вы найдете полученный ISO-образ в каталоге ~ /ibuild/release/. За дополнительной информацией обращайтесь по адресу http://wiki.livecd.net/livecd/ibuildHowto

Утоление жажды творчества

Файл:LXF74-75-LFS-1.jpg
LFS понятно изложен, информативен и хорошо написан — превосходное средство.

Хотя Knoppix и предоставляет простой и легкий путь для переделки дистрибутива, существует масса других возможностей, если вам хочется копнуть поглубже. Одна из них — Linux From Scratch (LFS), своеобразный метадистрибутив — это не установочная система Linux, а рабочая среда и руководство, предназначенные для создания своей собственной системы. Она предоставляет огромное пространство для модификаций и переделок, но ценой бОльших затрат времени и усилий. И все же, делая все с самого начала, вы досконально изучите работу Linux и это даст вам возможность еще более глубоких изменений. Многие из нынешних разработчиков Linux-дистрибутивов начинали с LFS, что вызывало у них интерес и желание присоединиться к какому-либо проекту.

LFS поставляется как набор архивов с исходными кодами, дополненный исчерпывающим онлайн-руководством. Вы начинаете с создания голого скелета дистрибутива Linux из вашего текущего, добавляя один за другим необходимые компоненты, позволяющие ему запускаться и работать (то есть полный инструментарий разработчика). Аккуратно поделенное на секции руководство объясняет вам, как компилировать каждую программу, и предоставляет множество возможностей для внесения собственных настроек. Также имеется BLFS (Beyond Linux From Scratch), который освещает более продвинутые темы, такие как компиляция огромного рабочего стола Gnome. Узнать больше об LFS вы можете, посетив сайт http://www.linuxfromscratch.org

Пять «популярных» ошибок

Остерегайтесь их, когда создаете дистрибутив…

  1. Плохое название. Хотя «Joe’s Hyper Plasma Spatula Orgasmix LiGNUx 0.54C3a1» может звучать достаточно круто, это практически не произносимо. Используйте что-нибудь краткое и запоминающееся, такое как «Plasma Linux 1.0»
  2. Запутанный набор приложений. Вместо того чтобы завалить пользователя уймой текстовых редакторов, попробуйте выбрать один хороший пример из всех программ. Другими словами, Nano.
  3. Противоречивость. Если возможно, привяжите все к одному инструментарию, скажем, GTK или Qt. При одновременном использовании нескольких инструментариев у вас будет не рабочий стол, а бардак.
  4. Безвкусица. Бесконечно яркие цвета могут быть хороши в цирке, но не на рабочем столе пользователя. Выбирайте приятную для глаз тему рабочего стола, а не вызывающий головную боль аналог шапито.
  5. Недостаточная ширина канала. Найдите хороший хостинг, или присоединитесь к BitTorrent. Ничто не обижает заинтересованного потенциального пользователя больше, чем необходимость тратить жизнь на скачивание со скоростью 5 килобит в секунду.
Персональные инструменты
купить
подписаться
Яндекс.Метрика