software:linux_server:lfs-example:chapter06
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
software:linux_server:lfs-example:chapter06 [2024/07/15 11:13] – [6.13.1. Установка пакета Patch] vladpolskiy | software:linux_server:lfs-example:chapter06 [2024/07/15 14:18] (текущий) – [6.18.1. Установка пакета GCC] vladpolskiy | ||
---|---|---|---|
Строка 566: | Строка 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: | ||
Строка 595: | Строка 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: | ||
Строка 623: | Строка 609: | ||
====6.16.1. Установка пакета Xz==== | ====6.16.1. Установка пакета Xz==== | ||
- | + | Запустим скрипт который сделает за нас всю работу по установке | |
- | Подготовьте Xz к компиляции: | + | |
< | < | ||
+ | #!/bin/bash | ||
+ | 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: | ||
Строка 662: | Строка 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=/ | ||
Строка 686: | Строка 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 | ||
</ | </ | ||
Строка 696: | Строка 730: | ||
* **--enable-64-bit-bfd** | * **--enable-64-bit-bfd** | ||
Включает 64-разрядную поддержку (на хостах с меньшим размером слова). В 64-разрядных системах это может и не понадобиться, | Включает 64-разрядную поддержку (на хостах с меньшим размером слова). В 64-разрядных системах это может и не понадобиться, | ||
- | + | {{: | |
- | Скомпилируйте пакет: | + | Сообщение |
- | + | {{: | |
- | < | + | |
- | make | + | |
- | </ | + | |
- | + | ||
- | Установите пакет: | + | |
- | + | ||
- | < | + | |
- | make DESTDIR=$LFS install | + | |
- | </ | + | |
- | + | ||
- | Удалите | + | |
- | + | ||
- | < | + | |
- | rm -v $LFS/ | + | |
- | </ | + | |
Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
Строка 819: | Строка 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.1721031239.txt.gz · Последнее изменение: 2024/07/15 11:13 — vladpolskiy