Как сделать свой дистрибутив linux

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

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

Для создания дистрибутива нам понадобятся:

Нужно сделать несколько замечаний относительно первого пункта. Пакет
Reconstructor позволяет разобрать ISO-образ Ubuntu, внести изменения и заново
собрать исошник. Официально, текущая версия (2.8) поддерживает дистрибутив
Hardy, то есть предыдущую версию Ubuntu. Как выяснилось, эта версия
реконструктора отлично работает с Intrepid Ibex (Ubuntu 8.10), что и будет
показано в статье.

По поводу места на диске – минимум 6 Гб, поскольку в разобранном состоянии
LiveCD с Ubuntu занимает примерно 5 Гб + необходимо место для образа нашего
дистрибутива (около 700 Мб). Самое время удалить все ненужное, если места не
хватает.

Запуск реконструктора

Итак, устанавливаем и запускаем реконструктор (он появится в меню
"Приложения"). Программа запросит пароль для sudo. Введи свой пароль (именно
свой, а не root'а). Далее нажимаем Next и выбираем, какой диск хотим создать -
LiveCD или инсталляционный. Нужно выбрать первое. Хотя мы создаем LiveCD, на
диск будет помещен инсталлятор, поэтому при необходимости дистрибутив можно
будет установить на жесткий диск, как полноценный Ubuntu.

Затем нужно указать, куда будет "распакован" исходный ISO-образ Ubuntu и где
брать этот самый образ. Винт у меня не резиновый, поэтому исходный образ я
поместил на Windows-раздел, чем сэкономил 700 Мб на втором Linux-разделе (у меня
он занимает 6 Гб – пришлось даже openSUSE снести). Можешь использовать мой трюк
для экономии места. В крайнем случае, в привод можно вставить LiveCD Ubuntu –
программа без проблем его найдет (но в этом случае распаковка займет больше
времени). Так как все действия выполняются от имени root, беспокоиться о правах
не нужно.

Внимание! При первом "разборе" LiveCD обязательно включи параметры Create
Remaster Directory, Create Root Directory, Create Initial Ramdisk Directory.
Собственно, реконструктор и не позволит продолжить работу без включения этих
параметров. Во второй и последующих сборках их включать не нужно, поскольку
реконструктор перезапишет все изменения, которые были внесены в файловую систему
дистрибутива (графические темы, файлы конфигурации, установленные пакеты и т.д.)
После этого программа сообщит, что нужно немного подождать. Ждем-с. Время
ожидания зависит только от умений и навыков твоего компьютера. В среднем,
понадобится минут 5-10.

Параметры загрузчика

После распаковки образа откроется основное окно реконструктора, состоящее из
пяти вкладок. Начнем модификацию исходного дистрибутива с вкладки Boot Screen.
Параметр Live CD Splash задает фон загрузчика GRUB. Создать его можно в GIMP.
Формат файла: PCX, индексированный, 256 цветов, размер 640х480 или 800х600. Live
CD Text Color – цвет текста меню загрузчика GRUB. У меня белый фон для GRUB,
поэтому цвет текста я выбрал черный.

Тут есть один нюанс. С ним я столкнулся, когда сделал несколько сборок
дистрибутива. Лучше подготовить два Usplash. Первый – с разрешением 640х480, а
второй – 800х600. Первый нужно установить как Usplash для LiveCD, а второй как
Usplash для дистрибутива. Практика показала, что, если установить Upslash
размером 800x600 или выше, он вообще не отображается при запуске LiveCD. Зато
отлично будет выглядеть при запуске системы! Имей в виду, при старте LiveCD
пользователи увидят созданный тобой Usplash, а после инсталляции будет
использоваться стандартный Usplash Ubuntu. Это не есть хорошо: если мы собрались
делать свой дистрибутив – нужно держать марку и по возможности стараться, чтобы
меньше мелькало слово "Ubuntu". О том, как установить свой Usplash, я расскажу
чуть позже.

Параметры Гнома – вкладка Gnome

Splash Screen – это экран, который пользователь увидит при загрузке Гнома.
Опять-таки, его можно скачать с gnome-look, можно создать свой, а можно вообще
не трогать (я так и поступил: изменил только фон Гнома по умолчанию, Background
Color).

В группе Desktop можно выбрать обои по умолчанию и установить шрифты Гнома, а
в группе Theme - цветовую тему, тему для оформления окон и набор пиктограмм.

Вкладки Apt и Optimization

На вкладке Apt задаются репозитории, которые будут доступны новому
дистрибутиву. Поскольку своих репо у меня нет, то и выбирать нечего. А вот с
оптимизацией осторожнее. Дело в том, что эта версия реконструктора рассчитана на
Ubuntu 8.04, и неизвестно, что она сотворит со скриптами инициализации Ubuntu
8.10. Экспериментировать я пока не стал (хотя обязательно попробую), поэтому
сразу с вкладки Optimization переходим на вкладку LiveCD.

Здесь можно указать имя машины, имя пользователя LiveCD и задать пароль (раз
собираешь дистрибутив для себя любимого). Если нужно просто изменить имя
пользователя по умолчанию, я расскажу, как это сделать с помощью
конфигурационных файлов, но чуть позже.

Теперь самое интересное. На вкладке Modules ты можешь выбрать модули. Модули
выполняют некие действия, например – удалить GIMP или OpenOffice для экономии
места. Также есть модули для установки MPlayer, Flash-модуля для Firefox. Их
можно запускать сразу (Execute) или же при загрузке (Run on boot). Так, если ты
хочешь добавить MPlayer в свой дистрибутив, выбери модуль MPlayer как Execute и
нажми Apply. Не забывай посматривать в сторону верхнего правого угла окна – там
указывается предполагаемый размер образа (Estimated ISO Size). В моем случае
программа насчитала 702 Мб, а при создании образа вышло 745 Мб.

Если нужно установить дополнительные пакеты, укажи их в поле Custom apt-get
(install) и нажми кнопку Apply. Пакеты нужно перечислить через пробел, например,
"пакет1 пакет2 пакет3". Количество пакетов не ограничено, однако не
перестарайся. Установи несколько пакетов (тянутся из инета), посмотри, насколько
увеличился размер диска, потом ставь остальные. Аналогично, поле Custom apt-get
(remove) используется для удаления пакетов.

Что же здесь можно сделать? Можно перейти в каталог remaster и удалить все
*.exe-файлы и файл autorun.ini. Так мы сэкономим 1,3 Мб. Немного, но зачем нам
лишнее? Затем можно открыть файл initrd/etc/casper.conf и установить имя
пользователя по умолчанию и строку, которая будет выводиться на панели GNOME (в
моем случае – Denix session user):

export USERNAME="denix"
export USERFULLNAME="Denix session user"
export HOST="denix"
export BUILD_SYSTEM="Denix"

После того, как выполнишь все модификации с файловой системой, не забудь
нажать кнопку Apply для пересчета размера ISO. И смело щелкаем Next для
продолжения.

Подготовка к сборке ISO

А теперь будь внимателен! Если впервые собираешь свой LiveCD, убедись, что
включены параметры Initial Ramdisk, SquashFS Root, Live CD (ISO). А вот если
хочешь доработать LiveCD, который начал делать, скажем, вчера, то эти параметры
должны быть выключены! Иначе программа перезапишет все изменения!

Filename – имя LiveCD. Проверь, что у тебя есть место на диске (около 750
Мб), в крайнем случае можно создать ISO-образ на другом разделе. Description –
это метка диска. Нажимай Next и наслаждайся процессом сборки твоего
дистрибутива.

Тестирование

Запиши ISO на болванку с помощью любой программы (например, Nero for Linux) и
загрузись с него. Сначала ты увидишь установленный тобой фон для GRUB. Далее –
экран загрузки системы, а затем - рабочий стол. Можно даже попробовать
установить дистрибутив на свой компьютер – установка пройдет без особых проблем.
После перезагрузки увидишь установленную тобой GDM-тему.

Займемся кастомизацией

Поздравляю тебя с первой сборкой! Но еще нужно поработать напильником, ведь:

  • При загрузке системы (после установки на жесткий диск) отображается
    Usplash Ubuntu, а не нашего дистрибутива;
  • В каталоге Examples на рабочем столе до сих пор стандартные примеры
    Ubuntu;
  • При запуске GNOME пользователи слышат звук Ubuntu;
  • Состав программного обеспечения остался прежним.

Вначале установим Usplash для твоего дистрибутива. Открой терминал и выполни
команду "sudo mc". Теперь нужно перейти в каталог, где находится файловая
система нашего дистрибутива. Поскольку я распаковал образ в /media/disk/livecd,
то таким каталогом у меня был /media/disk/livecd/root. Перейди в каталог
/usr/lib/usplash своего LiveCD (то есть, это будет
/media/disk/livecd/root/usr/lib/usplash). В нем как раз и хранятся SO-файлы
Usplash. Ведь ты уже создал Usplash-файл с разрешением 800х600? Скопируй его на
место usplash-theme-ubuntu.so. Конечно, можно поковыряться в конфигах usplash и
прописать собственный файл без удаления оригинального, но так намного быстрее. К
тому же, сгенерированный реконструктором файл занимает всего 400 Кб, а
оригинальный – 2 Мб.

Займемся примерами. Перейди в каталог /usr/share/example-content своего
LiveCD (/media/disk/livecd/root/usr/share/example-content). Удали все, что там
есть, и заполни своим содержимым. А можно вообще ничем не заполнять – в этом
случае ты просто сэкономишь пользователю место на диске. Можно поместить туда
сценарии для установки дополнительных пакетов. В общем, все зависит от полета
твоей фантазии.

Итак, usplash установили, примеры – почистили. Теперь звук. Нужно найти
подходящий файл в формате OGG (или же сконвертировать образец из любого другого
формата в формат OGG программой oggenc) и поместить его в каталог
/usr/share/sounds. Тут уж решать тебе – либо создавать свою собственную тему по
образу и подобию размещенной в каталоге /usr/share/sounds/ubuntu, либо просто
скопировать подготовленный OGG-файл в desktop-login.ogg – это звук,
воспроизводимый при входе в GNOME. Можно еще заменить звук, воспроизводимый при
выходе из GNOME - desktop-logout.ogg.

Идем дальше! Нужно установить пакеты, и здесь нам понадобится другой терминал
– тот, который запускается реконструктором. Открываем его нажатием кнопки
Terminal и вводим команды:

$ sudo apt-get install
$ sudo apt-get remove

Очевидно, первая команда используется для установки пакетов, а вторая – для
удаления.

При установке пакетов таким способом они снова будут скачаны из интернета.
Кого-то такой вариант не устроит – не у всех же безлимитка. Да и хотелось бы
установить на LiveCD все пакеты, которые уже установлены на твоей рабочей
системе, чтобы так: установил Ubuntu, накатил все пакеты, потом перенес эти
пакеты на LiveCD, и у тебя уже есть готовый LiveCD со всем необходимым!

Запускаем два терминала: первый обычный (Приложения -> Стандартные ->
Терминал), а второй – терминал реконфигуратора. В первом терминале запускаем mc
с правами root и переходим в каталог с пакетами /var/cache/apt/archives:

На второй панели переходим в каталог /media/disk/livecd/root – это корневая
файловая система нашего LiveCD. Создаем каталог deb и копируем в него все пакеты
из /var/cache/apt/archives:

$ mkdir deb
$ cp /var/cache/apt/archives/*.deb /media/disk/livecd/root/deb

Осталось только установить их в нашем LiveCD. Отправляемся во второй терминал
и вводим:

$ cd deb
$ dpkg –i *.deb
$ rm *.deb
$ exit

Первая команда переходит в каталог deb, содержащий пакеты, вторая –
устанавливает пакеты. О разрешении зависимостей можно не беспокоиться: тут есть
все нужные пакеты, они проинсталлированы в нашей системе, а при установке были
разрешены любые зависимости! Третья команда удаляет deb-пакеты – они нам больше
не требуются, а дублировать их на LiveCD нет смысла. Последняя команда закрывает
терминал. Реконфигуратор пересчитает размер образа – ты увидишь его в верхнем
правом углу программы. Посмотрим, может, ты переборщил!

По собственному опыту могу сказать следующее: если удалить из LiveCD
OpenOffice и GIMP, а вместо них установить пакеты локализации, кодеки и MPlayer,
то дистрибутив поместится на CD. Размер образа будет примерно 695 Мб. А вот если
ничего не удалять, то записать образ получится только на DVD. Дистрибутив Denix
0.5 Full занимает 981 Мб. Я заменил родной OpenOffice 2.4 на OpenOffice 3.0 Pro
от ИнфраРесурс и установил пакеты локализации, кодеки, MPlayer, Thunderbird,
FileZilla. Догадываюсь, какой вопрос ты хочешь задать. А можно ли CD-образ,
созданный программой, записать на DVD? Да, проверено, – работает!

Не знаешь, как индексировать изображение? Создай его в GIMP, выбери команду
меню "Изображение -> Режим -> Индексированное" и в появившемся окне установи
максимальное число цветов палитры – 256. Сохрани изображение как PNG-файл.

Для сборки своего дистрибутива можно использовать Ubuntu Customization Kit,
но все, что он делает, выполнимо и с помощью реконструктора. Текущая версия UCK
не работает с Ubuntu 8.10.

используйте наш пример WSL с открытым исходным кодом для создания пакетов WSL дистрибутив для Microsoft Store и (или) для создания пользовательских пакетов Linux дистрибутив для загрузки неопубликованных приложений. Репозиторий запуска дистрибутив можно найти на GitHub.

Этот проект включает:

  • Служба поддержки распространения Linux для упаковки и отправки дистрибутива Linux в качестве appx-пакета, работающего на WSL
  • Разработчики могут создавать настраиваемые дистрибутивы Linux, которые можно загруженные неопубликованные на свой компьютер разработки.

Историческая справка

Мы распространяем дистрибутивов Linux для WSL как приложения UWP с помощью Microsoft Store. вы можете установить приложения, которые будут запускаться на WSL-подсистеме, расположенной в ядре Windows. Этот механизм доставки имеет много преимуществ, как описано в предыдущей записи блога.

Неопубликованная загрузка пользовательского пакета дистрибутив для Linux

Вы можете создать пользовательский пакет дистрибутив для Linux в качестве приложения для загружать неопубликованные на личном компьютере. обратите внимание, что пользовательский пакет не будет распространяться с помощью Microsoft Store, пока не будет отправлен в качестве обслуживания распространения. Чтобы настроить компьютер для загружать неопубликованные приложений, его необходимо включить в параметрах системы “ для разработчиков ” . Убедитесь, что выбран режим разработчика или загружать неопубликованные приложения.

Для дистрибутив обслуживания Linux

Приступая к работе

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

Linux, это слово, которое заставляет многих незнакомых глаз почти мгновенно глазеть. Тем не менее, предложения Linux для настольных компьютеров в настоящее время практически не уступают таким громким именам, как Windows и MacOS.

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


Тем не менее, они имеют одну огромную разницу
по сравнению с коммерческими операционными системами — Open Source лицензирование.

Это означает, что у нас есть полный доступ ко всем
внутренняя работа Linux. Вам не нужно платить, чтобы использовать его, и вы можете настроить
это примерно так, как вам нравится. Это отлично подходит для опытных пользователей, которые любят
возиться с гайкой и болтами, но что делать, если вы просто хотите сохранить свой собственный
подправили кастомную установку Linux?

На самом деле вы можете создать новую установку Linux, настроить ее так, как вам нужно, и затем превратить ее в оперативную загрузочную установку. Это очень полезно по нескольким причинам. Прежде всего, это означает, что у вас не будет простоев, если вам придется переустанавливать операционную систему.

Все ваши настройки и программное обеспечение будут ждать с самого начала. Это также упрощает создание пользовательских установок для распространения. Допустим, вам нужно установить Linux на всю компьютерную лабораторию, полную компьютеров, а затем установить образовательные пакеты. Использование специального инструмента распространения означает, что вам нужно выполнить эту настройку только один раз, а затем просто установить как обычно.


Один из самых простых инструментов там называется
Linux Live Kit, и мы рассмотрим, как именно вы можете изменить
существующая установка Linux обратно в пользовательский дистрибутив.

Настройка машины

Чтобы использовать Linux Live Kit, вам нужно
установка Linux для настройки. Хотя вы можете пойти дальше и сделать это с
ваша основная установка, это не самый практичный подход, если вы хотите
создавать собственные дистрибутивы для чего-то другого, кроме вашего основного компьютера.

Итак, что мы будем делать, это установить Ubuntu
Linux на виртуальную машину VirtualBox. Это дает нам чистый, контролируемый
среда установки. Это также означает, что вы можете создавать собственные дистрибутивы Linux из
машина Windows, если хотите. Наконец, это хороший способ проверить дистрибутив
Вы только что создали, чтобы убедиться, что он работает правильно.

Мы собираемся использовать следующие компоненты:

  • Windows 10
  • VirtualBox
  • Ubuntu 18 LTS

Помните, процесс работает точно так же
если вы используете Linux Live Kit на установке Linux, которая работает как обычно на
компьютер, а не в виртуальной машине.

Установка Linux


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

Установка Linux обычным способом просто требует
что вы загружаетесь с установочного диска DVD или USB. Потому что мы используем
VirtualBox, мы просто должны создать новую виртуальную машину, а затем указать ее
в сторону образа диска Ubuntu, который мы скачали. Вот шаги, которые вам нужно
следовать.

Забота о зависимостях

Так как Linux Live Kit просто умный
коллекция скриптов, для этого нужны определенные другие программные пакеты
на вашей машине Linux. Во многих случаях они уже будут частью по умолчанию
версию Linux вы выбрали, но вам придется проверить это в любом случае.

Вы должны убедиться, что AUFS поддерживается ядром, используемым выбранным вами дистрибутивом Linux. Вы можете проверить, какие версии ядра поддерживают aufs Вот, Если выбранное вами ядро ​​не поддерживает aufs, вам нужно поискать альтернативное решение для Linux Live Kit.

Теперь нам нужно убедиться, что Squashfs
установлен в системе. Это технология сжатия, используемая Linux Live
Комплект. Чтобы установить его, вот что нужно сделать.


Теперь в терминале введите следующее:

Судо
apt-get update && sudo apt-get install squashfs-tools


Если все пойдет хорошо, пакет будет
установлены. Если у вас возникнут проблемы, вам придется обратиться к вашей версии
Документация по ОС. Решение проблем с хранилищем и установкой
вне нашей области для этого урока.

Обрезка жира

Так как ваш живой дистрибутив будет иметь все
тот же контент, что и установленный вами, вы должны удалить все файлы, которые вы не
нужно от вашей установки. Вам не нужно делать это, и хранение дешево
в эти дни, если вы используете флешку. Если вы не знаете, что безопасно удалить,
пропустите эту часть сейчас.

Пользовательская настройка

Теперь вы можете пойти дальше и внести изменения, которые вы
хочу для вашего живого дистрибутива. Устанавливать приложения, подправлять настройки и так далее. однажды
с этим покончено, мы можем перейти к самому Live Kit.

Теперь пришло время скачать нужные нам скрипты.
Вы можете найти его на GitHub, Обратите особое внимание на советы в
README здесь. Некоторые из них могут иметь отношение к вашим потребностям или ситуации. За
Например, есть конкретные инструкции, если вы хотите создать загрузочный лайв
КОМПАКТ ДИСК.

Сохранить
скачанные файлы в / tmp. В загрузке вы будете
найдите папку с именем «/ DOC /. Это заполнено дополнительной информацией readme
чтобы помочь вам в случае, если вы попали в препятствие.

Генерация вашей Live OS

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

Это переключит вас в папку TMP, где мы
распаковал файлы Live Kit.

Последнее, что нам нужно сделать, это запустить скрипт, поэтому введите:


Теперь просто подождите, пока скрипт не будет готов!

Запуск вашего Live Distro

Итак, как вы получаете ваш живой дистрибутив? Сценарий
генерирует две версии в папке / TMP. Есть образ ISO, который вы можете
записать на диск или загрузить в виртуальную машину для тестирования. Большинство людей однако
собирается позаботиться о загрузочных файлах USB. Они также находятся в папке / TMP.

Дистрибутивов Linux существует сотни, и неизвестно, сколько появится еще. Десятки компаний и тысячи программистов соревнуются в создании лучшего Linux-проекта, а между тем любой опытный пользователь может стать автором системы для домашнего ПК, не уступающей продуктам гигантов IT-индустрии.

За долгие годы работы с Linux мною было использовано огромное количество различных дистрибутивов: Mandriva, Fedora, SlackWare, Debian, Ubuntu и многие другие. Какой-то проект нравился больше, какой-то – меньше. Но во всех дистрибутивах неминуемо приходилось сталкиваться с серьезными недостатками, которые сильно затрудняли работу. Один слишком требователен к ресурсам, в другом нет поддержки всего нужного оборудования, в третьем не хватает различного ПО. Вот тогда я вспомнил известную восточную мудрость: если нужно что-то сделать хорошо, сделай это сам.

Linux from Scratch

Я не единственный, кто решил заняться построением собственной версии Linux – ОС, в которой за основу будет взята базовая часть системы и ядро, но где не будет ни единого лишнего килобайта от разработчика, то есть от вас. Большое количество Linux-дистрибутивов, не соответствующих требованиям пользователей, подтолкнуло Герарда Бикменса (Gerard Beekmans) к созданию дистрибутива, который даст возможность каждому собрать систему, где будут только необходимые ему компоненты и функции.

При этом Linux-система, используемая для сборки, может быть любой – обязательно лишь наличие компилятора и системных библиотек. Linux From Scratch трудно назвать дистрибутивом в привычном смысле этого слова – это что-то вроде вспомогательного ПО, которое вкупе с базовой частью операционной системы позволит вам создать свою, уникальную версию ОС.

Итак, если вы готовы потратить на конструирование системы целый день (а то и больше), то рекомендую скачать с сайта (2) LFS-packages-6.0, LFS-book, и продолжить читать эту статью.

Разбиение диска и создание дерева каталогов

Для лучшего понимания материала опишем весь ход процесса в общих чертах (см. рис. 1).

Рисунок 1. Схема сборки LFS

На первом этапе, с помощью уже инсталлированного дистрибутива или LiveCD, разбивается диск. На жестком диске выделяется раздел для новой системы. После чего на этом разделе нужно будет статически скомпилировать все необходимые программы и ядро системы. Далее происходит смена корневого каталога на раздел жесткого диска, отведенный под нашу новою ОС. Потребуется повторить компиляцию, но на этот раз ПО должно быть собрано динамически (отличие динамической компиляции от статической будет описано ниже). Последний этап включает в себя сборку важнейшей библиотеки glibc и конфигурацию установленной ОС. Как видите, ничего особенно сложного делать не придется.

Создаем новый раздел – в моем случае это /dev/hda5, так как раздел /dev/hda1 уже занят установленным на жесткий диск Linux Slackware. Рекомендуется предварительно сделать бэкап системы, дабы можно было ее восстановить в случае повреждения, хотя вероятность подобного близка к нулю. И тут, думаю, все понятно: выделяем нужное количество (достаточно 23 Гб) под корневой каталог, пространство, равное удвоенному объему ОЗУ – под swap-раздел, по желанию можно создать отдельные разделы для домашнего каталога (/home) и для /boot. Впрочем, излюбленный многими вариант разбиения – отвести под корневой каталог все доступное пространство минус swap, и последующее создание собственно swap – также вполне допустимо при сборке LFS. На компьютере автора и Linux Slackware, являющийся родительской ОС, и LFS, используют один жесткий диск, впрочем, установить LFS на другой винчестер тоже труда не составит.

Файловую систему выбирайте на ваше усмотрение: и с Ext3, и с ReiserFS никаких проблем под LFS не было. А вот поклонников XFS придется огорчить – попытки заставить Linux From Scratch работать с этой ФС не увенчались успехом.

Теперь монтируем раздел, отведенный под новую ОС :

$ mount /dev/hda5 /mnt/mylin

Для удобства определим переменную MYLIN:

Отлично, для дальнейшей работы лучше создать отдельного пользователя mylin, которого и назначим владельцем смонтированного раздела.

$ chown –R mylin $MYLIN

Нужно создать дерево каталогов в корне нового раздела:

$ mkdir –p bin boot dev etc home lib mnt opt root sbin usr/ var

В каталогах usr, usr/X11R6, usr/local создаем необходимую структуру : подкаталоги bin, etc, include, lib, sbin, share, src.

Затем то же самое проделаем для каталогов /var и /opt будущей системы:

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

$ ./configure –-enable-static-link --prefix=$MYLIN/stat

По такой же схеме собираем остальные необходимые пакеты : binutils, bzip2, textutils, texinfo, tar, sh-utils, gcc, grep, gzip, gawk, diffutils, fileutils, make, patch, sed, и , собственно , linux-kernel.

Да, при компиляции ядра не забываем, что для старых версий ядер (2.2.x-2.4.x) нужно использовать gcc 2.95, а для текущей версии 2.6.x рекомендуется применить gcc 3.x, дабы не возникло проблем.

Не забываем заглядывать в соответствующие разделы LFS-book, там сказано об этом и многих других нюансах. В целом же компиляция ядра в LFS не отличается от подобной процедуры, проводимой при использовании установленного на HDD дистрибутива. Разархивируем исходники ядра в $MYLIN/usr/src/linux-2.6.xx, после чего конфигурируем, запуская:

Процесс настройки параметров ядра многократно описан в Интернете (6), вряд ли есть необходимость останавливаться на этом подробнее. Далее даем следующие команды в папке с исходными текстами Linux-kernel:

Все, по адресу $MYLIN/usr/src/linux-2.6.xx/arch/i386/boot/bzImage находится новое ядро.

Далее создаем файлы $MYLIN/etc/passwd и $MYLIN/etc/group. В первом прописываем пока единственного пользователя – root с любым паролем, а во втором группы пользователей (для начала одной группы root тоже будет достаточно).

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

$ chroot $MYLIN/usr/bin/env –i

>HOME=/root TERM=$TERM PS1=’u:w$’

>PATH=/bin: /usr/bin: /sbin: /usr/sbin: /stat/sbin

Этой командой мы указали пути к исполняемым файлам, тип терминала, интерпретатор и вид приглашения командной строки.

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

$ mount proc /proc -t proc

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

Заменяем имя пользователя root в файле login/Makefile на его uid, то есть 0, а переменную $PERL в файле malloc/Makefile следует заменить на путь к интерпретатору – /usr/bin/perl – и при конфигурировании он просто будет проигнорирован.

$ /usr/src/glibc-2.x.x/configure --prefix=/usr --enable-add-ons --libexecdir=/usr/bin &&

Завершим установку ядра :

Чтобы переместить новое ядро в каталог /boot, выполняем еще одну команду:

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

Читайте также: