[1] 2 3 ... 7 >>> Archiv / MLD 4.x / Development / Paket selber bauen
 

Offline TimUx

  • MLD-Tester
  • Expert Member
  • ******
  • Posts: 755
    • View Profile
Paket selber bauen
« on: March 27, 2014, 11:26:18 »
Hallo zusammen,
da ich mich im Moment etwas intensiver mit MLD und dessen Möglichkeiten beschäftige (Siehe Thread: http://www.minidvblinux.de/forum/index.php/topic,5713.0.html )

In dem zusammenhang habe ich mich auch mit Addons bauen, Entwickler Umgebung usw beschäftigt.
Nach diversen Anleitungen und Howtos ist mir auch klar, wie ich Die Entwicklerumgebung und bestehende Addons bauen kann.
Dies habe ich sogar schon hinbekommen.

Was genau muss ich aber tun, wenn ich eingene Addons bauen möchte.
Mir schebt da z.B. MD-Raid, plex media Server usw, vor.

Bis jetzt habe ich verstanden, dass alle DEBs installiert sein müssen.
Ein Config-File für das Addon muss erstellt werden und im Ordner Template müssen im Prinzip alle Daten der Software (Config-Files, Binaries, Skripte, ...) mit entsprechender Ordner-Struktur liegen.
Da genau hänge ich aber gerade etwas.
Wie genau muss/kann ich alle benötigeten Dateien und Ordner einer Software im Template Ordner anlegen?
Gibt es da ein Trick?

Mit "dpkg -L xbmc" sieht man ja z.B. alle im paket enthaltenen Files und Ordner, welche dann vermutlich im Template Ordner müssen.

Falls ich total auf dem Holzweg bin, sagt mir es bitte direkt und unverblümt.  ;)

Gruß Timo
« Last Edit: March 27, 2014, 13:27:54 by TimUx »
VDR Server:
- ASUS TROOPER B150 D3 -- Intel i5 6400T -- 8GB RAM -- 128GB SSD -- 2x L4M-Twin S2 ver 6.5
MLD 5.4.0 Server (streamdev server, vdr-plugin-epg2vdr, ...)

NAS:
Rockpi 4, 4GB, SATA-Head 4x 2TB SSD ZFS Raid 5, Nextcloud-Pi, Jellyfin-Server, NFS, SMB, EPG-Daemon

Clients:
- Rasperry pi 3 
MLD 5.4.0 (streamdev-client, epg2vdr)

- Sony Android TV (RoboTV, Jellyfin, ...)

-Xiaomi Android TV Stick (RoboTV, Jellyfin, ...)

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20533
    • View Profile
    • ClausMuus.de
Addon selber bauen
« Reply #1 on: March 27, 2014, 11:46:03 »
Hi,

bisher bist DU auf dem richtigen Weg.Und ich hab auch gleich ein paar Tipps für Dich.
- Für dein Software Raid Projekt empfehle ich z.B. das xfs Paket (ab der MLD-4 nennen wir die Erweiterungen nicht mehr Addons, sondern Pakete, was von technischen Unterschieden herrührt ;) ) als Vorlage zu nehmen.
- In Template Ordner werden keine Binaries kopiert, sondern lediglich Softlinks auf die Binaries (oder Ordner) im root Filesystem erstellt. Das gleiche gilt für Konfigurationsdateien die unverändert vom Devel System übernommen werden. Selbst erstellte Scripte (z.B. init Scripte) werden hingegen direkt im template Ordner erstellt.
- Es werden nicht alle Dateien aus dem Ursprungspaket übernommen, sondern nur die für den Betrieb benötigten. Header files (/usr/include/...) werden z.B. nicht mit übernommen, und auch nicht umfangreiche Dokumentationen oder zusätzliche Tools, die kaum jemand benötigt. Die Pakete sollen halt möglichst klein gehalten werden.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 6.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 22TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline TimUx

  • MLD-Tester
  • Expert Member
  • ******
  • Posts: 755
    • View Profile
Paket selber bauen
« Reply #2 on: March 27, 2014, 13:33:40 »
Hi Claus (noch einmal)  ;)

Danke für die Infos / Tipps.

Wie in meinem RAID Thread schon erwähnt, werde ich mich dann mal am MD Paket versuchen, welches recht überschaubar sein müsste.

Du hast geschrieben, dass die binaries oder ganze Ordner verlinkt werden.
Sollte ich eine bestimmte Software in z.B. /opt/tool installieren samt aller binaries, configs usw
bedeuted dies, ich bräuchte nur diesen Ordner verlinken?

