Установка файла стадии из интернета
Для продолжения установки необходимо перейти в каталог, который примонтирован ранее как /mnt/gentoo. Что бы скачать из интернета нужный архив стадии, можно воспользоваться программой links. И с помощью команды linkswww.gentoo.org/main/en/mirrors.xmlвыбрать из списка зеркал, зеркало, которое находиться к вам ближе всего.
Используя links необходимо зайти в каталог releases/ на удобном для вас сайте, в нем открыть каталог, соответствующий необходимой архитектуре (например, x86/), затем каталог с версией Gentoo, и, наконец, каталог stages/. Здесь находятся все доступные архивы стадий для необходимой архитектуры (они могут располагаться в подкаталогах с названиями разновидностей архитектуры). Выбрав один из файлов стадии нужно загрузить его, нажав кнопку D. По окончании — используется Q, чтобы выйти из браузера.
При желании можно проверить целостность файла командой md5sumи сравнить загруженный файл, с MD5 контрольной суммой расположенной на зеркале.
Листинг 1.16. Проверка целостность загруженных данных
# md5sum -c stage3-x86-2006.1.tar.bz2.DIGESTS
stage3-x86-2006.1.tar.bz2: OK
Теперь необходимо распаковать загруженный файл стадии в устанавливаемую систему. Для этого используется программа tar.
Листинг 1.17. Распаковка архива стадии
# tar xvjpf stage3-*.tar.bz2
Важно использовать такие же параметры командной строки (xvjpf) Значения параметров: x–извлечение, v–подробные сообщения, что бы видеть, что происходит во время распаковки (необязательный параметр), j–декомпрессия bzip2, p–сохранение прав доступа, f – указывает на то, что распаковывается файл, а не то, что подается на стандартный ввод.
Установка дерева портэжей из интернета
На данном этапе необходимо загрузить и установиться дерево портэжей, которое содержит множество файлов, содержащих сведения для дерева портэжей о программном обеспечении, доступном для установки, имеющихся профилях и т.д.
Если необходимо, перейдите к точке монтирования системы (обычно это /mnt/gentoo).
Используя links, необходимо загрузить с удобного для вас зеркаладерево портэжей portage-latest.tar.bz2. При необходимости можно проверить целостность загруженного файла командой md5sum.
Распаковываем файл дерева портэжей в директорию /usr примонтированной системы командой tar.Важно убедиться, что используется команда для распаковки, последняя опция это большая C а не c.
Листинг 1.18. Распаковка дерева портэжей
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
Настройка параметров компиляции
Для оптимизации Gentooиспользуются несколько переменных, которые влияют на поведение портэжей. Все эти переменные можно установить как переменные среды (используя export)но это только временно. Для хранения настроек постоянно, используется файл /etc/make.conf – конфигурационный файл для портэжей.
Список и описание всех возможных переменных находиться в файле /mnt/gentoo/usr/share/portage/config/make.conf.example. Для успешной установки Gentooдостаточно установить значения только тех переменных, которые описаны ниже.
У файла make.confобычная структура: строки комментария начинаются со знака #, а в остальных строках выражениями вида ПЕРЕМЕННАЯ=”значение” определяются переменные.
CHOST
В переменной CHOST определяется, для какой архитектуры скомпилирована система. В ней уже должно быть установлено правильное значение. Нельзя изменять эту переменную, т.к. это может повредить систему. Если переменная CHOST выглядит неправильно, возможно, используется не тот архив stage3.
CFLAGS и CXXFLAGS
Переменные CFLAGS и CXXFLAGS определяют параметры оптимизации компилятора gcc для языков C и C++, соответственно. При том, что общие значения следует устанавливать здесь, максимальная производительность достигается в том случае, когда для каждой компилируемой программы устанавливаются свои собственные оптимальные параметры. Причина в том, что все программы различны [4-5].
В файле make.conf следует указывать параметры оптимизации, которые, могут повысить скорость системы в целом. Не стоит сюда помещать экспериментальные значения; излишняя оптимизация может привести к плохому поведению программ (аварийным завершениям, или, что хуже, неправильной работе).
Первый параметр — флаг -march=, где указывается название целевой архитектуры. Возможные варианты описаны в комментариях в файле make.conf.example. Следующий — флаг -O (заглавная латинская «O», а не ноль), определяющий класс оптимизации в gcc. Допустимые значения: s — оптимизация по размеру; 0 — ноль, без оптимизации; 1, 2 или 3 — все большая оптимизация по скорости (в каждый класс входят все флаги предыдущего, и некоторые дополнительные). Другой популярный флаг оптимизации — -pipe (использование для связи между различными проходами компилятора каналов вместо временных файлов). Использование -fomit-frame-pointer (не хранить в регистре указатель стекового кадра для функций, которым он не нужен) может всерьез помешать отладке программ. При определении переменных CFLAGS и CXXFLAGS, нужно объединять несколько флагов оптимизации, как в следующем примере:
Листинг 1.19. Определение переменных CFLAGS и CXXFLAGS
CFLAGS="-march=athlon-xp -pipe -O2"# для пользователей AMD64: -march=k8# для пользователей EM64T: -march=noconaCXXFLAGS="${CFLAGS}"# указывайте одинаковые значения# обеих переменныхMAKEOPTS
С помощью MAKEOPTS определяется, сколько параллельных процессов компиляции можно запускать при установке пакета. Хороший (но не всегда идеальный) вариант — значение, равное количеству процессоров в системе плюс один.
Листинг 1.20. MAKEOPTS для 4 ядерного процессора
MAKEOPTS="-j5"