Benutzer Diskussion:Bellum: Unterschied zwischen den Versionen

Aus TuxBoxWIKI
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(Die Seite wurde geleert.)
Markierung: Geleert
 
Zeile 1: Zeile 1:
= bbs =
bbs ist der Nachfolger von bs4cs, welches wiederum ein Spin-Off des Buildsystems von Seife speziell für Coolsteam Set-Top-Boxen war.<br />
Mit der Unterstützung der HD51 Set-Top-Box Platform war der Name bs4cs (buildsystem for coolstream) nicht mehr korrekt und wurde in bbs (bellum's buildsystem) geändert.


Grundlegende Änderungen an der Benutzung oder der Features wurden nicht vorgenommen.
Das Buildsystem erstellt eigentlich .opkg-Pakete, es ist damit aber auch die Erstellung von Neutrino Update .bin-Dateien und kompletten Flash-Images möglich.
Entstanden und getestet ist bbs auf einer Debian Strech Linux-Distribution.
'''Andere Linux-Distributionen können, sie müssen aber nicht funktionieren!'''
Am besten erstellt man sich dafür eine eigene virtuelle Maschine und verwendet Debian Strech.
== Vorbereitung ==
Folgende Pakete werden bei Debian Stretch zusätzlich zum '''minimalen Grundsystem''' (also ohne X-Desktop, etc.) benötigt:
* git (installiert automatisch gettext-base und patch)
* subversion
* make
* automake (installiert automatisch autoconf)
* cmake
* gcc
* g++
* bc
* bzip2
* gawk
* texinfo
* libtool-bin
* bison
* flex
* help2man
* pkg-config
* gperf
* lzma
* libarchive-dev
* libncurses5-dev
* libglib2.0-dev (installiert automatisch python und zlib1g-dev)
* liblzo2-dev
* ncftp
* dosfstools
Nun kann ('''als normaler Benutzer''') das Buildsystem heruntergeladen werden.<br />
bbs ist Hardware abhängig, daher muss es für die unterschiedlichen Plattformen in ein separates Verzeichnis geclont werden, z.B.:
''git clone https://git.code.sf.net/p/bstuff/bbs bbs-nevis''
oder
''git clone https://git.code.sf.net/p/bstuff/bbs bbs-apollo''
oder
''git clone https://git.code.sf.net/p/bstuff/bbs bbs-kronos''
oder
''git clone https://git.code.sf.net/p/bstuff/bbs bbs-hd51''
'''Anmerkung:''' Zur Vereinfachung wird im weiteren nur noch vom Verzeichnis &apos;bbs&apos; gesprochen.<br />
Dies bezieht sich dann auf das jeweilige Plattform-Verzeichnis, also &apos;''bbs-nevis''&apos;, &apos;''bbs-apollo''&apos;, &apos;''bbs-kronos''&apos; oder &apos;''bbs-hd51''&apos;.
Im verzeichnis 'bbs' sollte ein
* ''cd bs4cs''
* ''make toolcheck''
folgendes ausspucken:
''All required tools seem to be installed.''
''WARNING: /bin/sh is not linked to bash.''<br />
''This is not an error, just a hint.''
Falls dies der Fall ist, sind einmalig die folgenden make Make-Targets auszuführen:
* ''make dfolder''
* ''make preqs''
== Konfiguration und Benutzung ==
bbs wird über eine Config-Datei im Hauptverzeichnis des Buildsystems konfiguriert.<br />
Am besten kopiert man aus dem Verzeichnis 'doc' die Datei 'config.example' ins bbs-Hauptverzeichnis und benennt diese in 'config' um.
Folgende Variablen sollten mindestens an die jeweiligen Gegebenheiten angepasst werden:
* ''MAINTAINER = (Nick)-Name''
* ''BOXMODEL = hd51, tank, trinity, zee2, zee oder neo
* ''STB_IP = IP-Adresse der Set-Top-Box''
Nun kann die cross toolchain gebaut werden mit:
* ''make crosstool''
Danach noch die restlichen Vorbereitungen durchführen mit:
* ''make bootstrap''
Als nächstes muss der entsprechende Kernel gebaut werden.<br />
Für die '''HD51 STB''' kann dies direkt mit:
* ''make kernel''
durchgeführt werden.<br />
Für alle '''Coolstream STBs''' müssen zunächst die Kernel-Sourcen lokal geclont werden, der Kernel kompiliert und in ein Kernel-Image umgewandelt werden.<br />
Folgende Kommandos sind hierzu erforderlich:
* ''make kernel-git''
* ''make kernel''
* ''make kernel-image''
Jetzt können alle weiteren notwendigen Pakete (incl. Neutrino) gebaut werden mit:
* ''make system-pkgs''
== Flash-Images ==
Ein Flash-Image wird erzeugt mit:
* ''make flashimage''
Danach kann das Flash-Image mit:
* ''make flashimage-ftp''
auf die STB übertragen und mit der Neutrino-Update Funktion unter 'Menü Service -> Software-Aktualisierung -> Lokales Update' geflasht werden.
= Updates =
== Quellcode ==
Gibt es Änderungen am Neutrino-Quellcode, so kann das lokale Neutrino-Repository mit:
* ''make update-neutrino''
auf den neuesten Stand gebracht werden.
Gibt es Änderungen in den anderen Repositories, so können diese mit:
* ''make update-git''
aktualisiert und mit:
* ''make update-git-target''
in das Buildsystem eingespielt werden.
Das Buildsystem bbs selbst kann mit:
* ''make update-self''
aktualisiert werden.
== Neutrino Updates ==
=== opkg-Pakete ===
Nachdem der Quellcode aktualisiert wurde kann, ein neues Neutrino opkg-Paket mit:
* ''make neutrino-pkg''
erstellt werden.
=== Flash-Image ===
Um ein neues Flash-Image mit einem aktualisierten Neutrino opkg-Paket zu erzeugen, muss nach:
* ''make neutrino-pkg''
erneut ein:
* ''make flashimage''
ausgeführt werden.
Das dadurch erzeugte neue Flash-Image kann nun wieder mit:
* ''make flashimage-ftp''
auf die STB übertragen und mit der Neutrino-Update Funktion unter 'Menü Service -> Software-Aktualisierung -> Lokales Update' geflasht werden.
= Sonstiges =
== "Clean-Targets" ==
Will man Neutrino doch einmal komplett neu von vorne bauen, genügt ein:
* ''make neutrino-bin-clean''
== Hilfe ==
Eine Liste nützlicher make-Targets (Befehle) erhält man mit:
* ''make help''
Support bzgl. Fragen, Probleme, Anregungen, etc. gibt es im [https://forum.tuxbox-neutrino.org/forum/viewforum.php?f=90 Tuxbox-Board].
== bbs Source-Code ==
bbs erreicht man per Web-Frontend über https://sourceforge.net/p/bstuff/bbs/ci/master/tree/ -> 'History'
'''Have fun!'''<br />
bellum

Aktuelle Version vom 1. November 2018, 16:41 Uhr