Базовая установка Gentoo Linux
Базовая установка операционной системы Gentoo Linux
Для начала потребуется скачать livecd
Установка и загрузка системы
Скачиваем образ диска Gentoo и загружаемся с него.
После загрузки жмакаем Enter

Начнется загрузка LiveCD

Подготовка дисков
Существует 2-е технологии построения дисков. MBR и GPT.
Первая из которых имеет 32-битные идентификаторы для начального сектора и длины разделов. И поддерживают три типа разделов: первичные (primary), расширенные (extended) и логические (logical). Первичные разделы хранят информацию о себе в самом MBR - очень маленьком кусочке пространства (обычно 512 байт) в самом начале диска. Из-за такого маленького объема, поддерживаются только четыре первичных раздела (например, от /dev/sda1 до /dev/sda4).
К сожалению каждый размер имеет ограничение в 2Tb, из-за 32-битных идентификаторов. Поэтому я буду использовать GPT.
Опишу более подробный пример здесь, еще ниже пример для “скоростной установки”.
Включаем флаг загрузки на раздел MBR
1 | fdisk /dev/sda |
1 | Welcome to fdisk (util-linux 2.24.1). |
Разработка схемы разбиения диска
| Раздел | Файловая система | Размер | Описание |
|---|---|---|---|
| /dev/sda1 | (начальный загрузчик) | 4МБ | загрузочный раздел BIOS |
| /dev/sda2 | ext2 | 512МБ | загрузочный раздел |
| /dev/sda3 | (swap) | 32000МБ | раздел подкачки |
| /dev/sda4 | ext4 | оставшаяся часть диска | корневой раздел |
Установка метки GPT
1 | #parted |
Если мы хотим, чтобы наш диск имел MBR, используйте mklabel msdos.
Создаем разделы
Для начала сообщим parted, с какой единицой измерения мы будем работать.
1 | unit mib |
Теперь создадим загрузочный раздел в 4Mb для GRUB
Для того, чтобы создать раздел в 4 Mb, сообщим parted, создать раздел от 1Мб до 5Мб
1 | (parted) mkpart primary 1 5 |
Повторим данные шаги для остальных разделов.
Создаем остальные разделы
1 | (parted) mkpart primary 5 517 |
Конец диска минус один мегабайт (обозначается “-1”)
Просмотр текущей картины разделов
1 | Model: ATA ST2000DM001-1CH1 (scsi) |
Выходим из parted командой quit
Более быстрый пример разбиения
Проверим текущее разбиение дисков
1 | parted /dev/sda |
А затем введем новую команду Parted.
Используем команду rm [номер] для удаления раздела, который нам не нужен.
Мы собираемся начать с чистого жесткого диска.
Нам понадобится загрузочный раздел, раздел подкачки swap и немного дискового пространства. Используем следующие три команды:
1 | mkpart primary ext2 0 32mb |

Соглашаемся или просто игнорируем любые дополнительные запросы.
Создаем файловые системы
Выходим из Parted с помощью команды quit.
Теперь нам надо с помощью следующих команд создать в разделах файловые системы:
1 | # mkfs.ext2 /dev/sda1 |
Вывод будет приблизительно следующий, в зависимости от созданных разделов.
Создаем файл подкачки swap
1 | mkswap /dev/sda2 |
Монтирование разделов
Прежде, чем мы продолжим, мы должны смонтировать разделы.
Сделаем это, смонтировав сначала память как /mnt/gentoo:
1 | # mount /dev/sda3 /mnt/gentoo |
Создаем внутри каталог загрузки boot:
1 | # mkdir /mnt/gentoo/boot |
Смонтируем каталог boot:
1 | # mount /dev/sda1 /mnt/gentoo/boot |
Устанавливаем время
Убедимся, что часы правильно настроены на универсальное время UTC, для этого просто введем команду date.
Если это не так, то задаем время UTC с помощью следующей команды:
1 | # date MMDDhhmmYYYY |
.. где ММ - месяц, DD - день/дата и т.д.

Подбор зеркала
Переходим в точку монтирования, которую только что создали, с помощью команды cd, а затем вводим следующую команду для того, чтобы получить список зеркал, используемых для работы с архивом stage3:
1 | # links http://www.gentoo.org/main/en/mirrors.xml |
Не забываем, что необходимо прописать настройки сети, ибо нам потребуется доступ в интернет.
1 | # links http://mirror.yandex.ru/gentoo-distfiles/releases/amd64/autobuilds/current-stage3-amd64/ |

Выбираем необходимый stage3 и скачиваем его.


