software:linux_server:lfs:chapter06
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| software:linux_server:lfs:chapter06 [2024/07/02 09:55] – [6.13. Patch-2.7.6] vladpolskiy | software:linux_server:lfs:chapter06 [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ======6. Кросс-Компиляция временных инструментов====== | ||
| - | Содержание | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | * [[software: | ||
| - | |||
| - | =====6.1. Введение===== | ||
| - | В этой главе рассказывается, | ||
| - | |||
| - | Использование утилит станет возможным в следующей главе после входа в среду «chroot». Все пакеты из этой главы, должны быть собраны до того, как мы это сделаем. Поэтому пока наша система зависима от хост-системы. | ||
| - | |||
| - | Еще раз напомним, | ||
| - | |||
| - | =====6.2. M4-1.4.19===== | ||
| - | |||
| - | |Пакет M4 содержит макропроцессор.|| | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.2.1. Установка пакета M4==== | ||
| - | |||
| - | Подготовьте пакет M4 к компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --host=$LFS_TGT \ | ||
| - | --build=$(build-aux/ | ||
| - | </ | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | |||
| - | =====6.3. Ncurses-6.4-20230520===== | ||
| - | |||
| - | |Пакет Ncurses содержит библиотеки для независимой от терминала обработки ввода/ | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.3.1. Установка пакета Ncurses==== | ||
| - | |||
| - | Во-первых, | ||
| - | |||
| - | < | ||
| - | sed -i s/mawk// configure | ||
| - | </ | ||
| - | |||
| - | Затем выполните следующие команды, | ||
| - | |||
| - | < | ||
| - | mkdir build | ||
| - | pushd build | ||
| - | ../ | ||
| - | make -C include | ||
| - | make -C progs tic | ||
| - | popd | ||
| - | </ | ||
| - | |||
| - | Подготовьте Ncurses к компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --host=$LFS_TGT | ||
| - | --build=$(./ | ||
| - | --mandir=/ | ||
| - | --with-manpage-format=normal \ | ||
| - | --with-shared | ||
| - | --without-normal | ||
| - | --with-cxx-shared | ||
| - | --without-debug | ||
| - | --without-ada | ||
| - | --disable-stripping | ||
| - | --enable-widec | ||
| - | </ | ||
| - | |||
| - | ===Значение новых параметров настройки: | ||
| - | |||
| - | * **--with-manpage-format=normal** | ||
| - | Этот аргумент предотвращает установку Ncurses сжатых страниц руководства, | ||
| - | |||
| - | * **--with-shared** | ||
| - | Этот аргумент позволяет Ncurses собирать и устанавливать разделяемые библиотеки C. | ||
| - | |||
| - | * **--without-normal** | ||
| - | Этот аргумент предотвращает сборку и установку статических библиотек C. | ||
| - | |||
| - | * **--without-debug** | ||
| - | Этот аргумент предотвращает сборку и установку отладочных библиотек. | ||
| - | |||
| - | * **--with-cxx-shared** | ||
| - | Это аргумент позволяет Ncurses собирать и устанавливать общие привязки C++. А также предотвращает сборку и установку статических привязок C++. | ||
| - | |||
| - | * **--without-ada** | ||
| - | Этот аргумент гарантирует, | ||
| - | |||
| - | * **--disable-stripping** | ||
| - | Этот аргумент не позволяет системе сборки использовать программу strip с хоста. Использование инструментов хоста в кросс-компилируемой программе может привести к сбою. | ||
| - | |||
| - | * **--enable-widec** | ||
| - | Этот аргумент указывает, | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS TIC_PATH=$(pwd)/ | ||
| - | ln -sv libncursesw.so $LFS/ | ||
| - | sed -e ' | ||
| - | -i $LFS/ | ||
| - | </ | ||
| - | |||
| - | ===Значение параметров установки: | ||
| - | |||
| - | * **TIC_PATH=$(pwd)/ | ||
| - | Нам нужно передать путь до только что собранной программы tic, которая работает на сборочной машине, | ||
| - | |||
| - | * **ln -sv libncursesw.so $LFS/ | ||
| - | Библиотека libncurses.so необходима для нескольких пакетов, | ||
| - | |||
| - | * **sed -e ' | ||
| - | Заголовочный файл curses.h содержит определения различных структур данных Ncurses. С разными определениями макросов препроцессора могут использоваться два разных набора определений структуры данных: | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | =====6.4. Bash-5.2.21===== | ||
| - | |||
| - | |Пакет Bash содержит Bourne-Again Shell.|| | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.4.1. Установка пакета Bash==== | ||
| - | |||
| - | Подготовьте Bash к компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --build=$(sh support/ | ||
| - | --host=$LFS_TGT | ||
| - | --without-bash-malloc | ||
| - | </ | ||
| - | |||
| - | ===Значение параметров настройки: | ||
| - | |||
| - | * **--without-bash-malloc** | ||
| - | Этот параметр отключает использование функции распределения памяти (malloc) Bash, которая, | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Создайте символическую ссылку для программ, | ||
| - | |||
| - | < | ||
| - | ln -sv bash $LFS/bin/sh | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | =====6.5. Coreutils-9.4===== | ||
| - | |||
| - | |Пакет Coreutils содержит основные утилиты, | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.5.1. Установка пакета Coreutils==== | ||
| - | |||
| - | Подготовьте Coreutils к компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --host=$LFS_TGT | ||
| - | --build=$(build-aux/ | ||
| - | --enable-install-program=hostname \ | ||
| - | --enable-no-install-program=kill, | ||
| - | </ | ||
| - | |||
| - | ===Значение параметров настройки: | ||
| - | |||
| - | * **--enable-install-program=hostname** | ||
| - | Этот параметр позволяет создать и установить двоичный файл hostname – по умолчанию он отключен, | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Переместите программы в их конечное местоположение. Хотя во временной среде в этом нет необходимости, | ||
| - | |||
| - | < | ||
| - | mv -v $LFS/ | ||
| - | mkdir -pv $LFS/ | ||
| - | mv -v $LFS/ | ||
| - | sed -i ' | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | =====6.6. Diffutils-3.10===== | ||
| - | |||
| - | |Пакет Diffutils содержит программы, | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.6.1. Установка пакета Diffutils==== | ||
| - | |||
| - | Подготовьте Diffutils для компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --host=$LFS_TGT \ | ||
| - | --build=$(./ | ||
| - | </ | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | |||
| - | |||
| - | =====6.7. File-5.45===== | ||
| - | |||
| - | |Пакет File содержит утилиту для определения типа указанного файла или файлов.|| | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.7.1. Установка пакета File==== | ||
| - | |||
| - | Команда file на хосте сборки должна быть той же версии, | ||
| - | |||
| - | < | ||
| - | mkdir build | ||
| - | pushd build | ||
| - | ../ | ||
| - | | ||
| - | | ||
| - | | ||
| - | make | ||
| - | popd | ||
| - | </ | ||
| - | |||
| - | ===Значение параметров настройки: | ||
| - | |||
| - | * **--disable-** | ||
| - | Сценарий конфигурации пытается использовать некоторые пакеты из основного дистрибутива, | ||
| - | |||
| - | Подготовьте файл для компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | </ | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make FILE_COMPILE=$(pwd)/ | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Удалите архивный файл libtool, поскольку он потенциально опасен при кросс-компиляции: | ||
| - | |||
| - | < | ||
| - | rm -v $LFS/ | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | =====6.8. Findutils-4.9.0===== | ||
| - | |||
| - | |Пакет Findutils содержит программы для поиска файлов. Эти программы предназначены для поиска по всем файлам в дереве каталогов, | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.6.1. Установка пакета Diffutils==== | ||
| - | |||
| - | Подготовьте Diffutils для компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --host=$LFS_TGT \ | ||
| - | --build=$(./ | ||
| - | </ | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | |||
| - | ====6.8.1. Установка пакета Findutils==== | ||
| - | |||
| - | Подготовьте Findutils к компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --localstatedir=/ | ||
| - | --host=$LFS_TGT | ||
| - | --build=$(build-aux/ | ||
| - | </ | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | |||
| - | |||
| - | =====6.9. Gawk-5.3.0===== | ||
| - | |||
| - | |Пакет Gawk содержит программы для работы с текстовыми файлами.|| | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.9.1. Установка пакета Gawk==== | ||
| - | |||
| - | Во-первых, | ||
| - | |||
| - | < | ||
| - | sed -i ' | ||
| - | </ | ||
| - | |||
| - | |||
| - | Подготовьте Gawk к компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --host=$LFS_TGT \ | ||
| - | --build=$(build-aux/ | ||
| - | </ | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | |||
| - | =====6.10. Grep-3.11===== | ||
| - | |||
| - | |Пакет Grep содержит программы для поиска по содержимому файлов.|| | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.10.1. Установка пакета Grep==== | ||
| - | |||
| - | Подготовьте Grep к компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --host=$LFS_TGT \ | ||
| - | --build=$(./ | ||
| - | </ | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | |||
| - | =====6.11. Gzip-1.13===== | ||
| - | |||
| - | |Пакет Gzip содержит программы для сжатия и распаковки файлов.|| | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.11.1. Установка пакета Gzip==== | ||
| - | |||
| - | Подготовьте Gzip к компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | </ | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | |||
| - | =====6.12. Make-4.4.1===== | ||
| - | |||
| - | |Пакет Make содержит программу, | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.12.1. Установка пакета Make==== | ||
| - | |||
| - | Подготовьте Make к компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --without-guile \ | ||
| - | --host=$LFS_TGT \ | ||
| - | --build=$(build-aux/ | ||
| - | </ | ||
| - | |||
| - | ===Значение новой опции настройки: | ||
| - | |||
| - | * **--without-guile** | ||
| - | Несмотря на то, что мы выполняем кросс-компиляцию, | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | |||
| - | =====6.13. Patch-2.7.6===== | ||
| - | |||
| - | |Пакет Patch содержит программу для изменения или создания файлов путём наложение «патча», | ||
| - | |Приблизительное время сборки: | ||
| - | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.13.1. Установка пакета Patch==== | ||
| - | |||
| - | Подготовьте Patch к компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --host=$LFS_TGT \ | ||
| - | --build=$(build-aux/ | ||
| - | </ | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| - | |||
| - | =====6.14. Sed-4.9===== | ||
| - | =====6.15. Tar-1.35===== | ||
| - | =====6.16. Xz-5.4.6===== | ||
| - | =====6.17. Binutils-2.42 - Проход 2===== | ||
| - | =====6.18. GCC-13.2.0 - Проход 2===== | ||
| - | |||
| - | |||
| - | |||
| - | |||
software/linux_server/lfs/chapter06.1719903351.txt.gz · Последнее изменение: — vladpolskiy
