Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Simplebuild 3: Toolchain Update Plugin (s3.TUP)

WXbet

Spezialist
Registriert
24. Dezember 2014
Beiträge
507
Reaktionspunkte
1.042
Punkte
263
Nach mehr 5 Jahren Mitgliedschaft in diesem Forum ist es für mich an der Zeit selbst etwas beizusteuern. Viele Nachfragen zum Thema Toolchains in s3 haben mich dazu bewogen ein Plugin zu schreiben, welches die Funktionen von gorgone's "simplebuild 3" um folgende erweitert:
  • Aktualiserung von bzw. Erweiterung um Libraries wie OpenSSL, libusb, PCSC-Lite, zlib etc. in Toolchains
  • Kopieren/Duplizieren/Backup von Toolchains
  • Erstellen neuer Cross Toolchains auf Basis von crosstool-NG, freetz-NG, Android NDK
  • Raspberry Pi Unterstützung der erstellten Cross Toolchains (Cross Compiling on Raspberry)
Herausgekommen ist das Toolchain Update Plugin (s3.TUP), um welches es hier in diesem Thread gehen soll.
@gorgone hat das Plugin in sein aufgenommen, worüber die Weiterentwicklung nachvollzogen werden kann.

Die Nutzung des Plugins erfolgt auf eigene Gefahr. Aktuelle Version s3.TUP

Lasst uns den Thread für den Support und zur Sammlung von Ideen zur Weiterentwicklung des Plugins nutzen.

