-
Notifications
You must be signed in to change notification settings - Fork 34
Toolchain Update Plugin (s3.TUP) v0.16.0
HOME » Documentation » Plugins » Toolchain Update Plugin (s3.TUP)
This page refers to version 0.16.x of the Toolchain Update Plugin (s3.TUP).
Click here for the corresponding documentation for version 0.15.x
Click here for the corresponding documentation for version 0.14.x
Click here for the corresponding documentation for version 0.13.x
Click here for the corresponding documentation for version 0.12.x
Click here for the corresponding documentation for version 0.11.x
- Install or update libraries such as OpenSSL, libusb, PCSC-Lite, zlib etc. in cross toolchains from simplebuild3 (extendable via flexible configuration file)
- Copy, duplicate and backup of cross toolchains
- Creation of new cross toolchains based on crosstool-NG, Freetz-NG
The following (ubuntu) packages are installed automatically when the plugin is started:
autoconf automake bison bzip2 curl flex g++ gawk gcc git gperf help2man jq libtool libtool-bin make patch python3-dev rsync texinfo unzip wget xz-utils file diffutils imagemagick inkscape pkg-config python gettext ruby libncurses-dev libacl1-dev libcap-dev libreadline-dev libglib2.0-dev libstdc++6
Since version 0.16.0 the plugin use the s3 integrated localization support. The translation status is shown below ( Translators are very welcome):
Language | Keys | Status |
---|---|---|
Bulgarian (bg) | 0/117 | 0% |
German (de) | 117/117 | 100% |
English (en) | 117/117 | 100% |
Spanish (es) | 0/117 | 0% |
French (fr) | 0/117 | 0% |
Italian(it) | 0/117 | 0% |
Dutch (nl) | 0/117 | 0% |
Polish (pl) | 0/117 | 0% |
Portuguese (pt) | 0/117 | 0% |
Turkish (tr) | 117/117 | 100% |
Since version 0.10.0 the plugin can be started up via some s3 menus.
The following functions are available directly via the command line and can be used in own scripts to automate the creation and update of cross toolchains:
-
./s3 tcupdate
Opens the menu to select an already installed toolchain (Toolchain Menu). -
./s3 tcupdate TOOLCHAIN-NAME LIBRARY-KEY-1,LIBRARY-KEY-2,LIBRARY-KEY-n
Opens the menu to select the libraries to be updated / installed in the specified toolchain (Library Update Menu). If one or more library keys are specified, the toolchain is updated immediately without opening the menu. -
./s3 tcupdate -b TOOLCHAIN-NAME
or./s3 tcupdate --backup TOOLCHAIN-NAME
Backup of the specified toolchain. A tar.xz archive is created in the s3 downloads folder, which can be restored via./s3 tcrepair
. -
./s3 tcupdate -c TEMPLATE-NAME
or./s3 tcupdate --create TEMPLATE-NAME
Opens the menu for selecting a new toolchain to be created (Cross Toolchain Template Menu). If the name of an existing toolchain template is specified, the toolchain is created immediately without opening the menu. -
./s3 tcupdate -cfg VARIABLE-NAME VALUE
or./s3 tcupdate --config VARIABLE-NAME VALUE
Change the value of variables in the configuration file plugin_update_toolchain.config directly. Only variables existing in the configuration file can be changed. -
./s3 tcupdate -ctng TEMPLATE-NAME
or./s3 tcupdate --crosstool-ng TEMPLATE-NAME
Opens the menu of [crosstool-NG] (https://crosstool-ng.github.io/) for manual editing of the toolchain configuration options (crosstool-NG Menu). Depending on the specified toolchain template, an existing template is edited or a new one is created. After closing the menu, you can save the template and / or create a new toolchain based on this template. -
./s3 tcupdate -fng TEMPLATE-NAME
or./s3 tcupdate --freetz-ng TEMPLATE-NAME
Opens the menu of [Freetz-NG] (https://freetz-ng.github.io/) for manual editing of the toolchain configuration options (Freetz-NG Menu). Depending on the specified toolchain template, an existing template is edited or a new one is created. After closing the menu, you can save the template and / or create a new toolchain based on this template. -
./s3 tcupdate -d TOOLCHAIN-NAME NEW-TOOLCHAIN-NAME
or./s3 tcupdate --duplicate TOOLCHAIN-NAME NEW-TOOLCHAIN-NAME
Create a copy of the specified toolchain. A tar.xz archive is created in the s3 downloads folder and restored under the new toolchain name. -
./s3 tcupdate -r
or./s3 tcupdate --reset
Recreates the configuration file plugin_update_toolchain.config. -
./s3 tcupdate -s
or./s3 tcupdate --setup
(Re)Installs the build environment of crosstool-NG in the folder support/crosstool/crosstool-ng and Freetz-NG in the folder support/crosstool/freetz-ng.
Many parameters of the plugin can be changed via the configuration file. All parameters are commented in detail in the configuration file. Changes should only be made by experienced Linux users. The configuration file can be reset at any time using ./s3 tcupdate -r
or ./s3 tcupdate --reset
. The current configuration file is saved with a time stamp and a new one is created automatically. Each time the configuration file is reset, this automatic determines the latest versions of the OpenSSL, libusb, PCSC-Lite and zlib libraries. It makes sense to create a new configuration file from time to time in order to get the current versions of the libraries.
The toolchains already installed in s3 are listed here. The toolchains created with crosstool-NG/Freetz-NG show the creation time at the end of the description in green letters.
-
<Update>
Opens the "Library Update Menu" for the selected toolchain. -
<Back/Exit>
Closes the "Toolchain Menu" and opens the previous one or exits the plugin. -
<Create>
Opens the "Cross Toolchain Template Menu". -
<Backup>
A backup copy of the selected toolchain is created as a tar.xz archive in the s3 download folder, which can be restored via./s3 tcrepair
.
The current versions of the libraries (OpenSSL, libusb, PCSC-Lite, zlib) are listed here, which can be updated or installed in the selected toolchain. The selected toolchain is displayed in the menu title. Libraries are automatically recognized and preselected (if an update is possible). The versions are compared in the NEW / CURRENT columns and colorized (green means library up-to-date, magenta means library update possible).
-
<Start>
Starts the process of compiling and installing the libraries in the selected toolchain. -
<Back/Exit>
Closes the "Library Update Menu" and opens the previous one or exits the plugin. -
<Info>
Displays detailed information about the toolchain and configuration of the selected library.
Completely new toolchains can be created in this menu. The functionality is provided by the crosstool-NG and Freetz-NG toolchain generators depending on the listed templates. You can choose from templates for crosstool-NG or Freetz-NG in order to create new or rebuild existing toolchains for s3.
Toolchains based on these templates have already been tested and work for different systems. Please make sure that s3 is not executed as root or via sudo. This is not necessary and involves some security risks! If there are reasons to run as root, you can force it with the following command: ./s3 tcupdate --config "CTNG_BUILD_AS_ROOT" "1"
-
<Start>
Starts the process of compiling, installing and registering the selected toolchain templates. A backup copy of the created toolchains is taken as a tar.xz archive in the s3 download folder, which can be restored via./s3 tcrepair
. Please pay attention to the note on red colored templates. They have the same name as already installed toolchains and will be overwritten when compiling. Once integrated, libraries are automatically reintegrated when an existing toolchain is recreated. This automatism can be deactivated with the command:./s3 tcupdate --config "LIBS_AUTO_INTEGRATE" "0"
-
<Back/Exit>
Closes the "Cross Toolchain Template Menu" and opens the previous one or exits the plugin. -
<Setup>
(Re)Installs the build environment of crosstool-NG in the folder support/crosstool/crosstool-ng and Freetz-NG in the folder support/crosstool/freetz-ng. -
<Edit>
Opens the menu of crosstool-NG or Freetz-NG for manual editing of the toolchain configuration options (crosstool-NG Menu).
Template | Type | Description | Components | Template Version | Plugin Version added | Plugin Version updated |
---|---|---|---|---|---|---|
dream_aarch64 | CTNG | Dreambox ONE|TWO |
aarch64 64-bit LE, glibc 2.25, gcc 9.2.0, linux 5.5.5 | 4 | 0.7.0 | 0.14.3 |
dream_arm | CTNG | Dreambox DM9x0 UHD |
arm 32-bit LE, glibc 2.23, gcc 9.2.0, linux 5.5.5 | 4 | 0.7.0 | 0.14.3 |
dream_mipsel | CTNG | Dreambox 500 HD|52x|8x0 HD|70x0 HD |
mips mips1 32-bit LE, glibc 2.24, gcc 9.2.0, linux 5.5.5 | 4 | 0.7.0 | 0.14.3 |
fos_g71x_mips | CTNG | FRITZ!Box 7582|7581 7.1x |
mips mips1 32-bit BE, glibc 2.24, gcc 9.2.0, linux 5.5.5 | 1 | 0.14.0 | |
fos_mLAB_mips | CTNG | FRITZ!Box 7590 Labor |
mips mips1 32-bit BE, musl 1.1.23, gcc 9.2.0, linux 5.5.5 | 2 | 0.13.0 | 0.14.0 |
fos_u69x_mips | FNG | FRITZ!Box 7590|7490 6.9x |
mips mips32r2 32-bit BE, uClibc 0.9.33.2, gcc 5.5.0, linux 3.10.12 | 2 | 0.13.0 | 0.14.0 |
fos_u71x_arm | FNG | FRITZ!Box 7530|7520 7.1x |
arm armv7-a 32-bit LE, uClibc 1.0.14, gcc 5.5.0, linux 4.4.60 | 1 | 0.14.0 | |
fos_u71x_mips | FNG | FRITZ!Box 7590|7490 7.1x |
mips mips32r2 32-bit BE, uClibc 1.0.14, gcc 5.5.0, linux 3.10.104 | 2 | 0.13.0 | 0.14.0 |
fos_u71x_puma | FNG | FRITZ!Box 6690|6491|6490|6430 7.1x |
i686 atom 32-bit LE, uClibc 1.0.14, gcc 5.5.0, linux 2.6.39.3 | 1 | 0.14.0 | |
fos_uLAB_mips | CTNG | FRITZ!Box 7490 Labor |
mips mips1 32-bit BE, uClibc 1.0.31, gcc 9.2.0, linux 5.5.5 | 1 | 0.14.0 | |
marvell_armv5 | CTNG | Marvell 628x devices, Synology DS112x, QNAP TS-119x |
arm armv5te 32-bit LE, glibc 2.15-2.31, gcc 9.2.0, linux 5.5.5 | 2 | 0.13.3 | 0.14.0 |
oe20_mipsel | CTNG | OpenEmbedded 2.0 STB's |
mips mips1 32-bit LE, glibc 2.19, gcc 9.2.0, linux 5.5.5 | 4 | 0.10.4 | 0.14.3 |
oe20_sh4 | CTNG | OpenEmbedded 2.0 STB's |
sh sh4 32-bit LE, glibc 2.25, gcc 9.2.0, linux 5.5.5 | 3 | 0.13.3 | 0.14.3 |
oe20_sh_multilib | CTNG | OpenEmbedded 2.0 STB's multilib support for other/older Super-H variants |
sh sh4 32-bit LE+BE, glibc 2.25, gcc 9.2.0, linux 5.5.5 | 3 | 0.13.3 | 0.14.3 |
owrt_ar71xx_mips | CTNG | OpenWrt 18.06 ar71xx, mips_24kc BE devices |
mips mips1 32-bit BE, musl 1.1.19, gcc 9.2.0, linux 5.5.5 | 3 | 0.8.5 | 0.14.0 |
owrt_ath79_mips | CTNG | OpenWrt 19.07 ath79, mips_24kc BE devices |
mips mips1 32-bit BE, musl 1.1.24, gcc 9.2.0, linux 5.5.5 | 3 | 0.8.4a | 0.14.0 |
owrt_mpc85xx_ppc | CTNG | OpenWrt 19.07 mpc85xx, Freescale MPC85xx BE devices |
powerpc 32-bit BE, musl 1.1.24, gcc 9.2.0, linux 5.5.5 | 3 | 0.11.0 | 0.14.0 |
qnap_armv7 | CTNG | QNAP ARM-Cortex-A9 devices |
arm cortex-a7 32-bit LE, glibc 2.17, gcc 9.2.0, linux 5.5.5 | 4 | 0.11.5 | 0.14.3 |
rpi_aarch64 | CTNG | Raspberry Pi 3 Modell B+, 4 Model B |
aarch64 cortex-a53 64-bit LE, glibc 2.31, gcc 9.2.0, linux 5.5.5, OS with 64-Bit-Kernel and -Userland-Libraries necessary | 3 | 0.11.0 | 0.14.0 |
rpi_armv6 | CTNG | Raspberry Pi Zero W|WH, 1 Model A/A+/B/B+ |
arm arm1176jzf-s 32-bit LE, glibc 2.31, gcc 9.2.0, linux 5.5.5 | 3 | 0.7.0 | 0.14.0 |
rpi_armv7 | CTNG | Raspberry Pi 2 Model B |
arm cortex-a7 32-bit LE, glibc 2.31, gcc 9.2.0, linux 5.5.5 | 3 | 0.7.0 | 0.14.0 |
rpi_armv8 | CTNG | Raspberry Pi 2 Model B v1.2, 3 Modell A+|B|B+, 4 Model B |
arm cortex-a53 32-bit LE, glibc 2.31, gcc 9.2.0, linux 5.5.5 | 3 | 0.7.0 | 0.14.0 |
synology_aarch64 | CTNG | Synology DS418 |
aarch64 64-bit LE, glibc 2.25, gcc 9.2.0, linux 5.5.5 | 4 | 0.11.1 | 0.14.3 |
synology_armv7 | CTNG | Synology DS216play |
arm armv7-a+fp 32-bit LE, glibc 2.23, gcc 9.2.0, linux 5.5.5 | 4 | 0.7.0 | 0.14.3 |
vuplus4k_arm | CTNG | Vu+ Zero|Uno|Duo|Solo|Ultimo 4K |
arm 32-bit LE, glibc 2.23, gcc 9.2.0, linux 5.5.5 | 4 | 0.7.0 | 0.14.3 |
CTNG - crosstool-NG, FNG - Freetz-NG
Home | About | Community | Setup Guide | Documentation | Copyright © 2013-2020 Gorgone terms of use.