diff --git a/docs/additional/sha-bang.md b/docs/additional/shebang.md similarity index 100% rename from docs/additional/sha-bang.md rename to docs/additional/shebang.md diff --git a/docs/build-system/linux-headers.md b/docs/build-system/linux-headers.md index f15c295f..fa10ea1e 100644 --- a/docs/build-system/linux-headers.md +++ b/docs/build-system/linux-headers.md @@ -17,7 +17,7 @@ **Данный пакет является частью архива с ядром Linux**. -Убедитесь, что в архив не включены файлы которые могут помешать сборке. +Убедитесь, что в архив не включены файлы, которые могут помешать сборке. ```bash make mrproper @@ -44,4 +44,6 @@ cp -rv usr/include $LIN/usr ### Установленные файлы -Данный пакет устанавливает множество заголовочных файлов, в частности ` /usr/include/asm/*.h, /usr/include/asm-generic/*.h, /usr/include/drm/*.h, /usr/include/linux/*.h, /usr/include/misc/*.h, /usr/include/mtd/*.h, /usr/include/rdma/*.h, /usr/include/scsi/*.h, /usr/include/sound/*.h, /usr/include/video/*.h, and /usr/include/xen/*.h` +**Заголовочные файлы:** `/usr/include/asm/*.h`, `/usr/include/asm-generic/*.h`, `/usr/include/drm/*.h`, `/usr/include/linux/*.h`, `/usr/include/misc/*.h`, `/usr/include/mtd/*.h`, `/usr/include/rdma/*.h`, `/usr/include/scsi/*.h`, `/usr/include/sound/*.h`, `/usr/include/video/*.h` и `/usr/include/xen/*.h` + +**Директории:** `/usr/include/asm`, `/usr/include/asm-generic`, `/usr/include/drm`, `/usr/include/linux`, `/usr/include/misc`, `/usr/include/mtd`, `/usr/include/rdma`, `/usr/include/scsi`, `/usr/include/sound`, `/usr/include/video` и `/usr/include/xen` diff --git a/docs/build-temp-system/findutils.md b/docs/build-temp-system/findutils.md index 4d733cb5..7d5b1a4e 100644 --- a/docs/build-temp-system/findutils.md +++ b/docs/build-temp-system/findutils.md @@ -3,7 +3,10 @@ ## Настройка ```bash -./configure --prefix=/usr --host=$LIN_TGT +./configure --prefix=/usr \ + --localstatedir=/var/lib/locate \ + --host=$LIN_TGT \ + --build=$(build-aux/config.guess) ``` ## Сборка diff --git a/docs/build-temp-system/glibc.md b/docs/build-temp-system/glibc.md index c4c23dfe..21d665b3 100644 --- a/docs/build-temp-system/glibc.md +++ b/docs/build-temp-system/glibc.md @@ -14,7 +14,7 @@ ln -sfv ../lib/ld-linux-x86-64.so.2 $LIN/lib64/ld-lsb-x86-64.so.3 В пакете Glibc по умолчанию используется несоответствующая стандарту FHS директория `/var/db`. Для исправления этого примените патч: ```bash -patch -Np1 -i ../glibc-2.34-fhs-1.patch +patch -Np1 -i ../glibc-2.35-fhs-1.patch ``` Пакет Glibc требует использовать отдельную директорию для сборки. Создайте её: @@ -84,7 +84,7 @@ sed '/RTLDLIST=/s@/usr@@g' -i $LIN/usr/bin/ldd Завершите установку файла `limits.h`, запустив скрипт из состава GCC: ```bash -$LIN/tools/libexec/gcc/$LIN_TGT/11.2.0/install-tools/mkheaders +$LIN/tools/libexec/gcc/$LIN_TGT/12.1.0/install-tools/mkheaders ``` ## Тестирование diff --git a/docs/build-temp-system/libstdc.md b/docs/build-temp-system/libstdc.md index 37d09efa..d5bd754b 100644 --- a/docs/build-temp-system/libstdc.md +++ b/docs/build-temp-system/libstdc.md @@ -1,6 +1,4 @@ -# LibstdC++ Проход 1 - -{{ include('../packages/gcc/README.md') }} +{{ include('../packages/libstdc/README.md') }} ## Настройка @@ -25,7 +23,7 @@ cd build --disable-multilib \ --disable-nls \ --disable-libstdcxx-pch \ - --with-gxx-include-dir=/tools/$LIN_TGT/include/c++/11.2.0 + --with-gxx-include-dir=/tools/$LIN_TGT/include/c++/12.1.0 ``` ### Значения параметров @@ -36,7 +34,7 @@ cd build `--disable-libstdcxx-pch` - отключает установку предварительно скомпилированных заголовков, ненужных на данном этапе -`--with-gxx-include-dir=/tools/$LIN_TGT/include/c++/11.2.0` - путь поиска заголовков C++ +`--with-gxx-include-dir=/tools/$LIN_TGT/include/c++/12.1.0` - путь поиска заголовков C++. `libstdc++` является стандартной библиотекой C++, указанная опцией директория должна соответствовать местоположению, в котором компилятор C++ будет искать стандартные включаемые файлы. ## Сборка diff --git a/docs/build-temp-system/ncurses.md b/docs/build-temp-system/ncurses.md index 40d59b6b..c9aff003 100644 --- a/docs/build-temp-system/ncurses.md +++ b/docs/build-temp-system/ncurses.md @@ -32,6 +32,7 @@ cd .. --without-debug \ --without-ada \ --without-normal \ + --disable-stripping \ --enable-widec ``` @@ -43,6 +44,8 @@ cd .. `--without-normal` - отключает установку большинства статических библиотек. +`--disable-stripping` - отключает возможность использования программы `strip` с хоста. Использования программ, установленных на хосте, в кросс-компилированной системе, может привести к сбоям. + `--enable-widec` - включает установку библиотек с поддержкой многобайтовых символов. ## Сборка @@ -58,6 +61,19 @@ make DESTDIR=$LIN TIC_PATH=$(pwd)/tic-build/progs/tic install echo "INPUT(-lncursesw)" > $LIN/usr/lib/libncurses.so ``` +Удалите ненужную статическую библиотеку, не обработанную на этапе +конфигурирования: + +```bash +rm -v $LIN/usr/lib/libncurses++w.a +``` + +### Значения параметров + +`TIC PATH=$(pwd)/build/progs/tic` - передаёт путь только что собранного `tic`. + +`echo "INPUT(-lncursesw)" > $LIN/usr/ ...` - библиотека `libncurses.so` нужна для некоторых пакетов, которые будут собраны позже. + ## При раздельной структуре каталогов Переместите разделяемые библиотеки в `$LIN/lib`: diff --git a/docs/cross-toolchain/binutils.md b/docs/cross-toolchain/binutils.md index 907032a0..321d971f 100644 --- a/docs/cross-toolchain/binutils.md +++ b/docs/cross-toolchain/binutils.md @@ -49,9 +49,7 @@ make ## Установка ```bash -make install -j1 +make install ``` -`-j1` предотвращает возможную ошибку установки. - Дополнительную информацию о компиляции пакетов смотрите [здесь](../../additional/src-compiling). diff --git a/docs/cross-toolchain/gcc.md b/docs/cross-toolchain/gcc.md index f1dc9afc..a99cb140 100644 --- a/docs/cross-toolchain/gcc.md +++ b/docs/cross-toolchain/gcc.md @@ -38,7 +38,7 @@ cd build ../configure \ --target=$LIN_TGT \ --prefix=$LIN/tools \ - --with-glibc-version=2.11 \ + --with-glibc-version=2.35 \ --with-sysroot=$LIN \ --with-newlib \ --without-headers \ @@ -63,7 +63,7 @@ cd build ### Значения параметров -`--with-glibc-version = 2.11` - эта опция гарантирует, что пакет будет совместим с версией glibc на хосте. Для него установлено минимальное требование glibc, указанное в Требованиях к хост-системе. +`--with-glibc-version=2.35` - эта опция указывает версию glibc, которая будет использоваться в целевой системе. Она не относится к glibc хост-системы, потому что всё, скомпилированное с помощью gcc (первый проход), будет выполняться в среде chroot, которая изолирована от glibc хост-системы. `--with-newlib` - поскольку рабочая библиотека C еще недоступна, это гарантирует, что константа `ignit_libc` определена при сборке libgcc. Это предотвращает компиляцию любого кода, требующего поддержки libc. diff --git a/docs/packages/libstdc/README.md b/docs/packages/libstdc/README.md new file mode 100644 index 00000000..bc84dc0b --- /dev/null +++ b/docs/packages/libstdc/README.md @@ -0,0 +1 @@ +# libstdcpp diff --git a/docs/packages/packages.json b/docs/packages/packages.json index 8c904b7c..4dcccf9b 100644 --- a/docs/packages/packages.json +++ b/docs/packages/packages.json @@ -263,17 +263,17 @@ }, { "name": "coreutils", - "fileName": "coreutils-9.0.tar.xz", + "fileName": "coreutils-9.1.tar.xz", "description": "Coreutils - пакет программного обеспечения GNU, содержащий большое количество основных утилит, таких как cat, ls и rm, необходимых для UNIX-подобных операционных систем. Пакет включает несколько более ранних пакетов — textutils, shellutils, fileutils и другие различные утилиты.", - "url": "https://ftp.gnu.org/gnu/coreutils/coreutils-9.0.tar.xz", + "url": "https://ftp.gnu.org/gnu/coreutils/coreutils-9.1.tar.xz", "homeUrl": "https://gnu.org/software/coreutils", - "version": "9.0", + "version": "9.1", "releasesUrl": "https://ftp.gnu.org/gnu/coreutils/", "priority": "required", - "md5": "0d79ae8a6124546e3b94171375e5e5d0", + "md5": "8b1ca4e018a7dce9bb937faec6618671", "size": "5.35", "installedSize": 3, - "sbu": 0.5, + "sbu": 0.6, "sbu2": 0.4, "patches": [ "coreutils-patch" @@ -288,7 +288,7 @@ "test" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/coreutils-9.0.tar.xz" + "downloadUrl": "https://lx4u.ru/downloads/packages/coreutils-9.1.tar.xz" }, { "name": "dbus", @@ -623,17 +623,17 @@ }, { "name": "gcc", - "fileName": "gcc-11.2.0.tar.xz", + "fileName": "gcc-12.1.0.tar.xz", "description": "Пакет содержит набор компиляторов GNU для таких языков как Си и Си++.", - "url": "https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.xz", + "url": "https://ftp.gnu.org/gnu/gcc/gcc-12.1.0/gcc-12.1.0.tar.xz", "homeUrl": "https://gnu.org/software/gcc", - "version": "11.2.0", + "version": "12.1.0", "releasesUrl": "https://ftp.gnu.org/gnu/gcc", "priority": "required", - "md5": "31c86f2ced76acac66992eeedce2fce2", + "md5": "ed45b55ee859ada4b25a1e76e0c4d966", "size": "77.14", "installedSize": 161, - "sbu": 14.8, + "sbu": 14, "sbu2": 25, "scripts": [ "build", @@ -645,7 +645,7 @@ "test" ], "multilibSupport": false, - "downloadUrl": "https://lx4u.ru/downloads/packages/gcc-11.2.0.tar.xz" + "downloadUrl": "https://lx4u.ru/downloads/packages/gcc-12.1.0.tar.xz" }, { "name": "gdbm", @@ -1142,6 +1142,23 @@ "multilibSupport": false, "downloadUrl": "https://lx4u.ru/downloads/packages/libffi-3.4.2.tar.gz" }, + { + "name": "libstdcpp", + "fileName": "gcc-11.2.0.tar.xz", + "description": "Стандартная библиотека C++", + "url": "https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.xz", + "homeUrl": "https://gnu.org/software/gcc", + "version": "11.2.0", + "releasesUrl": "https://ftp.gnu.org/gnu/gcc", + "priority": "required", + "md5": "31c86f2ced76acac66992eeedce2fce2", + "size": "818", + "installedSize": 0, + "sbu2": 0.4, + "scripts": [], + "multilibSupport": false, + "downloadUrl": "https://lx4u.ru/downloads/packages/gcc-11.2.0.tar.xz" + }, { "name": "libpipeline", "fileName": "libpipeline-1.5.5.tar.gz", @@ -1195,19 +1212,19 @@ }, { "name": "linux", - "fileName": "linux-5.16.12.tar.xz", + "fileName": "linux-5.18.2.tar.xz", "description": "Ядро операционной системы.", - "url": "https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.16.12.tar.xz", + "url": "https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.18.2.tar.xz", "homeUrl": "https://www.kernel.org", - "version": "5.16.12", + "version": "5.18.2", "releasesUrl": "https://www.kernel.org", "priority": "required", - "md5": "e859941968400c4437bd62b4fe39b7b7", - "size": "121.65", + "md5": "b04ef6c41e2a8965201c28e6963beaf8", + "size": "123.8", "installedSize": 0, "sbu": 0, "sbu2": 4.4, - "downloadUrl": "https://lx4u.ru/downloads/packages/linux-5.16.12.tar.xz", + "downloadUrl": "https://lx4u.ru/downloads/packages/linux-5.18.2.tar.xz", "scripts": [], "multilibSupport": false }, @@ -2469,4 +2486,4 @@ "multilibSupport": false, "scripts": [] } -] \ No newline at end of file +] diff --git a/mkdocs.yml b/mkdocs.yml index 91a6b30c..43de3bfb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -298,5 +298,5 @@ nav: - Типы разделов и каталогов: additional/partitions_catalogs.md - Выбор размера файла подкачки: additional/swap.md - Настройка zram: additional/zram.md - - О шебангах в скриптах Linux: additional/sha-bang.md + - О шебангах в скриптах Linux: additional/shebang.md lang: ru