s3.TUP ist seit 17.02.2020 Bestandteil von und erweitert es um das zusätzliche Kommando tcupdate.
Es besteht aus den folgenden Dateien/Ordnern:
  • support/functions/_plugin_update_toolchain Programmcode des Plugins
  • support/configs/plugin_update_toolchain.config Konfigurationsdatei (diese wird automatisch erstellt, wenn nicht vorhanden)
  • support/crosstool/templates/* Vorlagen/Templates für zum Erstellen der Cross Toolchains
  • support/crosstool/source Buildumgebung der Cross Toolchain Generatorrn und
Es ist keine separate Installation des Plugins notwendig. Ruft man ./s3 ohne weitere Parameter auf, findet man unter simplebuild options das zusätzliche Kommando tcupdate. Beim Start des Plugins wird das Vorhandensein notwendiger Pakete geprüft und diese automatisch installiert.

Du musst Regestriert sein, um das angehängte Bild zusehen.
Du musst Regestriert sein, um das angehängte Bild zusehen.
Du musst Regestriert sein, um das angehängte Bild zusehen.

Das Plugin kann seit Version 0.10.0 über das s3 Main Menü und weiteren Untermenüs aufgerufen werden.


Du musst Regestriert sein, um das angehängte Bild zusehen.

Hier werden die in s3 bereits installierten Toolchains aufgelistet. Die mit / erstellten Toolchains zeigen am Ende der Beschreibung in grün den Zeitpunkt der Erstellung an.
<Update> Öffnet für die ausgewählte Toolchain das Menü "Library Update Menu".
<Exit> Beendet das Plugin.
<Create> Öffnet das Menü "Cross Tool Template Menu".
<Backup> Es wird ein Backup der ausgewählten Toolchain als tar.xz-Archiv im downloads-Ordner erstellt, welches sich via ./s3 tcrepair wiederherstellen lässt.

Du musst Regestriert sein, um das angehängte Bild zusehen.

Hier werden die aktuellen Versionen der Libraries (OpenSSL, libusb, PCSC-Lite, zlib) aufgelistet, welche man in der entsprechenden Toolchain aktualisieren bzw. installieren kann. In der Toolchain vorhandene Libraries werden automatisch erkannt und vorausgewählt (wenn ein Update möglich ist). In den Spalten NEW/CURRENT findet ein Vergleich der Version statt. In diesem Menü wird die Mehrfachauswahl unterstützt. Die ausgewählte Toolchain wird im Titel des Menüs angezeigt. Wenn zum Test Alpha/Beta-Versionen von Libraries in der Liste angezeigt werden sollen, kann dies über den Befehl ./s3 tcupdate --config "LIBS_LIST_BETA" "1" aktiviert werden.
<Start> Startet den Prozess zur Kompilierung und Installation der ausgewählten Libraries in der entsprechenden Toolchain.
<Back> Schließt das Menü "Library Update Menu" und wechselt zum vorhergehenden Menü.
<Exit> Beendet das Plugin. (Wird nur beim Aufruf via ./s3 tcupdate TOOLCHAIN-NAME angezeigt)
<Info> Zeigt Detailinformationen der entsprechenden Toolchain und Konfigurationseinstellungen der ausgewählten Library an.

Du musst Regestriert sein, um das angehängte Bild zusehen.

In diesem Menü können komplett neue Toolchains erstellt werden. Die Funktionalität stellen die Toolchain-Generatoren und in Abhängigkeit zum Template zur Verfügung. Zur Auswahl stehen Vorlagen/Templates mit welchen bzw. "gefüttert" werden, um neue Toolchain für s3 zu erstellen. Die mit diesen Templates erstellten Toolchains sind bereits für die unterschiedlichen Systeme getestet worden und lauffähig. Bitte achtet grundsätzlich darauf, dass ./s3 nicht als root bzw. via sudo ausgeführt wird. Dies ist nicht notwendig und birgt einige Sicherheitsrisiken! Falls es Gründe für die Ausführung als root gibt, kann dies über den Befehl ./s3 tcupdate --config "CTNG_BUILD_AS_ROOT" "1" aktiviert werden.
<Start> Startet den Prozess zur Kompilierung, Installation und Registrierung der ausgewählten Toolchains. Auch hier wird im downloads-Ordner von s3 ein Archiv erstellt, welches sich via tcrepair wiederherstellen lässt. Bitte achtet auf den Hinweis zu rot eingefärbten Templates. Diese sind namensgleich mit bereits installierten Toolchains und werden bei der Kompilierung überschrieben. Fett rot eingefärbte Templates signalisieren, das das Template im Vergleich zu einem existierenden Toolchain in einer neueren Version vorliegt. Bei der Neuerstellung bereits vorhandener Toolchains werden automatisch die bereits integrierten Libraries der vorhandenen Toolchain in die neu erstellte Toolchain reintegriert. Dieser Automatismus kann über den Befehl ./s3 tcupdate --config "LIBS_AUTO_INTEGRATE" "0" deaktiviert werden.
<Setup> Installiert die Build-Umgebungen von im Ordner support/crosstool/crosstoll-ng und im Ordner support/crosstool/freetz-ng.
<Back> Schließt das Menü "Cross Toolchain Template Menu" und wechselt zum vorhergehenden Menü.
<Exit> Beendet das Plugin. (Wird nur beim Aufruf via ./s3 tcupdate -c bzw. --create angezeigt)
<Edit> Öffnet das Menü von zur manuellen Bearbeitung der Konfigurationsoptionen der Toolchain (Menü crosstool-NG).

Über die Konfigurationsdatei lassen sich viele Parameter des Plugins verändern. Ich habe die Parameter in der Konfigurationsdatei entsprechend kommentiert. Änderungen sollten nur durch erfahrene Linux-Benutzer vorgenommen werden. Die Konfigurationsdatei lässt sich jederzeit via ./s3 tcupdate -r bzw. --reset zurücksetzen. Dabei wird die aktuelle Datei mit Zeitstempel gesichert und automatisch eine neue erstellt. Diese Automatik ermittelt jedesmal beim Zurücksetzen der Konfigurationsdatei die neuesten Version der Libraries OpenSSL, libusb, PCSC-Lite und zlib. Es ist dadurch sinnvoll von Zeit zu Zeit eine neue Konfigurationsdatei zu stellen, um die aktuellsten Versionen der Libraries zur Auswahl zu haben.





s3.TUP is now included in simplebuild3 (Please update simplebuild3)

STAPI libraryDVB APIUSE variableoscam Patch
libwi.a (19.5 ko)old (stable)USE_STAPIoscam-stapi.patch (oscam 11643)
libwi2.a (22.x ko)new (unstable, but faster)
integrates the new parameter "Wi socket id:" in WebIf
USE_STAPI, USE_WIoscam-stapi-wi.patch (oscam 11668)

  • Save only one of the patches (oscam-stapi.patch, oscam-stapi-wi.patch) in folder support/patches (remove txt extention)

  • Update toolchain.cfg in folder support/toolchain.cfg/TOOLCHAIN-NAME if you use oscam-stapi.patch (old DVB API):
Code:
default_use="USE_UTF8 USE_LIBCRYPTO";
stapi_lib_custom="libwi.a";
  • Update toolchain.cfg in folder support/toolchain.cfg/TOOLCHAIN-NAME if you use oscam-stapi-wi.patch (new DVB API):
Code:
default_use="USE_UTF8 USE_LIBCRYPTO USE_WI";
stapi_lib_custom="libwi2.a";
  • Checkout oscam: ./s3 checkout
  • Patch oscam: ./s3 svnpatch
  • Build oscam: ./s3 TOOLCHAIN-NAME -p=PROFIL-NAME oder ./s3 menu

  • Einen der beiden Patches (oscam-stapi.patch, oscam-stapi-wi.patch) in Ordner support/patches speichern (ohne txt am Ende)

  • toolchain.cfg in Ordner support/toolchain.cfg/TOOLCHAIN-NAME bei Nutzung von oscam-stapi.patch (old DVB API) anpassen:
Code:
default_use="USE_UTF8 USE_LIBCRYPTO";
stapi_lib_custom="libwi.a";
  • toolchain.cfg in Ordner support/toolchain.cfg/TOOLCHAIN-NAME bei Nutzung von oscam-stapi-wi.patch (new DVB API) anpassen:
Code:
default_use="USE_UTF8 USE_LIBCRYPTO USE_WI";
stapi_lib_custom="libwi2.a";
  • SVN-Checkout durchführen: ./s3 checkout
  • oscam patchen: ./s3 svnpatch
  • oscam bauen: ./s3 TOOLCHAIN-NAME -p=PROFIL-NAME oder ./s3 menu
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zuletzt bearbeitet:
Hab echt auf dieses Tool gewartet!
Nachdem ich endlich eine Toolchain für meinen Archer AC1740 V2 gefunden habe stellt sich raus das der toolchain libusb und pcsc fehlt.
Also hab ich dein tool installiert (Ubuntu 18.04.3). Leider bricht der Prozess ab siehe LOG:
================================================================================
build command list for (1/1) openwrt-19.07-ath79-musl: library libusb 1.0.23:
================================================================================
cd /tmp/lib_source/2020-01-27_16:17:51/libusb-1.0.23/
export TOOLCHAIN=/opt/s3_releases-s3_rc6/support/toolchains/openwrt-19.07-ath79-musl;
export CC=/opt/s3_releases-s3_rc6/support/toolchains/openwrt-19.07-ath79-musl/bin/mips-openwrt-linux-musl-wrapper.sh;
export PATH="$TOOLCHAIN/bin:$PATH";
./bootstrap.sh;
./configure --prefix=/opt/s3_releases-s3_rc6/support/toolchains/openwrt-19.07-ath79-musl/ --host=mips-openwrt-linux-musl --disable-udev;
make;
make install;
================================================================================
_plugin_update_toolchain: Zeile 357: ./bootstrap.sh: Datei oder Verzeichnis nicht gefunden
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for mips-openwrt-linux-musl-strip... mips-openwrt-linux-musl-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for mips-openwrt-linux-musl-gcc... /opt/s3_releases-s3_rc6/support/toolchains/openwrt-19.07-ath79-musl/bin/mips-openwrt-linux-musl-wrapper.sh
checking whether the C compiler works... no
configure: error: in `/tmp/lib_source/2020-01-27_16:17:51/libusb-1.0.23':
configure: error: C compiler cannot create executables
See `config.log' for more details
make: *** Es wurden keine Ziele angegeben und keine „make“-Steuerdatei gefunden. Schluss.
make: *** Keine Regel, um „install“ zu erstellen. Schluss.
 
Zuletzt bearbeitet von einem Moderator:
Supi, die erste Antwort im Thread. Schade, dass es bei dir nicht funktioniert. Ich gucke mir das heute Abend mal genauer an. Die export CC Zeile sieht auf den ersten Blick komisch aus. Kannst du mir dein Toolchain zukommen lassen oder kann ich es irgendwo herunterladen?
 
Zuletzt bearbeitet:
Hab die Toolchain hier heruntergeladen und in Simplbuild S3 eingebaut:
 
@laufbursche1990: Fehler ist in Version 0.8.2 gefixt und im 1. Beitrag eingefügt. Sollte dann jetzt bei dir durchlaufen :blush:
Aber ob diese Toolchain ansich funktioniert, kann ich gar nicht sagen. Da passen einige Pfade irgendwie nicht zusammen...
 
Zuletzt bearbeitet:
Super! Vielen Dank :) Libusb läuft nun durch.
Bei pcsc gibt es noch einen Fehler:

 
Ich sehe keinen Fehler :confused1:
Kannst du mit dieser Toolchain oscams bauen? Ich bekomme das nicht hin.

Ich habe mir einmal über eine bei mir funktionierende Toolchain extrahiert und die Libraries eingebaut. Damit lässt sich oscam bauen.
 
Zuletzt bearbeitet:
Wenn ich die libusb einbaue geht es, wenn ich die pcsc einbaue nicht.
Ich dachte es liegt an den Meldungen ab Zeile 573.

Es kann natürlich auch an meiner Tollchain liegen.
Ich werde mal Deine ausprobieren und gebe dann Feedback.
Kann aber etwas dauern bin zur Zeit unterwegs.
 
Am Besten wäre es natürlich, wenn ich eine Vorlage zur Verfügung stelle, mit der man ein aktuelles Toolchain für den Archer auf Basis crosstool-NG selbst erzeugen kann. Ich gucke mal...
 
Ich dachte es liegt an den Meldungen ab Zeile 573.
mips-openwrt-linux-musl-gcc.bin: warning: environment variable \'STAGING_DIR\' not defined
Diese Warnungen kommen auch schon weiter oben und werden von der Toolchain ausgegeben, da die Variable STAGING_DIR nicht definiert. Ob das jetzt ein wirkliches Problem darstellt , kann ich nicht sagen. Kenne mich mit openwrt-Toolchains nicht aus. Guck mal in deine PN.
 
Da bisher die Rückmeldungen recht überschaubar sind und um das Thema nochmals aufzugreifen, hätte ich in der Tat Bedarf an Testern mit denen ich gemeinsam Vorlagen für die Erstellung weiterer Toolchains anfertigen kann.

Wichtig wäre, das ihr die entsprechenden Geräte im Zugriff habt, um notwendige Informationen bereit zustellen und oscams zu testen.

Vielleicht findet sich ja der ein oder andere...
 
bei mir hängt schon das eigentliche Setup des NG sprich es kommt die Meldung das ich erst das Setup ausführen soll versuche ich diese kommen etliche Fehler log folgt

ich benutze debian

habe auch die fehlenden Sachen alle installiert kann ./s3 tcupdate starten. dann hört es auf
 
Zuletzt bearbeitet von einem Moderator:
Danke für das Plugin, ich bin jetzt auch mal zum Testen gekommen.
Ich habe S3 auf einem Raspberry 4 installiert.
Dann habe ich das s3.TUP Plugin und darüber crosstool-ng installiert.
Dann habe ich mit s3.TUP die Toolchain für vuplus4k_arm erstellt und die Libs installiert.
Du musst Regestriert sein, um das angehängte Bild zusehen.

Hat also prima funktioniert und die gebaute OScam Version funktioniert.

Könnte man darüber auch die mipsoe20 Toolchain neu erstellen?
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zurück
Oben