Macht es noch Sinn Addons für MLD 3.X zu bauen oder sollte ich meine Zeit eher ins MLD 4.X investieren?

Gruß Timo
VDR Server:
- ASUS TROOPER B150 D3 -- Intel i5 6400T -- 8GB RAM -- 128GB SSD -- 2x L4M-Twin S2 ver 6.5
MLD 5.4.0 Server (streamdev server, vdr-plugin-epg2vdr, ...)

NAS:
Rockpi 4, 4GB, SATA-Head 4x 2TB SSD ZFS Raid 5, Nextcloud-Pi, Jellyfin-Server, NFS, SMB, EPG-Daemon

Clients:
- Rasperry pi 3 
MLD 5.4.0 (streamdev-client, epg2vdr)

- Sony Android TV (RoboTV, Jellyfin, ...)

-Xiaomi Android TV Stick (RoboTV, Jellyfin, ...)

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20533
    • View Profile
    • ClausMuus.de
Paket selber bauen
« Reply #3 on: March 27, 2014, 14:39:39 »
Hi,

Du solltest gleich die MLD-4 nehmen, da wir die MLD-3 nicht mehr weiter entwickeln. Es ist aber auch mit geringem Aufwand möglich MLD-3 Addons zur MLD-4 zu portieren.

Und ja, es reicht aus z.B. den Ordner unter /opt/tool nach .../MLD/md/template/opt/tool/ zu verlinken. Schau Dir dazu mal das xfs Paket an. Was Du dabei jedoch bedenken solltest, ist dass Tools die nicht per apt-get installiert wurden auf dem Nightbuild System nicht zur Verfügung stehen werden, also entsprechende MLD Pakete nicht auf dem Nightbuild gebaut werden können.
Wenn Du also irgendwas selbst kompilierst, um es in ein MLD Paket einzubauen, so muss das alles unter ...MLD/md/src/... geschehen, und vollständig ohne root Rechte Auskommen. Es darf also nicht in's System installiert werden. Das Makefile Deines Paketes muss sich dann die erstellten Tools zusammensuchen und in's Paket übertragen.

Übrigens kannst Du auch schon jetzt, wo Du noch keinen Schreib Zugriff auf das MLD Reposetory hast, bereits das GIT verwenden, indem Fall halt eben nur lokal.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 6.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 22TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline TimUx

  • MLD-Tester
  • Expert Member
  • ******
  • Posts: 755
    • View Profile
Paket selber bauen
« Reply #4 on: March 27, 2014, 16:34:25 »
OK danke.

Ich bin gerade am mdadm dran.
Sieh bis jetzt schon mal ganz gut aus, zumindest was das Paket bauen angeht.

Wenn ich das Ganze jetzt auf dem MLD 4 Server Installieren möchte, reicht es aus das "mdadm_0-4.opk" auf den Server zu laden und mit dem "apm" Tool zu installieren?

Gruß TImo
VDR Server:
- ASUS TROOPER B150 D3 -- Intel i5 6400T -- 8GB RAM -- 128GB SSD -- 2x L4M-Twin S2 ver 6.5
MLD 5.4.0 Server (streamdev server, vdr-plugin-epg2vdr, ...)

NAS:
Rockpi 4, 4GB, SATA-Head 4x 2TB SSD ZFS Raid 5, Nextcloud-Pi, Jellyfin-Server, NFS, SMB, EPG-Daemon

Clients:
- Rasperry pi 3 
MLD 5.4.0 (streamdev-client, epg2vdr)

- Sony Android TV (RoboTV, Jellyfin, ...)

-Xiaomi Android TV Stick (RoboTV, Jellyfin, ...)

Offline skippy

  • MLD-Tester
  • Expert Member
  • ******
  • Posts: 2280
    • View Profile
Paket selber bauen
« Reply #5 on: March 27, 2014, 16:53:52 »
Hi Timo,

die MLD 4 nutzt den Paketmanager "opkg". Also
Code: [Select]
opkg install <paketname>
(habe ich aus dem Kopf geschrieben, der Befehl kann auch etwas anders sein) opkg zeigt eine Liste der möglichen Parameter an

Viele Grüße skippy
meine MLDs (show / hide)

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20533
    • View Profile
    • ClausMuus.de
Paket selber bauen
« Reply #6 on: March 27, 2014, 17:06:28 »
Hi,

