1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

HowTo OScam Self-made (kompilieren)

Dieses Thema im Forum "HowTo´s" wurde erstellt von RoterBaron, 22. November 2011.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. RoterBaron
    Offline

    RoterBaron Stamm User

    Registriert:
    18. Mai 2011
    Beiträge:
    1.160
    Zustimmungen:
    478
    Punkte für Erfolge:
    0
    [SUP][SUB]Originalpost @ Streamboard-wiki[/SUB][/SUP]



    Intro


    Nachfolgend wird der Weg vom Auschecken bis hin zur kompilierten OSCam im Groben beschrieben. Alle aufgeführten Linux-Beispiele und Code-Fragmente wurden auf einem Linux-PC mit

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    6 getestet.


    Umgebung

    Ein Linux-PC wird vorausgesetzt. Selbstverständlich muss es kein physikalischer PC sein, eine virtuelle Maschine (VM) macht es genauso gut

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    . Der kostenlose

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    ist z.B. sehr empfehlenswert.
    Lade Dir ein

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    Deiner Wahl herunter, entweder als ISO zum Installieren oder als fertige VM. Wie oben bereits erwähnt, basieren die Linux-Inhalte in diesem Artikel auf eine Debian-Distribution. Bei Ubuntu sollte es allerdings fast genauso funktionieren.


    Benötigte Pakete

    Folgende Pakete werden zum Erstellen von OSCam benötigt:
    PHP:
    apt-get install cvs subversion
    apt
    -get install autoconf libccid automake libtool gettext make cmake
    apt
    -get install patch ncurses-bin gcc g++ flex bison pkg-config libpng3
     
    # zlib (development headers) - zlib1g-dev
    apt-get install tar bzip2 gzip zlib1g-dev

    # for ssl and aes:
    apt-get install libssl-dev libssl0.9.8

    # for pcsc:
    apt-get install libpcsclite1 libpcsclite-dev

    # for smartreader branch:
    apt-get install libusb-1.0-0 libusb-1.0-0-dev 


    Verzeichnisstruktur


    Code:
    root@srv01:/var/shares/linux# tree oscam -L 2 -d
    oscam 
    +-- bin               # hier landen die fertigen OSCam`s
    ¦   +-- archive        # hierein archivieren wir "alte" OSCam-Binaries
    +-- make               # in diesem Verzeichnis "machen" wir OSCam
    +-- svn-sb             # hier wird der OSCam-Sourcecode abgelegt
    ¦   +-- branches       # NICHT manuell erstellen! Wird beim ersten Auschecken erstellt 
    ¦   +-- tags           # NICHT manuell erstellen! Wird beim ersten Auschecken erstellt 
    ¦   +-- trunk          # NICHT manuell erstellen! Wird beim ersten Auschecken erstellt 
    +-- toolchains         # optional, dient zum Erstellen der OSCam für andere Plattformen - Cross-Compiling     
    +-- mipsel         # optional - mipsel-Toolchain, z.B. für Dream-Boxen     
    +-- ppc            # optional - ppc-Toolchain, z.B. für die DBox2     
    +-- tdt            # optional - sh4-Toolchain, z.B. für Kathrein-Boxen

    Sourcecode "auschecken" (SVN)

    Erstes Auschecken

    Wir holen zum ersten Mal die OSCam-Sourcen. Dies machen wir nur einmal:

    PHP:
    oscamRoot='/var/shares/linux/oscam' # anpassen!
    svnDir='svn-sb' # anpassen!
    cd $oscamRoot
    svn co http
    ://streamboard.gmc.to/svn/oscam $svnDir

    Update

    Nachdem wir die OSCam-Sourcen einmal komplett geholt haben, müssen wir unser lokales

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    nur noch aktualisieren, wenn sich am Quellcode etwas geändert hat:

    PHP:
    oscamRoot='/var/shares/linux/oscam'
    svnDir='svn-sb'
    svnBranch='trunk'
    cd $oscamRoot
    svn up $svnDir
    /$svnBranch

    Kompilieren

    Es ist absolut nichts magisches und in ein paar Sekunden erledigt

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    :

    PHP:
    # Variablen anpassen! **************************************
    oscamRoot='/var/shares/linux/oscam'
    ver='1.20' # ggf. anpassen; WIRD NUR IM DATEINAMEN VERWENDET, BEEINFLUSST NICHT DIE AUSZUCHECKENDE OSCAM-VERSION!
    svnDir='svn-sb'
    svnBranch='trunk'
    svnBuildDir=
    # ODER wenn wir von einem bestimmten Zweig bauen moechten...
    #ver='1.10'
    #svnBranch='tags'
    #svnBuildDir='1.10'
    # **********************************************************
    cd $oscamRoot
    # aktuelle Sourcen auschecken ******************************
    svn up $svnDir/$svnBranch
    # "alte" OSCam`s archivieren (optional) ********************
    mv $oscamRoot/bin/oscam$oscamRoot/bin/archive/
    #
    cd $oscamRoot/make
    # i686 *****************************************************
    # BENOETIGTE MODULE ANPASSEN!
    rm -fr $oscamRoot/make/
    cmake -DWEBIF=-DHAVE_DVBAPI=-DIRDETO_GUESSING=-DCS_ANTICASC=1  -DWITH_DEBUG=-DCS_WITH_DOUBLECHECK=-DCS_LED=-DQBOXHD_LED=0  -DCS_LOGHISTORY=-DWITH_SSL=\
          -
    DMODULE_CAMD33=-DMODULE_CAMD35=-DMODULE_CAMD35_TCP=0  -DMODULE_NEWCAMD=-DMODULE_CCCAM=-DMODULE_GBOX=-DMODULE_RADEGAST=1  -DMODULE_SERIAL=-DMODULE_MONITOR=-DMODULE_CONSTCW=\
          -
    DREADER_NAGRA=-DREADER_IRDETO=-DREADER_CONAX=1  -DREADER_CRYPTOWORKS=-DREADER_SECA=-DREADER_VIACCESS=1  -DREADER_VIDEOGUARD=-DREADER_DRE=-DREADER_TONGFANG=\
          -
    DCMAKE_BUILD_TYPE=Debug \
          -
    DLIBUSBDIR=/usr -DCS_CONFDIR=/var/keys ../$svnDir/$svnBranch/$svnBuildDir
    # wenn mehrere CPU-Kerne zur Verfügung stehen...
    make -j4 # wir nutzen 4 CPU-Kerne zum Kompilieren
    # ...ansonsten nur "make" ausführen
    # erstellte Binaries verschieben... ************************
    if [ -"oscam" ]; then mv -f oscam ../bin/oscam-i686-$ver-$(svnversion  -nc ../$svnDir/$svnBranch/$svnBuildDir cut -':' -f 2); fi;
    if [ -
    "utils/list_smargo" ]; then mv -f utils/list_smargo ../bin/; fi;



    Für andere Plattformen kompilieren

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    ist das magische Wort. Um OSCam für andere Plattformen zu kompilieren sind so genannte

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    notwendig.

    Beispiel DM800

    Toolchain-Datei:
    PHP:
    # toolchain-mipsel.cmake
    set (OSCAM_SYSTEM_NAME Tuxbox)
    set (CMAKE_SYSTEM_NAME Linux)
    set (CMAKE_C_COMPILER /var/shares/linux/oscam/toolchains/mipsel/bin/mipsel-unknown-linux-gnu-gcc)
    set (CMAKE_SYSTEM_PROCESSOR mips)

    Auschecken und kompilieren:
    PHP:
    # Variablen anpassen! **************************************
    oscamRoot='/var/shares/linux/oscam'
    ver='1.20' # dient nur fuer den Dateinamen
    svnDir='svn-sb'
    svnBranch='trunk'
    svnBuildDir=
    # **********************************************************
    cd $oscamRoot
    # aktuelle Sourcen auschecken ******************************
    svn up $svnDir/$svnBranch
    # "alte" OSCam`s archivieren (optional) ********************
    mv $oscamRoot/bin/oscam$oscamRoot/bin/archive/
    #
    cd $oscamRoot/make
    # mipsel ***************************************************
    rm -fr $oscamRoot/make/
    # BENOETIGTE MODULE ANPASSEN!
    cmake -DWEBIF=-DHAVE_DVBAPI=-DIRDETO_GUESSING=-DCS_ANTICASC=1  -DWITH_DEBUG=-DCS_WITH_DOUBLECHECK=-DCS_LED=-DQBOXHD_LED=0  -DCS_LOGHISTORY=-DWITH_SSL=\
          -
    DMODULE_CAMD33=-DMODULE_CAMD35=-DMODULE_CAMD35_TCP=0  -DMODULE_NEWCAMD=-DMODULE_CCCAM=-DMODULE_GBOX=-DMODULE_RADEGAST=0  -DMODULE_SERIAL=-DMODULE_MONITOR=-DMODULE_CONSTCW=\
          -
    DREADER_NAGRA=-DREADER_IRDETO=-DREADER_CONAX=0  -DREADER_CRYPTOWORKS=-DREADER_SECA=-DREADER_VIACCESS=0  -DREADER_VIDEOGUARD=-DREADER_DRE=-DREADER_TONGFANG=\
          -
    DLIBUSBDIR=/var/shares/linux/oscam/lib-mipsel/usr  -DCS_CONFDIR=/usr/keys  -DCMAKE_TOOLCHAIN_FILE=../toolchains/toolchain-mipsel.cmake  ../$svnDir/$svnBranch/$svnBuildDir
    make 
    -j4
    if [ -"oscam" ]; then mv oscam ../bin/oscam-mipsel-$ver-$(svnversion  -nc ../$svnDir/$svnBranch/$svnBuildDir cut -':' -f 2); fi;

    Build per Menü konfigurieren

    Wenn man immer nur für eine Plattform baut, kann man die Konfiguration auch über ein Menü einstellen. Somit lassen sich die o.a. Parameter bei den "cmake"-Beispielen ersparen.
    Um das Menü-Skript auszuführen:

    PHP:
    cd $oscamRoot/$svnDir/trunk/
    ./
    config.sh

    Erklärungen zur menügeführten Konfiguration

    [TABLE="class: grid, width: 100%, align: left"]

    Webif support
    OSCam wird mit Webinterface kompiliert (Überwachung und Einstellung über Browser somit möglich)

    OpenSSL support
    Erlaubt die Nutzung von https für das Webinterface und damit einen verschlüsselten Zugriff. Andernfalls steht nur reines http zur Verfügung. Des Weiteren werden interne Cryptoroutinen nicht mehr verwendet sondern stattdessen auf OpenSSL zurückgegriffen.

    Dvbapi support
    Erlaubt die direkte Dekodierung des laufenden Fernsehprogramms auf bestimmten unterstützen Receivern. Andernfalls muss ein separater EMU (mgcamd, cccam, camd3, etc.) dafür verwendet werden der sich dann zu OSCam verbindet.

    Gbox support
    Ein CS Protokoll

    Anticasc support
    Anticascading-Support über die Configdatei oscam.ac. Man kann damit verhindern, dass ein Client weitershared (wird erkannt über die Anzahl der Requests innerhalb einer Zeitspanne).

    ECM doublecheck
    Erlaubt die Benutzung des double_check-Parameters. Damit werden ECMs+DCWs immer von zwei (oder mehr) Receivern abgefragt um sicherzugehen, dass das Ergebnis identisch ist.

    Irdeto guessing
    Erlaubt die Nutzung der irdeto.ird um eine Irdeto guessing table zu hinterlegen.

    Debug
    Erweiterte Fehlerausgaben sind im Betrieb möglich.

    LED support
    LED der Dockstar wird angesteuert

    Qboxhd-LED support
    LED der QBoxHD wird angesteuert

    CS_Log history
    Das Log wird gespeichert. Wird benötigt, um Ausgaben der Zugriffe im Webinterface zu erhalten.

    Monitor
    Man kann mit einem separaten Monitorprogramm (z.B. Micromon) die Ausgaben der Oscam anzeigen lassen (Alternative/Ergänzung zum Webinterface). Der Monitor Port wird in der oscam.config eingestellt.

    Camd33
    CS Protokoll

    Camd35 UDP
    CS Protokoll

    Camd35 TCP
    CS Protokoll

    Newcamd
    CS Protokoll

    Cccam
    CS Protokoll

    Radegast
    CS Protokoll

    Serial
    wird benutzt wenn ein Receiver über ein serielles Kabel mit oscam verbunden wird

    ConstCW
    ein "Cryptsystem" bei dem immer das gleiche ControlWord verwendet wird.

    Cardreader
    OSCam wird als Cardreader kompiliert

    WICHTIG!
    Wenn man OSCam als Client kompiliert, der auch EMMs senden soll, dann muss zwingend das jeweilige Kartensystem mitkompiliert werden!

    Nagra
    OSCam kann Nagra Karten auslesen.

    Irdeto
    OSCam kann Irdeto Karten auslesen.

    Conax
    OSCam kann Conax Karten auslesen.

    Crytoworks
    OSCam kann Crytoworks Karten auslesen.

    Seca
    OSCam kann Seca Karten auslesen.

    Viaccess
    OSCam kann Viaccess Karten auslesen.

    Dre
    Auch ein Crypt-System für Karten.

    Tongfang
    Auch ein Crypt-System für Karten.
    [/TABLE]
     
    #1
    udo1toni, dodo83, Simpsonn und 10 anderen gefällt das.
  2. phantom

    Nervigen User Advertisement

  3. al-x83
    Offline

    al-x83 Super-Moderator Digital Eliteboard Team

    Registriert:
    10. Januar 2012
    Beiträge:
    13.424
    Zustimmungen:
    12.689
    Punkte für Erfolge:
    113
    Geschlecht:
    männlich
    Beruf:
    SysAdmin
    Ort:
    Paradise City
    AW: simplebuild

    Da das obige HowTo schon etwas Staub angesetzt hat, hab ich mal was aktuelles verfasst.
    Dieser Post bezieht sich auf ein aktuelles Debain 6/7/8 System, für welches OScam kompiliert werden soll.

    Code:
    sudo apt-get update && sudo apt-get install build-essential subversion libssl-dev libpcsclite-dev libusb-1.0-0-dev dialog pcscd
    danach
    Code:
    svn co http://www.streamboard.tv/svn/oscam/trunk oscam-svn
    cd oscam-svn
    um Oscam an zu passen:
    Code:
    make config
    um Oscam zu bauen:
    Code:
     make
    um den Sourcecode auf die letzte Revision up zu daten:
    Code:
    svn update
    Wenn man OScam mit Libusb bauen will
    Code:
    make USE_LIBUSB=1
    
    mit Unterstützung für PC/SC Reader:
    Code:
    make USE_PCSC=1
    mit SSL Verschlüsselung:
    Code:
    make USE_SSL=1
    Die USE Befehle lassen sich natürlich auch kombinieren
     
    Zuletzt bearbeitet: 8. Januar 2015
    #2
    Lude83, bpf_cluster, kosmo15 und 5 anderen gefällt das.
  4. al-x83
    Offline

    al-x83 Super-Moderator Digital Eliteboard Team

    Registriert:
    10. Januar 2012
    Beiträge:
    13.424
    Zustimmungen:
    12.689
    Punkte für Erfolge:
    113
    Geschlecht:
    männlich
    Beruf:
    SysAdmin
    Ort:
    Paradise City
    AW: OScam Self-made (kompilieren)

    Falls OScam mit Modern WebIf auschecken will, muss der Befehl so lauten:
    Code:
    svn co http://www.streamboard.tv/svn/oscam-addons/modern oscam-svn
     
    #3
    gorgone, bpf_cluster, kosmo15 und 2 anderen gefällt das.
  5. al-x83
    Offline

    al-x83 Super-Moderator Digital Eliteboard Team

    Registriert:
    10. Januar 2012
    Beiträge:
    13.424
    Zustimmungen:
    12.689
    Punkte für Erfolge:
    113
    Geschlecht:
    männlich
    Beruf:
    SysAdmin
    Ort:
    Paradise City
    AW: OScam Self-made (kompilieren)

    Hier noch wie man Patches einspielt, sollte aber beim jeweiligen Patch dokumentiert sein.
    Ich zeige es anhand von OScam-Emu:

    Man muss sich im Verzeichnis befinden, in welches man via svn den Sourcecode von OScam geladen hat

    Download:
    Code:
    wget https://github.com/oscam-emu/oscam-emu/raw/master/oscam-emu.patch
    Patchen:
    Code:
    patch -p0 < oscam-emu.patch
    Danach wie gewohnt weiter kompilieren
     
    #4
    Bikerdad, Buttman, bpf_cluster und 3 anderen gefällt das.
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen