From 2bb0a728dbe1c97edbc0a4288556a52095352298 Mon Sep 17 00:00:00 2001 From: Anton Maisak Date: Thu, 4 Nov 2021 17:42:19 +0300 Subject: [PATCH 1/8] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20=D0=BE=D0=B1=20lspci?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/kernel/kernel-setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/kernel/kernel-setup.md b/docs/kernel/kernel-setup.md index 119cadab..8219809a 100644 --- a/docs/kernel/kernel-setup.md +++ b/docs/kernel/kernel-setup.md @@ -199,7 +199,7 @@ Cryptographic API ---> В разделе `Device Drivers` - нужно пройтись по разделам и включить драйвера для своего оборудования - нестандартные жёсткие диски, мышки, USB устройства, веб-камеры, Bluetooth, Wi-Fi адаптеры, принтеры и т. д. -Посмотреть, какое оборудование подключено к вашей системе можно командой: +Если вы собирали пакет `pciutils`, то просмотреть, какое оборудование подключено к вашему ПК, можно командой: ```bash lspci From 2bc2051d7234ddbdc07212d3d8fd7ea48326b8a4 Mon Sep 17 00:00:00 2001 From: Anton Maisak Date: Thu, 4 Nov 2021 17:45:13 +0300 Subject: [PATCH 2/8] * Fix strip --- docs/build-system/cleanup.md | 66 ++++++++++++++++++++++++++++++++---- 1 file changed, 59 insertions(+), 7 deletions(-) diff --git a/docs/build-system/cleanup.md b/docs/build-system/cleanup.md index 0cfcec9d..db15d530 100644 --- a/docs/build-system/cleanup.md +++ b/docs/build-system/cleanup.md @@ -43,15 +43,67 @@ userdel -r tester Вы можете удалить ненужные символы из исполняемых файлов: + ```bash -find /lib /usr/lib{,32} -type f -name \*.a \ - -exec strip --strip-debug {} ';' +save_usrlib="$(cd /usr/lib; ls ld-linux*) + libc.so.6 + libthread_db.so.1 + libquadmath.so.0.0.0 + libstdc++.so.6.0.29 + libitm.so.1.0.0 + libatomic.so.1.2.0" -find /lib /usr/lib{,32} -type f -name \*.so* ! -name \*dbg \ +cd /usr/lib + +for LIB in $save_usrlib; do + objcopy --only-keep-debug $LIB $LIB.dbg + cp $LIB /tmp/$LIB + strip --strip-unneeded /tmp/$LIB + objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB + install -vm755 /tmp/$LIB /usr/lib + rm /tmp/$LIB +done + +online_usrbin="bash find strip" +online_usrlib="libbfd-2.37.so + libhistory.so.8.1 + libncursesw.so.6.2 + libm.so.6 + libreadline.so.8.1 + libz.so.1.2.11.zlib-ng + $(cd /usr/lib; find libnss*.so* -type f)" + +for BIN in $online_usrbin; do + cp /usr/bin/$BIN /tmp/$BIN + strip --strip-unneeded /tmp/$BIN + install -vm755 /tmp/$BIN /usr/bin + rm /tmp/$BIN +done + +for LIB in $online_usrlib; do + cp /usr/lib/$LIB /tmp/$LIB + strip --strip-unneeded /tmp/$LIB + install -vm755 /tmp/$LIB /usr/lib + rm /tmp/$LIB +done + +for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \ + $(find /usr/lib -type f -name \*.a) \ + $(find /usr/{bin,sbin,libexec} -type f); do + case "$online_usrbin $online_usrlib $save_usrlib" in + *$(basename $i)* ) + ;; + * ) strip --strip-unneeded $i + ;; + esac +done + +unset BIN LIB save_usrlib online_usrbin online_usrlib + +find /usr/lib{,32} -type f -name \*.a \ + -exec strip --strip-debug {} ';' + +find /usr/lib32 -type f -name \*.so* ! -name \*dbg \ -exec strip --strip-unneeded {} ';' - -find /{bin,sbin} /usr/{bin,sbin,libexec} -type f \ - -exec strip --strip-all {} ';' ``` - From f236a4ebe70168cc8d7311850b905cce336ce701 Mon Sep 17 00:00:00 2001 From: Anton Maisak Date: Thu, 4 Nov 2021 17:46:29 +0300 Subject: [PATCH 3/8] =?UTF-8?q?*=20=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D1=80=D1=8B=D0=B5=20=D0=BA=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D1=8B=D0=BB=D0=B8=20glibc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/build-system/glibc.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/docs/build-system/glibc.md b/docs/build-system/glibc.md index ea8add1c..8f4ca94b 100644 --- a/docs/build-system/glibc.md +++ b/docs/build-system/glibc.md @@ -21,13 +21,6 @@ Glibc по умолчанию использует несоответствую patch -Np1 -i ../glibc-2.33-fhs-1.patch ``` -Исправьте ошибку: - -```bash -sed -e '402a\ *result = local->data.services[database_index];' \ - -i nss/nss_database.c -``` - Пакет Glibc требует использовать отдельную директорию для сборки. Создайте её: ```bash @@ -45,7 +38,6 @@ cd build --with-headers=/usr/include \ --libexecdir=/usr/lib \ libc_cv_slibdir=/usr/lib \ - libc_cv_include_x86_isa_level=no ``` > Если вы используете раздельную структуру каталогов, то измените значение параметра `libc_cv_slibdir` на `/lib`: `libc_cv_slibdir=/lib`, и удалите параметр `--libexecdir=/usr/lib`. @@ -60,8 +52,6 @@ cd build `--with-headers=/usr/include` - задаёт путь к заголовкам ядра. -`libc_cv_include_x86_isa_level=no` - исключает возможную ошибку. - ## Сборка ```bash From 126d4f3375737c765e875b4f8fd74675a6030bbd Mon Sep 17 00:00:00 2001 From: Anton Maisak Date: Thu, 4 Nov 2021 17:55:52 +0300 Subject: [PATCH 4/8] glibc, gcc upstream fixes --- docs/build-system/gcc.md | 16 ---------------- docs/build-system/glibc.md | 13 ++++++++----- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/docs/build-system/gcc.md b/docs/build-system/gcc.md index a70bcf00..493111f4 100644 --- a/docs/build-system/gcc.md +++ b/docs/build-system/gcc.md @@ -1,21 +1,5 @@ {{ include('../packages/gcc/README.md') }} - - ## Подготовка Исправьте пути установки библиотек: diff --git a/docs/build-system/glibc.md b/docs/build-system/glibc.md index 8f4ca94b..a3e5b532 100644 --- a/docs/build-system/glibc.md +++ b/docs/build-system/glibc.md @@ -30,18 +30,21 @@ cd build ## Настройка + +Если вы собираете систему с раздельной структурой директорий, убедитесь, что утилиты `ldconfig` и `sln` установлены в `/usr/sbin`: + +```bash +echo "rootsbindir=/usr/sbin" > configparms +``` + ```bash ../configure \ --prefix=/usr \ --disable-werror \ --enable-kernel=3.2 \ --with-headers=/usr/include \ - --libexecdir=/usr/lib \ - libc_cv_slibdir=/usr/lib \ + libc_cv_slibdir=/lib ``` - -> Если вы используете раздельную структуру каталогов, то измените значение параметра `libc_cv_slibdir` на `/lib`: `libc_cv_slibdir=/lib`, и удалите параметр `--libexecdir=/usr/lib`. - ### Для multilib Добавьте параметр `--enable-multi-arch` From a4409604825ce2d564573b42d91ed35d2dcf6701 Mon Sep 17 00:00:00 2001 From: Anton Maisak Date: Thu, 4 Nov 2021 18:30:59 +0300 Subject: [PATCH 5/8] Revision: 8e44153777d6d95aa917df1622dbde624a98b694 Author: Linuxoid85 <71516578+Linuxoid85@users.noreply.github.com> Date: 12.10.2021 17:43:30 Message: Fix glibc ---- Modified: docs/build-temp-system/glibc.md --- docs/build-temp-system/glibc.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/build-temp-system/glibc.md b/docs/build-temp-system/glibc.md index 9a270372..08345564 100644 --- a/docs/build-temp-system/glibc.md +++ b/docs/build-temp-system/glibc.md @@ -24,6 +24,13 @@ mkdir build cd build ``` +Если вы используете раздельную структуру директорий, то выполните команду ниже: + +```bash +echo "rootsbindir=/usr/sbin" > configparms +``` + + Запустите скрипт `configure`: ```bash @@ -65,6 +72,13 @@ make make DESTDIR=$LIN install ``` + +Исправьте жестко заданный путь к исполняемому загрузчику в скрипте ldd: + +```bash +sed '/RTLDLIST=/s@/usr@@g' -i $LFS/usr/bin/ldd +``` + Завершите установку файла `limits.h`, запустив скрипт из состава GCC: ```bash From dc5f720827b21000438a90d2df01cf5f8da09750 Mon Sep 17 00:00:00 2001 From: Anton Maisak Date: Thu, 4 Nov 2021 18:32:04 +0300 Subject: [PATCH 6/8] Revision: b49454a8c7513d10cd37728a83d89ca4a9cf1161 Author: Linuxoid85 <71516578+Linuxoid85@users.noreply.github.com> Date: 12.10.2021 17:46:50 Message: Update glibc.md ---- Modified: docs/build-temp-system/glibc.md --- docs/build-temp-system/glibc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/build-temp-system/glibc.md b/docs/build-temp-system/glibc.md index 08345564..273a9ab9 100644 --- a/docs/build-temp-system/glibc.md +++ b/docs/build-temp-system/glibc.md @@ -24,7 +24,7 @@ mkdir build cd build ``` -Если вы используете раздельную структуру директорий, то выполните команду ниже: +Убедитесь, что утилиты `ldconfig` и `sln` установлены в `/usr/sbin`: ```bash echo "rootsbindir=/usr/sbin" > configparms From b714c6392788f6406c73272a9e184513cab7a54b Mon Sep 17 00:00:00 2001 From: Anton Maisak Date: Thu, 4 Nov 2021 18:35:22 +0300 Subject: [PATCH 7/8] Revision: 57c3dd5686484841f1102e077b8b10127e4c777e Author: Linuxoid85 <71516578+Linuxoid85@users.noreply.github.com> Date: 12.10.2021 19:18:09 Message: Update glibc.md ---- Modified: docs/build-temp-system/glibc.md --- docs/build-temp-system/glibc.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/build-temp-system/glibc.md b/docs/build-temp-system/glibc.md index 273a9ab9..503e172a 100644 --- a/docs/build-temp-system/glibc.md +++ b/docs/build-temp-system/glibc.md @@ -11,7 +11,7 @@ ln -sfv ../lib/ld-linux-x86-64.so.2 $LIN/lib64/ld-lsb-x86-64.so.3 Первая ссылка используется GCC, вторую требует LSB. -В пакете Glibc по умолчанию используется несоответствующая стандаруту FHS директория `/var/db`. Для исправления этого примените патч: +В пакете Glibc по умолчанию используется несоответствующая стандарту FHS директория `/var/db`. Для исправления этого примените патч: ```bash patch -Np1 -i ../glibc-2.34-fhs-1.patch @@ -76,7 +76,7 @@ make DESTDIR=$LIN install Исправьте жестко заданный путь к исполняемому загрузчику в скрипте ldd: ```bash -sed '/RTLDLIST=/s@/usr@@g' -i $LFS/usr/bin/ldd +sed '/RTLDLIST=/s@/usr@@g' -i $LIN/usr/bin/ldd ``` Завершите установку файла `limits.h`, запустив скрипт из состава GCC: From c1b277bc14b8ca19be38f74f7358df0e8727ac1e Mon Sep 17 00:00:00 2001 From: Anton Maisak Date: Thu, 4 Nov 2021 18:40:44 +0300 Subject: [PATCH 8/8] fix requirements --- docs/prepare/requrements.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/prepare/requrements.md b/docs/prepare/requrements.md index 8d02e6cc..c9870824 100644 --- a/docs/prepare/requrements.md +++ b/docs/prepare/requrements.md @@ -48,17 +48,16 @@ ln -sf bash /bin/sh pacman -S base-devel ``` -### Для Rosa +### Для Fedora, Redhat ```bash -urpmi bison gawk texinfo make gcc-c++ +dnf install bison gawk texinfo make gcc-c++ ``` ## Проверка соответствия программного обеспечения Чтобы узнать, что ваша хост-система полностью соответствует всем необходимым для дальнейшей работы требованиям, выполните следующий набор команд: - ```bash {{ include('../scripts/version-check.sh') }} ``` @@ -129,6 +128,4 @@ tar (GNU tar) 1.32 texi2any (GNU texinfo) 6.6 xz (XZ Utils) 5.2.4 g++ compilation OK -``` - - +``` \ No newline at end of file