da das Paket eventuell Abhängigkeiten hat, die auf dem MLD-Server nicht verfügbar sind, klappt das nicht unbedingt.
Was aber auf jeden Fall geht, ist die Verwendung des devel Servers: http://www.minidvblinux.de/wiki/mld/entwicklung/eigener_addons_server
(Ich aktualisiere die Wiki Seite gerade für die MLD-4 was noch nen paar Minuten dauern wird...)

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 6.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 22TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline TimUx

  • MLD-Tester
  • Expert Member
  • ******
  • Posts: 755
    • View Profile
Paket selber bauen
« Reply #7 on: March 27, 2014, 17:40:00 »
OK,
wenn ich das richtig gesehen habe, hat er die abhängigen libs gleich mit gebaut und als opk abgelegt.

Im Moment scheitere ich nur noch daran, dass ich mal schnell ein MLD 4 Basis oder Server ISO in virtualbox booten wollte, was zu einem Kernel Panic führt.

Wie ich in einem anderen Thread gelesen habe, gibt es da wohl noch Probleme.
Ist vmware player eine Alternative?

Übrigens MLD 3 läuft bei mir ohne Probleme in vbox.

VDR Server:
- ASUS TROOPER B150 D3 -- Intel i5 6400T -- 8GB RAM -- 128GB SSD -- 2x L4M-Twin S2 ver 6.5
MLD 5.4.0 Server (streamdev server, vdr-plugin-epg2vdr, ...)

NAS:
Rockpi 4, 4GB, SATA-Head 4x 2TB SSD ZFS Raid 5, Nextcloud-Pi, Jellyfin-Server, NFS, SMB, EPG-Daemon

Clients:
- Rasperry pi 3 
MLD 5.4.0 (streamdev-client, epg2vdr)

- Sony Android TV (RoboTV, Jellyfin, ...)

-Xiaomi Android TV Stick (RoboTV, Jellyfin, ...)

Offline skippy

  • MLD-Tester
  • Expert Member
  • ******
  • Posts: 2280
    • View Profile
Paket selber bauen
« Reply #8 on: March 27, 2014, 18:09:44 »
Ja Claus und ich haben Probleme damit, aber nur auf bestimmter Hardware (bei Claus ein PC im Büro und bei mir 2 Notebooks - Samsung und Medion). Grundsätzlich läuft es aber zum Beispiel auf meinem Medion PC. VMware habe ich noch nicht getestet.

Viele Grüße skippy
meine MLDs (show / hide)

Offline TimUx

  • MLD-Tester
  • Expert Member
  • ******
  • Posts: 755
    • View Profile
Paket selber bauen
« Reply #9 on: March 27, 2014, 18:20:41 »
Bei mir läuft es weder auf meinem dienstlichen Dell Notebook unter Windows noch auf meinem selbst zusammengebauten PC mit Asus Board mit i5-2400 CPU und Ubuntu 13.10.

Ich teste mal vmware.

VDR Server:
- ASUS TROOPER B150 D3 -- Intel i5 6400T -- 8GB RAM -- 128GB SSD -- 2x L4M-Twin S2 ver 6.5
MLD 5.4.0 Server (streamdev server, vdr-plugin-epg2vdr, ...)

NAS:
Rockpi 4, 4GB, SATA-Head 4x 2TB SSD ZFS Raid 5, Nextcloud-Pi, Jellyfin-Server, NFS, SMB, EPG-Daemon

Clients:
- Rasperry pi 3 
MLD 5.4.0 (streamdev-client, epg2vdr)

- Sony Android TV (RoboTV, Jellyfin, ...)

-Xiaomi Android TV Stick (RoboTV, Jellyfin, ...)

Offline TimUx

  • MLD-Tester
  • Expert Member
  • ******
  • Posts: 755
    • View Profile
Paket selber bauen
« Reply #10 on: March 27, 2014, 18:40:06 »
Zur Info,
im vmware Player 6.0.1 auf Ubuntu 13.10 läuft MLD 4
VDR Server:
- ASUS TROOPER B150 D3 -- Intel i5 6400T -- 8GB RAM -- 128GB SSD -- 2x L4M-Twin S2 ver 6.5
MLD 5.4.0 Server (streamdev server, vdr-plugin-epg2vdr, ...)

NAS:
Rockpi 4, 4GB, SATA-Head 4x 2TB SSD ZFS Raid 5, Nextcloud-Pi, Jellyfin-Server, NFS, SMB, EPG-Daemon

Clients:
- Rasperry pi 3 
MLD 5.4.0 (streamdev-client, epg2vdr)

