Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Руководство по сборке Gentoo

Оригинал: Build Gentoo tutorial
Автор: Rob Zwetsloot
Дата публикации: 16 августа, 2014
Перевод: Н.Ромоданов
Дата перевода: сентябрь 2014 г.

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

Тем не менее, если у вас есть система Gentoo, то она может быть очень полезной. Как вы сами почувствуете, сборка пакетов из исходного кода и компиляции ядра похожа то, что вы обычно делаете в Linux, и в результате вы сможете сделать работу вашей системы намного быстрее, чем работа некоторых наиболее популярных заранее сконфигурированных дистрибутивов.

В данной статье мы расскажем о создании образа и о первых шагах настройки. Хотя мы будем опираться на использование минимального установочного диска и загрузке архива из сети интернет, есть также более полный образ DVD, которым вы можете пользоваться с тем, чтобы еще более упростить настройку. Большинство шагов настройки будут аналогичными; но, если вы застрянете, на сайте Gentoo вы найдете дополнительные ресурсы и руководства, которые помогут вам преодолеть любые различия.

Настраивайте ядро так, чтобы в вашей системе не было ненужных возможностей

Ресурсы

Живой диск Gentoo

Пошаговая установка

Шаг 01: Установка и загрузка системы

Получите минимальный образ живого диска Gentoo и запишите его на компакт-диск удобным вам способом. Перезагрузите систему и загрузитесь с CD/DVD, а затем на загрузочном экране нажмите клавишу Enter. Вам будет задан вопрос о том, хотите ли вы изменить раскладку клавиатуры, либо будет считаться, что вы хотите работать в командной строке живой системы.

Шаг 02: Разбиение диска на разделы

Теперь нам нужно настроить диск таким образом, чтобы мы могли выполнить на него установку системы. Мы будем использовать приложение Parted. Сначала проверьте текущее разбиение диска с помощью следующей команды:

# parted /dev/sda

А затем введите новую команду Parted. Используйте команду rm [номер] для удаления раздела, который вам не нужен.

Шаг 03:

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

mkpart primary ext2 0 32mb
mkpart primary linux-swap 32mb [32 + RAM]mb
mkpart primary ext4 [32 + RAM]mb -1s

Соглашайтесь или просто игнорируйте любые дополнительные запросы. Параметр в конце третьей команды указывает приложению Parted заполнить единицами оставшуюся часть диска.

Шаг 04: Создаем файловые системы

Выйдите из приложения Parted с помощью команды quit. Теперь вам надо с помощью следующих команд создать в разделах файловые системы:

# mkfs.ext2 /dev/sda1
# mkfs.ext4 /dev/sda3

Создайте раздел подкачки swap:

# mkswap /dev/sda2

Шаг 05: Монтирование разделов

Прежде, чем мы продолжим, мы должны смонтировать разделы. Сделайте это, смонтировав сначала память как /mnt/gentoo:

# mount /dev/sda3 /mnt/gentoo

Создайте внутри каталог загрузки boot:

# mkdir /mnt/gentoo/boot

Смонтируйте каталог boot:

# mount /dev/sda1 /mnt/gentoo/boot

Шаг 06: О времени

Убедитесь, что часы правильно настроены на универсальное время UTC, для этого просто введите команду date. Если это не так, то задайте время UTC с помощью следующей команды:

# date MMDDhhmmYYYY

.. где ММ - месяц, DD - день/дата и т.д.

Шаг 07: Идем дальше

Перейдите в точку монтирования, которую вы только что создали, с помощью команды cd, а затем введите следующую команду для того, чтобы получить список зеркал, используемых для работы с архивом stage3:

# links http://www.gentoo.org/main/en/mirrors.xml

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

Шаг 08: Распаковываем архив

Распакуйте архив, который вы скачали, с помощью следующей команды:

# tar xvjpf stage3-*.tar.bz2

Как только архив будет распакован, откройте конфигурационный файл с помощью редактора nano:

# nano -w /mnt/gentoo/etc/portage/make.conf

И затем мы сможем начать конфигурировать некоторые из параметров.

Шаг 09: Задаем параметры, используемые по умолчанию

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

MAKEOPTS="-j[X]"

... где X указывает количество ядер, которые у вас есть плюс один. Сохраните результат и выйдите с помощью команды Ctrl+X.

Шаг 10: Подготавливаем среду сборки

Мы почти готовы начать сборку. Запомните в среде детали настройки сети/DNS с помощью следующей команды:

# cp -L /etc/resolv.conf /mnt/gentoo/etc/

Далее, смонтируйте файловые системы /proc, а затем привяжите их к /dev и /sys с помощью следующих команд:

# mount -t proc none /mnt/gentoo/proc
# mount --rbind /sys /mnt/gentoo/sys
# mount --rbind /dev /mnt/gentoo/dev

Шаг 11: Переходим в среду сборки

Среда сборки является технически новой средой Linux. Сначала нам нужно сделать некоторые изменения с тем, чтобы мы могли в нее войти - в основном это касается каталога для пользователя root, что мы делаем с помощью команды chroot:

# chroot /mnt/gentoo /bin/bash
# source /etc/profile
# export PS1="(chroot) $PS1"

Шаг 12: Настройка дерева портежей

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

# emerge-webrsync

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

# emerge --sync

Шаг 13: Профиль установки

Теперь с помощью задания определенного профиля сборки вам нужно выбрать, какую систему Gentoo вы будете собирать. Есть три профиля, два из которых для нас будут интересны — Desktop (настольный компьютер) и Server (сервер). Это позволит определить тип пакетов, которые мы используем. Задайте профиль с помощью следующей команды:

