EBI - Easy Bootstrap Installer

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
13
Punkte
84
Da der Forumuser CyberLine sein Projekt "Bootstrap Installer" an den Nagel gehangen hat, habe ich mir erlaubt einen Nachfolger zu erstellen. Der Easy Bootstrap Installer, kurz EBI, ist für alle aktuellen Diskstation Architekturen geignet. Einige Architekturen konnte ich mangels entsprechender DS nicht testen und bin deshalb auf euer Feedback angewiesen. Je nach Modell stehen Optware iPKG, Qnapware oPKG oder Entware oPKG zur Verfügung, bei den meisten Modellen kann per Wizard zwischen 2 Typen gewählt werden.

Im Grund ist es eigentlich kein Bootstrap mehr, da das Setup nun getrennt von den eigentlichen Installationsdateien ist. Da der Name Bootstrap den meisten Usern bekannt ist und kürzer für das Paket-Zentrum, habe ich es dabei belassen ;)

Lizenz: GPL 3
Firmware: 5.0.4458 und höher
Abhängigkeiten: keine
Sprachen: Deutsch, Englisch, Französisch, Niederländisch

Download direkt oder über das Paketzentrum mit folgender Url: https://www.cphub.net

Unterstütze Architekturen:
Optware: 88f5281, 88f6281, 88f6282, armada370, armada375, armadaxp, avoton, bromolow, cedarview, comcerto2k, evansport, powerpc, ppc824x, ppc853x, ppc854x, qoriq, x86
Qnapware: 88f6281, 88f6282, avoton, bromolow, cedarview, evansport (arm, x86)
Entware: armada370, armada375, armadaxp, alpine, alpine4k, comcerto2k (armv7, armv7l)

EBI kann erst ab DSM 5.x verwendet werden, da ein bestimmtes Feature für den Installations-Wizard in früheren Versionen nicht existiert.

ebi_wizard.jpg

Wie arbeitet EBI
EBi enthält eine kleine Text-Datenbank, für jede Architektur eine Zeile mit max. 2 Bootstrap-Typen. Mit dem Start wird geprüft, ob es schon einen installieren Paketmanager gibt. Wird kein Paketmanager gefunden holt sich der Wizard den unique-String aus der synoinfo.conf und extrahiert daraus die Architektur. Mit diesem Keyword kann die passende Zeile aus der Datenbank geholt und zerlegt werden. Ist das Modell nicht in der Datenbank, folgt eine Fehlermeldung. Ist soweit Alles ok, dann präsentiert der Wizard die Auswahl entprechend der ermittelten Werte. Nun beginnt die eigentliche Installation, indem im postinst-Teil, anhand der getroffenen Auswahl, der Paketmanager installiert wird.

  • Der Bootstrap wird immer erst heruntergeladen, dadurch ist eine Neuinstallation immer aktuell
  • Der Bootstrap wird beim Deinstallieren des Paketes nicht entfernt!
  • Der Bootstrap wird beim Aktualisieren des Paketes weder aktualisiert noch entfernt!
  • Neue Modelle und Architekturen können, sofern ein entsprechender Bootstrap vorhanden ist, leicht eingepflegt werden.
  • EBI verwendert die SymLink-Variante, dadurch entfallen die Probleme mit mount --bind
  • EBI verwendet die verbesserte Variante zum Starten der Startskripte in /opt/etc
  • EBI hängt die Pfade des Paketmanagers an das Ende der vorhandenen Pfade, dadurch werden immer erst die Synology Binäries verwendet. Für eine andere Reihenfolge muss dies manuell geändert werden.
  • Beim Start der Diskstation wird sichergestellt, dass der SymLink existiert (übersteht damit auch eine DSM Aktualisierung)
  • Beim Start der Diskstation wird sichergestellt, dass das 1. vorhande Vorkommen von PATH= und export PATH in der /root/.profile auskommentiert ist (übersteht damit auch eine DSM Aktualisierung)
  • Beim Start der Diskstation wird sichergestellt, dass die Pfade des Paketmanagers in /root/.profile eingetragen sind (übersteht damit auch eine DSM Aktualisierung)

Qnapware verwendet als einziger Bootstrap den Pfad /Apps/opt, was aber die Funktion nicht einschränkt, man muss es nur wissen.