- Sony Android TV (RoboTV, Jellyfin, ...)

-Xiaomi Android TV Stick (RoboTV, Jellyfin, ...)

Offline TimUx

  • MLD-Tester
  • Expert Member
  • ******
  • Posts: 755
    • View Profile
Paket selber bauen
« Reply #11 on: March 27, 2014, 23:30:38 »
Mein Erster Versuch ist natürlich gescheitert.  ;)

Paket wurde gebaut, develserver läuft auch und pakt kann installiert werden.

Code: [Select]
MLD> opkg install mdadm
Installing mdadm (0-0) to root...
Downloading http://www.minidvblinux.de/download/4.0.0/files/timo/base/mdadm_0-0.opk.
Configuring mdadm.

MLD> opkg info mdadm
Package: mdadm
Version: 0-0
Status: install user installed
Section: filesystem
Architecture: i686
Maintainer: Timo Braun <email@timobraun.de>
Size: 382698
Filename: mdadm_0-0.opk
Description: Software Raid mit MD verwalten (mdadm)
Installed-Time: 1395962760

MLD> opkg status mdadm
Package: mdadm
Version: 0-0
Status: install user installed
Architecture: i686
Installed-Time: 1395962760

Allerdings kommt beim ausführen von mdadm ein fehler.

Code: [Select]
MLD> mdadm
/sbin/mdadm: line 1: syntax error: unexpected "("

Habt ihr einen Tipp, was das sein könnte?
Abhängigkeiten, Shell, ...

Danke & Gruß
Timo

VDR Server:
- ASUS TROOPER B150 D3 -- Intel i5 6400T -- 8GB RAM -- 128GB SSD -- 2x L4M-Twin S2 ver 6.5
MLD 5.4.0 Server (streamdev server, vdr-plugin-epg2vdr, ...)

NAS:
Rockpi 4, 4GB, SATA-Head 4x 2TB SSD ZFS Raid 5, Nextcloud-Pi, Jellyfin-Server, NFS, SMB, EPG-Daemon

Clients:
- Rasperry pi 3 
MLD 5.4.0 (streamdev-client, epg2vdr)

- Sony Android TV (RoboTV, Jellyfin, ...)

-Xiaomi Android TV Stick (RoboTV, Jellyfin, ...)

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20533
    • View Profile
    • ClausMuus.de
Paket selber bauen
« Reply #12 on: March 28, 2014, 00:22:59 »
Das ist recht einfach. Du hast das Paket unter Ubuntu 13.10 erstellt und nicht unter Ubuntu 13.04 wie es im Wiki beschrieben ist. Dadurch ist das Binary nicht kompatibel.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 6.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 22TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline TimUx

  • MLD-Tester
  • Expert Member
  • ******
  • Posts: 755
    • View Profile
Paket selber bauen
« Reply #13 on: March 28, 2014, 09:38:06 »
Ah, dummer Fehler.   ::)

Da hast du natürlich recht, wer lesen kann ist klar im Vorteil.  8) ;)

Ich bau mir gleich mal eine Ubuntu 13.04 32bit VM auf.
Ist mal angedacht auf 64 Bit zu gehen?

Gruß Timo
VDR Server:
- ASUS TROOPER B150 D3 -- Intel i5 6400T -- 8GB RAM -- 128GB SSD -- 2x L4M-Twin S2 ver 6.5
MLD 5.4.0 Server (streamdev server, vdr-plugin-epg2vdr, ...)

NAS:
Rockpi 4, 4GB, SATA-Head 4x 2TB SSD ZFS Raid 5, Nextcloud-Pi, Jellyfin-Server, NFS, SMB, EPG-Daemon

Clients:
- Rasperry pi 3 
MLD 5.4.0 (streamdev-client, epg2vdr)

- Sony Android TV (RoboTV, Jellyfin, ...)

-Xiaomi Android TV Stick (RoboTV, Jellyfin, ...)

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20533
    • View Profile
    • ClausMuus.de
Paket selber bauen
« Reply #14 on: March 28, 2014, 10:47:42 »
Hi,

ne, bisher bestand kein Bedarf, da das keine Vorteile hat. Theoretisch sollte sich die MLD aber auch als 64Bit System bauen lassen.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 6.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 22TB HDD - Lian Li PC-C37B - Samsung LE40A559

[1] 2 3 ... 7 >>> Archiv / MLD 4.x / Development / Paket selber bauen
 



Users Online Users Online

0 Members and 1 Guest are viewing this topic.