From 767903d1ea4133f7508252e4e5bc82e21469a772 Mon Sep 17 00:00:00 2001 From: Egor Tsyganchuk Date: Wed, 26 Aug 2026 10:01:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20README.md=20=D1=81=20=D1=82=D1=80=D0=B5=D0=B1=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC=D0=B8=20=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=80=D1=8F=D0=B4=D0=BA=D0=BE=D0=BC=20=D1=81=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..a63e765 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +# build-toolchain + +Сборка кросс-компилятора `arm-uclinuxfdpiceabi` (ARMv7-M, Thumb, FDPIC) на базе +binutils + GCC + uClibc-ng, а также набора статических библиотек под него. + +## Состав + +| Компонент | Версия | +|---------------|----------| +| binutils | 2.42 | +| GCC | 13.4.0 | +| Linux headers | 4.9.224 | +| uClibc-ng | 1.0.34 | + +## Требования (Ubuntu/Debian) + +Для `build-toolchain.sh` (сборка самого компилятора): + +``` +sudo apt install build-essential bison flex texinfo gawk bc m4 wget python3 perl +``` + +Для `build-libraries.sh` (сборка zlib/OpenSSL/LibVNCServer/freetype под целевую +платформу) дополнительно нужен `cmake`: + +``` +sudo apt install cmake pkg-config +``` + +Библиотеки gmp/mpfr/mpc/isl отдельно ставить не нужно — `contrib/download_prerequisites` +сам скачивает их исходники внутрь дерева GCC (нужен доступ в интернет). + +## Исходники + +В корень репозитория нужно положить архивы (не входят в git, см. `.gitignore`): + +``` +binutils-2.42.tar.xz +gcc-13.4.0.tar.xz +linux-4.9.224.tar.xz +uClibc-ng-1.0.34.tar.xz +``` + +Для `build-libraries.sh` — архивы библиотек в подпапку `lib/`: + +``` +lib/zlib-1.2.13.tar.xz (или .tar.gz) +lib/openssl-3.0.13.tar.xz (или .tar.gz) +lib/LibVNCServer-0.9.14.tar.xz (или .tar.gz) +lib/freetype-2.13.2.tar.xz (или .tar.gz) +``` + +## Сборка + +``` +./build-toolchain.sh # компилятор + libc -> install/, архив toolset-jlv-*.tar.xz +./build-libraries.sh # статические библиотеки -> install/sysroot +``` + +Компилятор ставится в `install/bin` (`arm-uclinuxfdpiceabi-gcc` и т.д.). +Для сборки чего-либо этим компилятором подключить окружение: + +``` +. ./env.sh install/bin +```