Wie immer gibt es keine Gewähr, Feedback erwünscht!
 
Zuletzt bearbeitet von einem Moderator:

sequ3ster

Benutzer
Mitglied seit
23. Jul 2015
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hey, das finde ich super! Vielen Dank für deine Mühe! ;) Danach habe ich seit Tagen gesucht. Wenn ich IPKG mal am laufen hatte, lief es nur bis zum neustart. Mit so einem Paket erhoffe ich mir das ich dauerhaft iPKG benutzen kann. :)
EBI habe ich gerade auf meinem DS1815+ installiert und ipkg (optware) ausgewählt. Leider hat es nicht funktioniert. :(
Warum? :confused: Ich habe weitere Paket wie z.B. VirtualBox installiert die im /opt Ordner neue Ordner als softlinks angelegt haben und weshalb man /opt nicht mehr direkt als softlink verwenden kann. Dein Script schreibst aber vor das /opt/bin /opt/sbin verwendet werden, was ja nur geht wenn man /opt direkt mit optware verlinkt. Bei mir wird das dann aber als /opt/@optware verlinkt.

Meine Lösung war es jeden Ordner von @optware in /opt zu verkinken.
Also anstatt "&& /bin/ln -s /volume1/@optware /opt" habe ich folgende Links erstellt:
- "ln -s /volume1/@optware/bin /opt"
- "ln -s /volume1/@optware/etc /opt"
- "ln -s /volume1/@optware/include /opt"
- "ln -s /volume1/@optware/lib /opt"
- "ln -s /volume1/@optware/man /opt"
- "ln -s /volume1/@optware/opt /opt"
- "ln -s /volume1/@optware/sbin /opt"
- "ln -s /volume1/@optware/share /opt"
- "ln -s /volume1/@optware/tmp /opt"
- "ln -s /volume1/@optware/var /opt"
Jetzt steht mir der Befehl ipkg in der Console, auch nach einem neustart, zur Verfügung und auch das Paket iPKGui konnte aktualisiert werden. :D

ebi_optware.png

P.S.: Dein Script geht davon aus das man das Paket auf volume1 installiert, da du im Script /volume1/ hart verdrahtet hast. Wäre super wenn du das unter den Vorraussetzungen angibst. Ich möchte jetzt nicht testen was passiert wenn ich das Paket auf meinem volume2 installiere. :rolleyes:
 
Zuletzt bearbeitet:

neutron

Benutzer
Mitglied seit
16. Jul 2015
Beiträge
462
Punkte für Reaktionen
0
Punkte
16
Wo ist denn der Unterschied zwischen Optware und Qnapware ? Wie sieht es aus wenn man optware bereits laut der Anleitung aus der Wiki installiert hat ?
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
13
Punkte
84
EBI habe ich gerade auf meinem DS1815+ installiert und ipkg (optware) ausgewählt. Leider hat es nicht funktioniert. :(
Welcher Fehler wurde denn angezeigt?
Warum? :confused: Ich habe weitere Paket wie z.B. VirtualBox installiert die im /opt Ordner neue Ordner als softlinks angelegt haben und weshalb man /opt nicht mehr direkt als softlink verwenden kann. Dein Script schreibst aber vor das /opt/bin /opt/sbin verwendet werden, was ja nur geht wenn man /opt direkt mit optware verlinkt. Bei mir wird das dann aber als /opt/@optware verlinkt.
Man kann sehr wohl weiterhin Verzeichnisse in einem SymLink erstellten Ordner anlegen, welche selbst SymLink erstellte Ordner sind. SymLinks zeigen immer auf eine reale Datei/Ordner, in diesem Fall /volume1/@optware. Sollte vor der Installation des Paketes schon ein Ordner /opt (real oder link) oder ein reales Verzeichnis /volume1/@optware existieren, wird die Installation logischerweise nicht bis zum Ende durchlaufen. Das Paket ist nur für eine Neuinstallation eines Bootstraps gedacht. Du musst deinen vorhandenen Bootstrap entfernen, bevor du dieses Paket installierst. Dazu gehört auch das Umbenennen oder Entfernen der Defaultverzeichnisse wie /opt ~opt oder /volume(x)/@optware.

Meine Lösung war es jeden Ordner von @optware in /opt zu verkinken.
Also anstatt "&& /bin/ln -s /volume1/@optware /opt" habe ich folgende Links erstellt:
siehe vorherige Antwort

P.S.: Dein Script geht davon aus das man das Paket auf volume1 installiert, da du im Script /volume1/ hart verdrahtet hast. Wäre super wenn du das unter den Vorraussetzungen angibst. Ich möchte jetzt nicht testen was passiert wenn ich das Paket auf meinem volume2 installiere. :rolleyes:
OK, das könnte ich noch versuchen zu ändern.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
13
Punkte
84
Wo ist denn der Unterschied zwischen Optware und Qnapware ? Wie sieht es aus wenn man optware bereits laut der Anleitung aus der Wiki installiert hat ?
Qnapware ist aktueller, basiert auf Entware und benutzt statt /opt das Verzeichnis /Apps/opt. Zum Installieren eines anderen Bootstraps muss der Alte erst vollständig entfernt werden (umbenennen des Verzeichnisses /opt reicht manchmal schon). Auch ein vermischen Pakete verschiedener Bootstraps, obwohl die Architektur identsich ist, sollte man unbedingt vermeiden.
 

Mindreader

Benutzer
Mitglied seit
12. Jun 2014
Beiträge
22
Punkte für Reaktionen
0
Punkte
1
Ich habe es auf einer ds414 installiert, bei mir hat es anscheinend auch nicht funktioniert.
Wie kann ich es jetzt wieder rückgängig machen oder entfernen ? -oder zum laufen bringen ?
Ich kenne mich leider nicht so mit Linux aus ...
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
13
Punkte
84
Ich habe es auf einer ds414 installiert, bei mir hat es anscheinend auch nicht funktioniert.
Dazu müsste man erstmal wissen, welchen Bootstrap du gewählt hast. Was genau bedeutet denn "anscheinend nicht", gab es eine Fehlermeldung, hast du es getestet, oder...?
 

Mindreader

Benutzer
Mitglied seit
12. Jun 2014
Beiträge
22
Punkte für Reaktionen
0
Punkte
1
Habe wie mein Vorgänger auch Optware gewählt lief auch durch.
jetzt habe ich im Nachhinein coreutils und gettext und textutils installiert und wollte dann traccar installieren.
Diese hat dann rumgemeckert, daß ich kein ipkg installiert habe.
Java ist auch installiert ...
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
13
Punkte
84
Das liegt an der besch..... Abfrage von Traccar, denn es fragt zusätzlich nach der feed.conf und diese heisst bei meinen Bootstraps nicht "cross-feed.conf".
Melde dich auf der DS per Telnet oder SSH als root mit dem Passwort vom admin an und nenne die Datei "/opt/etc/ipkg/feeds.conf" in "/opt/etc/ipkg/cross-feed.conf" um.
Danach die Datei "/opt/lib/ipkg/lists/packages" löschen und einmal ipkg update ausführen.
 

sequ3ster

Benutzer
Mitglied seit
23. Jul 2015
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Welcher Fehler wurde denn angezeigt?

Das ist es ja, es gab kein Fehler beim installieren. Dem Anschein nach ist alles sauber durchgelaufen. Nur das ipkg auf der Konsole nicht ging und iPKGui sich nicht installieren ließ, weil iPKG fehlen würde.


Man kann sehr wohl weiterhin Verzeichnisse in einem SymLink erstellten Ordner anlegen, welche selbst SymLink erstellte Ordner sind. SymLinks zeigen immer auf eine reale Datei/Ordner, in diesem Fall /volume1/@optware. Sollte vor der Installation des Paketes schon ein Ordner /opt (real oder link) oder ein reales Verzeichnis /volume1/@optware existieren, wird die Installation logischerweise nicht bis zum Ende durchlaufen. Das Paket ist nur für eine Neuinstallation eines Bootstraps gedacht. Du musst deinen vorhandenen Bootstrap entfernen, bevor du dieses Paket installierst. Dazu gehört auch das Umbenennen oder Entfernen der Defaultverzeichnisse wie /opt ~opt oder /volume(x)/@optware.

Das bedeutet aber, wenn vorher schon ein Paket installiert war was sich einen Link unter /opt/ angelegt hat, kann man EBI zwar installieren, aber ohne Funktion.
Vielleicht kannst du vor der Installation prüfen ob der opt Order schon verwendet wurde und die Installation verhindern mit der Meldung das bereits andere Pakete den Ordner verwenden und diese erst deinstalliert werden müssen.
Ich habe gerade deinen Rat befolgt und @optware direkt auf /opt verlinkt. Die Links/Ordner der anderen Apps habe ich im @optware neu angelegt. Läuft jetzt alles auch so. ;)
 
Zuletzt bearbeitet:

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
13
Punkte
84
OK, kann vorher noch eine weitere Prüfung durchführen und mit einer Meldung abbrechen.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
13
Punkte
84
Nein die Paketliste lokal zu aktualisieren, IPKG update ist ein Befehl, sonst siehst du keine Pakete zum Installieren per ipkg cli oder mit iPKGui.
 

Mindreader

Benutzer
Mitglied seit
12. Jun 2014
Beiträge
22
Punkte für Reaktionen
0
Punkte
1
So habe ich gemacht, jetzt scheint er auch zu starten, jedoch sagt er mir jetzt "remote Procedur error".
Allerdings schon vom Traccar-Programm.
 

neutron

Benutzer
Mitglied seit
16. Jul 2015
Beiträge
462
Punkte für Reaktionen
0
Punkte
16
Hat jemand einen Tipp für mich wie ich zuverlässig ein "altes" optware (vom wiki) komplett los werde ? Also jetzt nicht im Detail, aber was muss ich machen ? Alle mit IPKG installierten Pakete deinstallieren, start scripts, links etc entfernen. Was vergessen ?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
Klasse QTip.
Über dieses Paket freuen sich sicherlich viele! Danke schön!


Ich habe mal das Paket testweise auf einer DS214 installiert und Entware ausgewählt.

Ergebnis:
- Installation verlief ohne Fehlermeldung
- Linke /opt ist vorhanden
- Ordner @optware ist aber leer
- ipkGUI lässt sich nicht installieren, weil kein ipkg gefunden wurde

@QTip:
- möchtest du, dass ich was für dich teste?

Ansonsten würde ich einfach den Link /opt sowie den Ordner @optware löschen und einen neuen Versuch mit der Auswahl ipkg unternehmen


Vorschlag:
Die Möglichkeit, den automatischen Deinstallation von ipkg ect.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
13
Punkte
84
möchtest du, dass ich was für dich teste?
Ansonsten würde ich einfach den Link /opt sowie den Ordner @optware löschen und einen neuen Versuch mit der Auswahl ipkg unternehmen
Ja, bitte mal mit optware ipkg testen, dann kann ich das besser eingrenzen.
Liegt denn in /var/packages/ebi/target/install/ eine Datei und hat eine Größe > 0 Bytes?
Vorschlag:
Die Möglichkeit, den automatischen Deinstallation von ipkg ect.
Hatte ich für eine der nächsten Versionen vor, erstmal ist eine fehlerfreie Installation wichtiger.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
Ja, bitte mal mit optware ipkg testen …
Was meinst du genau?
Ein which ipkg ergibt nichts, bzw. ein ipkg Aufruf "ipkg: not found"

Liegt denn in /var/packages/ebi/target/install/ eine Datei und hat eine Größe > 0 Bytes?

Rich (BBCode):
cd /var/packages/ebi/target/install/ 
dir
drwxr-xr-x    2 root     root          4096 Aug 23 14:45 .
drwxr-xr-x    4 root     root          4096 Aug 23 14:45 ..
-rwxr-xr-x    1 root     root          1711 Feb 11  2015 entware_install_arm.sh
-rwxr-xr-x    1 root     root        134404 Feb  8  2015 ld-2.20.so
lrwxrwxrwx    1 root     root            10 Aug 23 14:45 ld-linux.so.3 -> ld-2.20.so
-rw-r--r--    1 root     root       1219180 Feb  8  2015 libc-2.20.so
lrwxrwxrwx    1 root     root            12 Aug 23 14:45 libc.so.6 -> libc-2.20.so
-rw-r--r--    1 root     root        131352 Jul  8 11:21 opkg
-rw-r--r--    1 root     root           146 Feb  9  2015 opkg.conf

Hatte ich für eine der nächsten Versionen vor, erstmal ist eine fehlerfreie Installation wichtiger.

Logisch - dachte ich mir schon bei dir.
War nur mein Senf dazu :)
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat