software:linux_server:lfs-example:chapter06
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| software:linux_server:lfs-example:chapter06 [2024/07/15 10:15] – [6.7.1. Установка пакета File] vladpolskiy | software:linux_server:lfs-example:chapter06 [2024/07/15 14:18] (текущий) – [6.18.1. Установка пакета GCC] vladpolskiy | ||
|---|---|---|---|
| Строка 418: | Строка 418: | ||
| |Приблизительное время сборки: | |Приблизительное время сборки: | ||
| |Требуемое дисковое пространство: | |Требуемое дисковое пространство: | ||
| - | |||
| - | ====6.6.1. Установка пакета Diffutils==== | ||
| - | |||
| - | Подготовьте Diffutils для компиляции: | ||
| - | |||
| - | < | ||
| - | ./configure --prefix=/ | ||
| - | --host=$LFS_TGT \ | ||
| - | --build=$(./ | ||
| - | </ | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| - | |||
| - | Подробная информация об этом пакете находится в [[software: | ||
| ====6.8.1. Установка пакета Findutils==== | ====6.8.1. Установка пакета Findutils==== | ||
| - | + | Разорхивируем, | |
| - | Подготовьте Findutils к компиляции: | + | |
| < | < | ||
| - | ./configure --prefix=/ | + | tar -xvf findutils-4.9.0.tar.xz && cd findutils-4.9.0 && |
| + | time { ./configure --prefix=/ | ||
| --localstatedir=/ | --localstatedir=/ | ||
| --host=$LFS_TGT | --host=$LFS_TGT | ||
| - | --build=$(build-aux/ | + | --build=$(build-aux/ |
| + | cd .. && | ||
| + | rm -Rf findutils-4.9.0 | ||
| </ | </ | ||
| - | + | {{: | |
| - | Скомпилируйте пакет: | + | Результат |
| - | + | {{:software: | |
| - | < | + | |
| - | make | + | |
| - | </ | + | |
| - | + | ||
| - | Установите пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make DESTDIR=$LFS install | + | |
| - | </ | + | |
| Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
| Строка 476: | Строка 443: | ||
| ====6.9.1. Установка пакета Gawk==== | ====6.9.1. Установка пакета Gawk==== | ||
| - | + | Разорхивируем и убедимся, что некоторые ненужные файлы не будут установлены: | |
| - | Во-первых, убедитесь, что некоторые ненужные файлы не будут установлены: | + | |
| < | < | ||
| + | tar -xvf gawk-5.3.0.tar.xz && cd gawk-5.3.0 && | ||
| sed -i ' | sed -i ' | ||
| </ | </ | ||
| - | + | {{: | |
| - | + | Результат выполнения команды | |
| - | Подготовьте Gawk к компиляции: | + | {{: |
| + | подготовим файл для | ||
| < | < | ||
| - | ./configure --prefix=/ | + | time { ./configure --prefix=/ |
| - | --host=$LFS_TGT \ | + | --host=$LFS_TGT |
| - | --build=$(build-aux/ | + | --build=$(build-aux/ |
| - | </ | + | cd .. && |
| - | + | rm -Rf gawk-5.3.0 | |
| - | Скомпилируйте пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make | + | |
| - | </ | + | |
| - | + | ||
| - | Установите пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make DESTDIR=$LFS install | + | |
| </ | </ | ||
| + | {{: | ||
| + | Результат выполнения команд | ||
| + | {{: | ||
| Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
| Строка 514: | Строка 473: | ||
| ====6.10.1. Установка пакета Grep==== | ====6.10.1. Установка пакета Grep==== | ||
| - | Подготовьте Grep к компиляции: | + | Разорхивируем, |
| < | < | ||
| - | ./configure --prefix=/ | + | tar -xvf grep-3.11.tar.xz && cd grep-3.11 && |
| + | time { ./configure --prefix=/ | ||
| --host=$LFS_TGT \ | --host=$LFS_TGT \ | ||
| - | --build=$(./ | + | --build=$(./ |
| - | </ | + | cd .. && |
| - | + | rm -Rf grep-3.11 | |
| - | Скомпилируйте пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make | + | |
| - | </ | + | |
| - | + | ||
| - | Установите пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make DESTDIR=$LFS install | + | |
| </ | </ | ||
| + | {{: | ||
| + | Результат выполнения команд | ||
| + | {{: | ||
| Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
| Строка 543: | Строка 495: | ||
| ====6.11.1. Установка пакета Gzip==== | ====6.11.1. Установка пакета Gzip==== | ||
| - | + | Разорхивируем, | |
| - | Подготовьте Gzip к компиляции: | + | |
| < | < | ||
| - | ./configure --prefix=/ | + | tar -xvf gzip-1.13.tar.xz && cd gzip-1.13 && |
| - | </ | + | time { ./configure --prefix=/ |
| - | + | cd .. && | |
| - | Скомпилируйте пакет: | + | rm -Rf gzip-1.13 |
| - | + | ||
| - | < | + | |
| - | make | + | |
| - | </ | + | |
| - | + | ||
| - | Установите пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make DESTDIR=$LFS install | + | |
| </ | </ | ||
| + | {{: | ||
| + | Результат выполнения команд | ||
| + | {{: | ||
| Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
| Строка 571: | Строка 515: | ||
| ====6.12.1. Установка пакета Make==== | ====6.12.1. Установка пакета Make==== | ||
| - | + | Разорхивируем, | |
| - | Подготовьте Make к компиляции: | + | |
| < | < | ||
| - | ./configure --prefix=/ | + | tar -xvf make-4.4.1.tar.gz && cd make-4.4.1 && |
| + | time { ./configure --prefix=/ | ||
| --without-guile \ | --without-guile \ | ||
| --host=$LFS_TGT \ | --host=$LFS_TGT \ | ||
| - | --build=$(build-aux/ | + | --build=$(build-aux/ |
| + | cd .. && | ||
| + | rm -Rf make-4.4.1 | ||
| </ | </ | ||
| + | {{: | ||
| + | Результат выполнения команд | ||
| + | {{: | ||
| ===Значение новой опции настройки: | ===Значение новой опции настройки: | ||
| * **--without-guile** | * **--without-guile** | ||
| Несмотря на то, что мы выполняем кросс-компиляцию, | Несмотря на то, что мы выполняем кросс-компиляцию, | ||
| - | |||
| - | Скомпилируйте пакет: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | </ | ||
| - | |||
| - | Установите пакет: | ||
| - | |||
| - | < | ||
| - | make DESTDIR=$LFS install | ||
| - | </ | ||
| Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
| Строка 608: | Строка 543: | ||
| ====6.13.1. Установка пакета Patch==== | ====6.13.1. Установка пакета Patch==== | ||
| - | Подготовьте Patch к компиляции: | + | Разорхивируем, |
| < | < | ||
| - | ./configure --prefix=/ | + | tar -xvf patch-2.7.6.tar.xz && cd patch-2.7.6 && |
| + | time { ./configure --prefix=/ | ||
| --host=$LFS_TGT \ | --host=$LFS_TGT \ | ||
| - | --build=$(build-aux/ | + | --build=$(build-aux/ |
| - | </ | + | cd .. && |
| - | + | rm -Rf patch-2.7.6 | |
| - | Скомпилируйте пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make | + | |
| - | </ | + | |
| - | + | ||
| - | Установите пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make DESTDIR=$LFS install | + | |
| </ | </ | ||
| + | {{: | ||
| + | Результат выполнения команд | ||
| + | {{: | ||
| Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
| Строка 638: | Строка 566: | ||
| ====6.14.1. Установка пакета Sed==== | ====6.14.1. Установка пакета Sed==== | ||
| - | Подготовьте Sed к компиляции: | + | Разорхивируем, |
| < | < | ||
| - | ./configure --prefix=/ | + | tar -xvf sed-4.9.tar.xz && cd sed-4.9 && |
| + | time { ./configure --prefix=/ | ||
| --host=$LFS_TGT \ | --host=$LFS_TGT \ | ||
| - | --build=$(./ | + | --build=$(./ |
| - | </ | + | cd .. && |
| - | + | rm -Rf sed-4.9 | |
| - | Скомпилируйте пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make | + | |
| - | </ | + | |
| - | + | ||
| - | Установите пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make DESTDIR=$LFS install | + | |
| </ | </ | ||
| + | {{: | ||
| + | Результат выполнения команд | ||
| + | {{: | ||
| Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
| Строка 667: | Строка 588: | ||
| ====6.15.1. Установка пакета Tar==== | ====6.15.1. Установка пакета Tar==== | ||
| - | Подготовьте Tar к компиляции: | + | Разорхивируем, |
| < | < | ||
| - | ./configure --prefix=/ | + | tar -xvf tar-1.35.tar.xz && cd tar-1.35 && |
| + | time { ./configure --prefix=/ | ||
| --host=$LFS_TGT | --host=$LFS_TGT | ||
| - | --build=$(build-aux/ | + | --build=$(build-aux/ |
| - | </ | + | cd .. && |
| - | + | rm -Rf tar-1.35 | |
| - | Скомпилируйте пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make | + | |
| - | </ | + | |
| - | + | ||
| - | Установите пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make DESTDIR=$LFS install | + | |
| </ | </ | ||
| + | {{: | ||
| + | Результат выполнения команд | ||
| + | {{: | ||
| Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
| Строка 695: | Строка 609: | ||
| ====6.16.1. Установка пакета Xz==== | ====6.16.1. Установка пакета Xz==== | ||
| + | Запустим скрипт который сделает за нас всю работу по установке пакета xz | ||
| - | Подготовьте Xz к компиляции: | + | < |
| + | # | ||
| + | SRC_FILE=xz-5.4.6.tar.xz | ||
| + | SRC_FOLDER=xz-5.4.6 | ||
| + | |||
| + | tar -xvf $SRC_FILE | ||
| + | cd $SRC_FOLDER | ||
| - | < | + | time { |
| ./configure --prefix=/ | ./configure --prefix=/ | ||
| --host=$LFS_TGT | --host=$LFS_TGT | ||
| --build=$(build-aux/ | --build=$(build-aux/ | ||
| --disable-static | --disable-static | ||
| - | --docdir=/ | + | --docdir=/ |
| - | </code> | + | time make && |
| + | make DESTDIR=$LFS install; } && | ||
| + | rm -v $LFS/ | ||
| - | Скомпилируйте пакет: | + | cd .. && |
| + | rm -rf $SRC_FOLDER && | ||
| - | < | + | echo Deleting $SRC_FOLDER |
| - | make | + | echo Done with $SRC_FILE |
| </ | </ | ||
| + | < | ||
| + | < | ||
| + | # | ||
| + | #Имя ахива для распаковки | ||
| + | SRC_FILE=xz-5.4.6.tar.xz | ||
| + | #Имя папки после распаковки | ||
| + | SRC_FOLDER=xz-5.4.6 | ||
| - | Установите | + | tar xvf $SRC_FILE |
| + | # Переход в папку xz-5.4.6 | ||
| + | cd $SRC_FOLDER | ||
| - | < | + | # Настройка параметров компеляции |
| - | make DESTDIR=$LFS install | + | |
| - | </ | + | |
| - | Удалите архивный файл libtool, поскольку он потенциально опасен при кросс-компиляции: | + | ./configure --prefix=/ |
| + | | ||
| + | --build=$(build-aux/ | ||
| + | --disable-static | ||
| + | --docdir=/ | ||
| + | #компиляция | ||
| + | time make | ||
| - | < | + | # |
| + | make DESTDIR=$LFS install | ||
| + | # | ||
| rm -v $LFS/ | rm -v $LFS/ | ||
| - | </code> | + | |
| + | # | ||
| + | cd .. | ||
| + | # | ||
| + | rm -rf $SRC_FOLDER | ||
| + | echo Удалена папка $SRC_FOLDER | ||
| + | echo Исполнено $SRC_FILE | ||
| + | </details> | ||
| + | {{: | ||
| + | Результат работы скрипта | ||
| + | {{: | ||
| Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
| Строка 734: | Строка 683: | ||
| Система сборки Binutils использует содержащуюся в пакете копию libtool для линковки с внутренними статическими библиотеками, | Система сборки Binutils использует содержащуюся в пакете копию libtool для линковки с внутренними статическими библиотеками, | ||
| + | < | ||
| + | "sed ' | ||
| + | </ | ||
| + | Снова воспользуемся скриптом для автоматической сборки и установки | ||
| < | < | ||
| + | #!/bin/bash | ||
| + | SRC_FILE=binutils-2.42.tar.xz | ||
| + | SRC_FOLDER=binutils-2.42 | ||
| + | |||
| + | tar -xvf $SRC_FILE | ||
| + | cd $SRC_FOLDER | ||
| + | |||
| sed ' | sed ' | ||
| - | </ | ||
| - | Создайте отдельный каталог для сборки: | ||
| - | |||
| - | < | ||
| mkdir -v build | mkdir -v build | ||
| cd build | cd build | ||
| - | </ | ||
| - | Подготовьте Binutils к компиляции: | + | time { |
| - | + | ||
| - | < | + | |
| ../ | ../ | ||
| --prefix=/ | --prefix=/ | ||
| Строка 758: | Строка 711: | ||
| --disable-werror | --disable-werror | ||
| --enable-64-bit-bfd | --enable-64-bit-bfd | ||
| - | --enable-default-hash-style=gnu | + | --enable-default-hash-style=gnu |
| + | time make && | ||
| + | make DESTDIR=$LFS install; } && | ||
| + | rm -v $LFS/ | ||
| + | |||
| + | cd ../.. && | ||
| + | rm -rf $SRC_FOLDER && | ||
| + | |||
| + | echo Удалена папка $SRC_FOLDER | ||
| + | echo Выполнено для $SRC_FILE | ||
| </ | </ | ||
| Строка 768: | Строка 730: | ||
| * **--enable-64-bit-bfd** | * **--enable-64-bit-bfd** | ||
| Включает 64-разрядную поддержку (на хостах с меньшим размером слова). В 64-разрядных системах это может и не понадобиться, | Включает 64-разрядную поддержку (на хостах с меньшим размером слова). В 64-разрядных системах это может и не понадобиться, | ||
| - | + | {{: | |
| - | Скомпилируйте пакет: | + | Сообщение |
| - | + | {{: | |
| - | < | + | |
| - | make | + | |
| - | </ | + | |
| - | + | ||
| - | Установите пакет: | + | |
| - | + | ||
| - | < | + | |
| - | make DESTDIR=$LFS install | + | |
| - | </ | + | |
| - | + | ||
| - | Удалите | + | |
| - | + | ||
| - | < | + | |
| - | rm -v $LFS/ | + | |
| - | </ | + | |
| Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
| Строка 891: | Строка 837: | ||
| </ | </ | ||
| - | Подробная | + | Снова собираем скрипт для автоматической сборки и установки |
| + | < | ||
| + | #!/ | ||
| + | SRC_FILE=gcc-13.2.0.tar.xz | ||
| + | SRC_FOLDER=gcc-13.2.0 | ||
| + | |||
| + | tar -xvf $SRC_FILE | ||
| + | cd $SRC_FOLDER | ||
| + | |||
| + | tar -xf ../mpfr-4.2.1.tar.xz | ||
| + | mv -v mpfr-4.2.1 mpfr | ||
| + | tar -xf ../ | ||
| + | mv -v gmp-6.3.0 gmp | ||
| + | tar -xf ../ | ||
| + | mv -v mpc-1.3.1 mpc | ||
| + | case $(uname -m) in | ||
| + | x86_64) | ||
| + | sed -e '/ | ||
| + | -i.orig gcc/ | ||
| + | ;; | ||
| + | esac | ||
| + | |||
| + | sed '/ | ||
| + | -i libgcc/ | ||
| + | |||
| + | mkdir -v build | ||
| + | cd build | ||
| + | |||
| + | time { | ||
| + | ../ | ||
| + | --build=$(../ | ||
| + | --host=$LFS_TGT | ||
| + | --target=$LFS_TGT | ||
| + | LDFLAGS_FOR_TARGET=-L$PWD/ | ||
| + | --prefix=/ | ||
| + | --with-build-sysroot=$LFS | ||
| + | --enable-default-pie | ||
| + | --enable-default-ssp | ||
| + | --disable-nls | ||
| + | --disable-multilib | ||
| + | --disable-libatomic | ||
| + | --disable-libgomp | ||
| + | --disable-libquadmath | ||
| + | --disable-libsanitizer | ||
| + | --disable-libssp | ||
| + | --disable-libvtv | ||
| + | --enable-languages=c, | ||
| + | time make && | ||
| + | make DESTDIR=$LFS install; } && | ||
| + | ln -sv gcc $LFS/ | ||
| + | |||
| + | cd ../.. && | ||
| + | rm -rf $SRC_FOLDER && | ||
| + | |||
| + | echo Удалена папка $SRC_FOLDER | ||
| + | echo Выполнено для $SRC_FILE | ||
| + | </ | ||
| + | {{: | ||
| + | Вывод после окончания выполнения команд скриптом | ||
| + | {{: | ||
| + | |||
| + | Подробная информация об этом пакете находится в [[software: | ||
| + | * [[software: | ||
software/linux_server/lfs-example/chapter06.1721027722.txt.gz · Последнее изменение: — vladpolskiy
