Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Fix/build scripts #1078

Open
wants to merge 12 commits into
base: develop
Choose a base branch
from
Open
File renamed without changes.
6 changes: 4 additions & 2 deletions docs/build-system/linux-headers.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

**Данный пакет является частью архива с ядром Linux**.

Убедитесь, что в архив не включены файлы которые могут помешать сборке.
Убедитесь, что в архив не включены файлы, которые могут помешать сборке.

```bash
make mrproper
Expand All @@ -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`
5 changes: 4 additions & 1 deletion docs/build-temp-system/findutils.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
```

## Сборка
Expand Down
4 changes: 2 additions & 2 deletions docs/build-temp-system/glibc.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 требует использовать отдельную директорию для сборки. Создайте её:
Expand Down Expand Up @@ -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
```

## Тестирование
Expand Down
8 changes: 3 additions & 5 deletions docs/build-temp-system/libstdc.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# LibstdC++ Проход 1

{{ include('../packages/gcc/README.md') }}
{{ include('../packages/libstdc/README.md') }}


## Настройка
Expand All @@ -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
```

### Значения параметров
Expand All @@ -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++ будет искать стандартные включаемые файлы.

## Сборка

Expand Down
16 changes: 16 additions & 0 deletions docs/build-temp-system/ncurses.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ cd ..
--without-debug \
--without-ada \
--without-normal \
--disable-stripping \
--enable-widec
```

Expand All @@ -43,6 +44,8 @@ cd ..

`--without-normal` - отключает установку большинства статических библиотек.

`--disable-stripping` - отключает возможность использования программы `strip` с хоста. Использования программ, установленных на хосте, в кросс-компилированной системе, может привести к сбоям.

`--enable-widec` - включает установку библиотек с поддержкой многобайтовых символов.

## Сборка
Expand All @@ -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`:
Expand Down
4 changes: 1 addition & 3 deletions docs/cross-toolchain/binutils.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,7 @@ make
## Установка

```bash
make install -j1
make install
```

`-j1` предотвращает возможную ошибку установки.

Дополнительную информацию о компиляции пакетов смотрите [здесь](../../additional/src-compiling).
4 changes: 2 additions & 2 deletions docs/cross-toolchain/gcc.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand All @@ -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.

Expand Down
1 change: 1 addition & 0 deletions docs/packages/libstdc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# libstdcpp
55 changes: 36 additions & 19 deletions docs/packages/packages.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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",
Expand Down Expand Up @@ -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",
Expand All @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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
},
Expand Down Expand Up @@ -2469,4 +2486,4 @@
"multilibSupport": false,
"scripts": []
}
]
]
2 changes: 1 addition & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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