Теперь, когда все пакеты, необходимые для сборки остальных
инструментов установлены в системе, пришло время войти в окружение
chroot и завершить установку временных инструментов. Эта среда также
будет использоваться для установки конечной системы. От имени
пользователя root выполните следующую
команду для входа в chroot, в которой на данный момент нет ничего,
кроме временных инструментов:
chroot "$LFS" /usr/bin/env -i \
HOME=/root \
TERM="$TERM" \
PS1='(lfs chroot) \u:\w\$ ' \
PATH=/usr/bin:/usr/sbin \
MAKEFLAGS="-j$(nproc)" \
TESTSUITEFLAGS="-j$(nproc)" \
/bin/bash --login
Если вы не хотите использовать все доступные логические ядра,
замените параметр $(nproc)
количеством логических ядер, которые вы хотите использовать для
сборки пакетов в этой и последующих главах. На наборы тестов
некоторых пакетов (в частности Autoconf, Libtool и Tar) в Глава 8
не влияет установка переменной MAKEFLAGS,
вместо этого они используют переменную среды TESTSUITEFLAGS. Мы также установили её здесь для
запуска тестов с поддержкой нескольких ядер.
Параметр -i команды
env, очистит все
переменные в среде chroot. После этого переменные HOME, TERM, PS1 и PATH будут
установлены заново. Конструкция TERM=$TERM установит переменную TERM
внутри chroot в то же значение, что и вне chroot. Эта переменная
необходима для корректной работы таких программ как vim и less. Если понадобятся другие
переменные окружения, такие как CFLAGS или
CXXFLAGS, то это подходящее место для их
установки.
С этого момента больше нет необходимости использовать переменную
LFS, поскольку вся работа будет ограничена
файловой системой LFS; команда chroot запускает оболочку Bash с
корневым каталогом (/), установленным в
$LFS.
Обратите внимание, что каталог /tools/bin не указан в переменной окружения
PATH. Это означает, что кросс-тулчейн
больше не будет использоваться.
Также обратите внимание, что в командной строке bash будет указано I have no name!. Это нормально, поскольку
файл /etc/passwd еще не создан.
Важно, чтобы все команды в оставшейся части этой главы и следующих главах выполнялись из среды chroot. Если вы покидаете эту среду по какой-либо причине (например, при перезагрузке), убедитесь, что файловые системы виртуального ядра смонтированы, как описано в Раздел 7.3.1, «Монтирование и заполнение /dev» и Раздел 7.3.2, «Монтирование виртуальных файловых систем ядра», а затем войдите в среду chroot для продолжения установки.