Теперь, когда все пакеты, необходимые для сборки остальных
инструментов установлены в системе, пришло время войти в окружение
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 для продолжения установки.