# eselect profile set 2

Значение 2 соответствует настольному компьютеру; для сервера измените значение на 3.

Шаг 14: USE me

Переменная USE в файле make.conf является мощным инструментом настройки компиляции, поскольку только с ее помощью устанавливается пакет поддержки, который вам необходим. Полный список флагов можно найти в сети или в вашей системе с помощью команды:

# less /usr/portage/profiles/use.desc

Мы собираем нашу систему таким образом, чтобы были установлены файлы для GNOME и GTK, а также была добавлена поддержка ALSA и DVD. Запустите редактирование файла с помощью команды:

# nano -w /etc/portage/make.conf

# nano -w /etc/portage/make.conf

USE="gtk gnome -qt4 -kde dvd alsa"

Шаг 15: Время в ядре

Список доступных часовых поясов можно узнать с помощью команды:

# ls /usr/share/zoneinfo

Для Лондона, мы сделаем следующее:

# cp /usr/share/zoneinfo/Europe/London /etc/localtime
# echo "Europe/London" > /etc/timezone

Теперь пришло время загрузить наше ядро. Во-первых, получим gentoo-sources с помощью команды:

# emerge gentoo-sources

С помощью следующей команды проверьте, чтобы на версию ядра gentoo-sources была ссылка:

# ls -l /usr/src/linux

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

# cd /usr/src/linux
# make menuconfig

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

Шаг 16: Компиляция ядра

Наступил момент истины — время компилировать ваше ядро. Сделайте это следующим образом:

# make && make modules_install

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

# cp arch/x86/boot/bzImage /boot/kernel-[X]-gentoo

... где X будет числом, которое будет нам указано на последнем шаге

Шаг 17: Загружаем модули

Вам нужно указать, какие модули ядра модули вы хотите загрузить. Чтобы узнать, какие модули доступны, используйте команду:

# find /lib/modules/[X]/ -type f -iname '*.o' -or -iname '*.ko' | less

... снова Х представляет собой номер ядра. Затем в данный файл необходимо добавить модули, которые вам нужны:

# nano -w /etc/conf.d/modules

Шаг 18: Монтирование файловой системы

Мы должны указать, как разделы, которые мы создали, будут монтироваться при загрузке. Откройте файл fstab с помощью команды:

# nano -w /etc/fstab

А потом установите следующие параметры так, чтобы файловая система у нас работала должным образом:

/dev/sda1   /boot  ext2   defaults,noatime   0 2
/dev/sda2   none   swap   sw                 0 0
/dev/sda3   /      ext4   noatime            0 1

Шаг 19: Настройка сети

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

# nano -w /etc/conf.d/net

И добавьте, например, следующее:

config_eth0="dhcp"

Если вы используете статические адреса IP, вы можете добавить их вместо DHCP. Сохраните файл, а затем сделать его загружаемым с помощью команд:

# cd /etc/init.d
# ln -s net.lo net.eth0
# rc-update add net.eth0 default

Шаг 20: Настройка пользователя root

Установите пароль пользователя root с помощью стандартной команды passwd. Затем настройте некоторые основные сервисы, отредактировав для этого следующий файл:

# nano -w /etc/rc.conf

Выберите раскладку клавиатуры:

# nano -w /etc/conf.d/keymaps

И настройку аппаратных часов:

# nano -w /etc/conf.d/hwclock

Если это не время UTC, то добавьте в файлт параметр clock="local".

Шаг 21: Настраиваем локаль

Укажите в системе свои региональные настройки (локаль). Вам нужно будет отредактировать следующий файл:

# nano -w /etc/locale.gen

... и добавить (речь идет об английской локали для Лондона — прим.пер.):

en_GB ISO-8859-1
en_GB.UTF-8 UTF-8

Сохраните, выйдите, а затем наберите locale-gen. Установите эту локаль в /etc/env.d/02locale как используемую по умолчанию:

LANG="en_GB.UTF-8"
LC_COLLATE="C"

А затем перезагрузите среду с помощью следующей команды:

# env-update && source /etc/profile

Шаг 22: Начальная загрузка

Мы должны установить начальный загрузчик GRUB с тем, чтобы мы могли после перезагрузки загрузиться в систему Gentoo. Откомпилируйте его с помощью команды:

# emerge grub

Теперь создайте файл grub.conf и приготовьтесь добавить необходимые настройки.

Шаг 23: Код для GRUB

default 0
timeout 15
title Gentoo Linux
root (hd0,0)
kernel /boot/kernel-3.[version]-gentoo
root=/dev/sda3

title Gentoo Linux (rescue)
root (hd0,0)
kernel /boot/kernel-[version]-gentoo
root=/dev/sda3 init=/bin/bb

Убедитесь, что используете правильный номер ядра. Сохраните изменения и выйдите.

Шаг 24: Настройка GRUB и перезагрузка

Создайте точку монтирования mtab для установки GRUB следующим образом:

# grep -v rootfs /proc/mounts > /etc/mtab

И, наконец, установите его с помощью команды:

# grub-install --no-floppy /dev/sda

Для перезагрузки в вашу новую систему с помощью следующих команд выйдите из среды временного окружения и перезагрузитесь:

# exit
cdimage ~# cd
cdimage ~# umount -l /mnt/gentoo/dev{/shm,/pts,}
cdimage ~# umount -l /mnt/gentoo{/boot,/proc,}
cdimage ~# reboot