Распаковываем архив
Распаковываем архив, который скачали, с помощью следующей команды:
1 | # tar xvjpf stage3-*.tar.bz2 |
Как только архив будет распакован, откроем конфигурационный файл с помощью редактора nano:
1 | # nano -w /mnt/gentoo/etc/portage/make.conf |
И затем мы сможем начать настраивать некоторые из параметров.
Задаем параметры, используемые по умолчанию
Параметры, уже указанные по умолчанию в конфигурационном файле, должны подходить для большинства систем. Мы также можем указать, сколько сразу можно параллельно выполнять процессов компиляции, добавив для этого в конце файла следующую команду:
1 | MAKEOPTS="-j[X]" |
… где X указывает количество ядер, которые у вас есть плюс один.
Сохраняем результат и выходим с помощью команды Ctrl+X.
Приблизительно конфиг будет такой:
1 | # These settings were set by the catalyst build script that automatically |
Подготавливаем среду для сборки
Все почти готово для того, чтобы начать сборку.
Запомните в среде детали настройки сети/DNS с помощью следующей команды:
1 | # cp -L /etc/resolv.conf /mnt/gentoo/etc/ |
Далее, смонтируем файловые системы /proc, а затем привяжем их к /dev и /sys с помощью следующих команд:
1 | # mount -t proc none /mnt/gentoo/proc |
Переходим в среду сборки
Среда сборки является технически новой средой Linux. Сначала нам нужно сделать некоторые изменения с тем, чтобы мы могли в нее войти - в основном это касается каталога для пользователя root, что мы делаем с помощью команды chroot:
1 | # chroot /mnt/gentoo /bin/bash |
Настройка дерева Portages
Произведем синхронизацию Portages для получения более свежих версий
1 | emerge-webrsync |
Профиль установки
Теперь с помощью задания определенного профиля сборки нам нужно выбрать, какую систему Gentoo мы будем собирать. Есть три профиля, два из которых — Desktop (настольный компьютер) и Server (сервер). Это позволит определить тип пакетов, которые мы используем. Задайте профиль с помощью следующей команды:
1 | # eselect profile set 3 |
Значение 2 соответствует настольному компьютеру; для сервера измените значение на 3
Настройка время в ядре
Список доступных часовых поясов можно узнать с помощью команды:
1 | ls /usr/share/zoneinfo |
Для Москвы, мы сделаем следующее:
1 | # cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime |
Теперь пришло время загрузить наше ядро. Во-первых, получим gentoo-sources с помощью команды:
1 | # emerge gentoo-sources |
С помощью следующей команды проверьте, чтобы на версию ядра gentoo-sources была ссылка:
1 | # ls -l /usr/src/linux |
Теперь можем начать изменять флаги ядра, введя следующую команду:
1 | # cd /usr/src/linux |
Активируем необходимые параметры ядра модули

Убеждаемся в том, что изменили только те параметры ядра, которые нам необходимы.
Активируем любые другие необходимые модули. После этого выходим из режима настройки.
Компиляция ядра
Итак, наступило время компилировать ядро.
1 | # make && make modules_install |
На это потребуется некоторое время, зависящее от количества модулей и параметров, которые мы активировали.
После того, как все будет завершено, установим ядро с помощью следующей команды:
1 | cp arch/x86/boot/bzImage /boot/kernel-[X]-gentoo |
… где X будет числом, которое будет нам указано на последнем шаге, в нашем случае 3.16.5-gentoo
Загружаем модули
Нам необходимо указать, какие модули ядра мы хотим загрузить. Чтобы узнать, какие модули доступны, используем команду:
1 | # find /lib/modules/[X]/ -type f -iname '*.o' -or -iname '*.ko' | less |
Монтирование файловой системы
Мы должны указать, как разделы, которые мы создали, будут монтироваться при загрузке. Откройте файл fstab с помощью команды:
1 | # nano -w /etc/fstab |
А потом установим следующие параметры так, чтобы файловая система у нас работала должным образом:
1 | /dev/sda1 /boot ext2 defaults,noatime 0 2 |
Примерно fstab будет выглядеть таким образом
1 | # /etc/fstab: static file system information. |
Настройка сети
После перезагрузки системы нужно настроить сеть.
Сначала перейдем в конфигурационный файл:
1 | # nano -w /etc/conf.d/net |
И добавим, например, следующее для DHCP:
1 | config_eth0="dhcp" |
Если используем статический IP-адрес, то пишем:
1 | config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" |
Сохраним файл, а затем сделаем его загружаемым с помощью команд:
1 | # cd /etc/init.d |
Настройка пользователя root
Устанавливаем пароль пользователя root с помощью стандартной команды passwd. Затем натсроем некоторые основные сервисы, отредактировав для этого следующий файл:
1 | # nano -w /etc/rc.conf |
И настройку аппаратных часов:
1 | # nano -w /etc/conf.d/hwclock |
Если это не время UTC, то добавляем в файл параметр clock="local"
Настраиваем локаль
Укажем в системе свои региональные настройки (локаль).
Нам нужно будет отредактировать следующий файл:
1 | nano -w /etc/locale.gen |
.. и добавим
1 | ru_RU.UTF-8 UTF-8 |
Сохраняем, выходим, а затем набираем locale-gen.
Устанавливаем эту локаль в /etc/env.d/02locale как используемую по умолчанию:
1 | LANG="ru_RU.UTF-8" |
А затем перезагрузим среду с помощью следующей команды:
1 | # env-update && source /etc/profile |
Начальная загрузка
Необходимо установить начальный загрузчик GRUB с тем, чтобы мы могли после перезагрузки загрузиться в систему Gentoo. Откомпилируем его с помощью команды:
1 | emerge grub |
Теперь создадим файл grub.conf и приготовимся добавить необходимые настройки.
Код для GRUB
1 | default 0 |
Убедимся, что используем правильный номер ядра. (вместо [version])
Сохраняем изменения и выходим.
Прежде всего, установим необходимые файлы GRUB2 в /boot/grub.
Если предположить, что первый диск (тот, откуда система загружается)
называется /dev/sda, то следующая команда сделает это за нас:
1 | grub2-install /dev/sda |
Для генерации финальной конфигурации GRUB2, выполните команду grub2-mkconfig
1 | # grub2-mkconfig -o /boot/grub/grub.cfg |
В выводе команды должно быть указано, что найдено хотя бы одно ядро
Linux так как оно нужно для загрузки системы. Если вы используетеinitramfs, либо использовали genkernel для компиляции ядра, также
должен определиться правильный образ initrd. Если этого не
произошло, перейдите в /boot и проверьте его содержимое
с помощью команды ls.
Если файлы и в самом деле отсутствуют, вернитесь к инструкциям
по конфигурации и установке ядра!!!