Replies: 26 comments 77 replies
-
Ich fang mal an Themen zu sammeln 😄 Wo man u.U. Docker einsetzen kann:
Wer unbedingt in einer VM bauen will (oder muss) kann natürlich dazu in der VM dann auch docker nutzen statt die ganzen Abhängigkeiten wieder händisch nachzuinstallieren. Und natürlich kann man auch VMs gescriptet bauen, z.B. mit Unterstützung von vagrant/packer und Provisionierungstools wie ansible, chef, puppet, saltstack, cfengine, etc. Weitere Ideen und jegliche Diskussion willkommen |
Beta Was this translation helpful? Give feedback.
-
Und |
Beta Was this translation helpful? Give feedback.
-
Um die Tools zu bauen wäre das ganz praktisch. Der Bau ohne Downloads dauert nur ein paar Minuten, da da aber öfter mal was geändert wird wäre es ganz nett wenn das komplett automatisch funktionieren würde.
Dann gibt es noch die 25 Toolchains: https://github.com/Freetz-NG/freetz-ng/blob/master/tools/dl-toolchains_make Tests: Es gibt so viele unterschiedliche Kombinationen von Konfigurationen, die kann man gar nicht alle testen. Aktuell kann man in Freetz 296 verschiede AVM-Images auswählen. Und dazu die ganzen Packages die sich teilweise gegenseitig beeinflussen, oder verschieden Versionen von openssl usw. Und dann weiss man noch nicht mal ob so ein Image wirklich funktionieren würde Ein DockerContainer zum Erstellen von eigenen Images find ich auch gut, bei dem alles funktioniert und das alle https://freetz-ng.github.io/freetz-ng/PREREQUISITES.html hat. Du hast ja schon sowas (müsste ich mal ausprobieren...). Das würde auch solchen Dingen vorbeugen wie dass beim aktuellen Ubuntu "ldconfig" nicht mehr im PATH ist. Den kann man dann ausführen wo man will. |
Beta Was this translation helpful? Give feedback.
-
Ich möchte gar nicht wissen ob alle Pakete für eine Box baubar sind, da gibt es bestimmt einige die nicht mehr funktionieren, die aber auch niemand mehr nutzt :)
Wenn du unverändert tools/dl-toolchains_make ausgeführt hast wurden so 10 Stück gebaut, das ist grob 1 Stunde langsamer als mein 9 Jahr alter Server. Wenn man statt Ubuntu 14 auf 20 setzen würde, könnte es aber bei einigen "aktuellen" Distributionen Problem geben, ich denke da an Debian die oft Jahre hinterherhinken. Für Ubuntu 14 müsste man aber manuell ein paar Programme aktualisieren (prerequisites) Daher bin ich nicht so sicher wie man das am besten ändern sollte, wenn man es ändert. Ich hab noch keine Zeit gefunden mir Docker selbst anzuschauen |
Beta Was this translation helpful? Give feedback.
-
Ich habe mal beschrieben wie man auf jedem beliebigem Linux (besser gesagt auf jedem System auf welchem Docker verfügbar ist [1]) ohne irgendwelche Vorbedingungen erfüllen zu müssen, Freetz(-NG) Images bauen kann und dazu auch Screencasts erstellt: https://github.com/pfichtner/pfichtner-freetz [1] Das Image habe ich z.Z. "nur" für x86 gebaut und würde das auch dabei belassen bis nicht jemand andere Anforderungen hat |
Beta Was this translation helpful? Give feedback.
-
Ein erster Versuch mit den actions: 78e3648 |
Beta Was this translation helpful? Give feedback.
-
Ja hab ich. Wollte aber klein mit dem Script anfangen |
Beta Was this translation helpful? Give feedback.
-
Ich weiss aktuell noch nicht was man noch sinnvolles machen könnte. |
Beta Was this translation helpful? Give feedback.
-
Scheint als wären Docker, Github Actions und Du @fda77 neue, beste Freunde geworden 😆 |
Beta Was this translation helpful? Give feedback.
-
Ich hab noch nie docker genutzt oder installiert gehabt :D Die precompiled Dinge sind nicht von meiner VM abhängig, man brauch eine ein Linux das Freetz compilierne kann, und prerequisites. Ich nutze Ubuntu 14 x64 damit es überall läuft. Wenn man was neuere nimmt wird wieder irgend jemand sich beschweren. https://freetz-ng.github.io/freetz-ng/PREREQUISITES.html#ubuntu ist auch aktuell, die 4 zusätzlichen Pakete muss man halt manuell aktualisieren, und nciht wie du die Abfrage entfernen ;-) Manche Fritzboxen (glaube kernel) brauchen die neuere Version! Und dann ruft man die tools/dl-* script auf.
Die aktuellen actions könnten Fehlschlagen wenn in der Zwischenzeit ein Commit kommt der inkompatible ist. Die docs werden dann einfach beim nächsten mal aktualisiert, das ist nicht so schlimm
Geht das mit github? Aber eigentlich finde ich ein relativ leeres System ganz gut, dann vergisst man nicht was man installieren muss... |
Beta Was this translation helpful? Give feedback.
-
Ob man die Binaries von github verwenden sollte ist so ne Sache... funktionieren würde es. Ich müsste jedenfalls nicht immer eine alte VM anwerfen müssen und selbst bauen, sondern nur ein klick auf die Action... Die tools hab ich hier getestet (repo wird später gelöscht): https://github.com/fda77/freetz-ng/runs/6115431760?check_suite_focus=true , auch das automatisch aktualiseren klappt: https://github.com/fda77/freetz-ng/commit/1a93594d306d712cbef81a3fba95dcf2884fee8c und https://github.com/fda77/freetz-ng/releases Die Toolchains musste ich teilen, alle 25 brauchen ~8h und Github limitiert die Laufzeit auf exakt 6h -.- Eigene freetz-images bauen geht auch, die .config importiert man am besten von einem geheimem Server: https://github.com/Freetz-NG/freetz-ng/blob/master/.github/workflows/make_freetz.yml_#L55= Und man sollte das ganze in einem privaten Repo machen |
Beta Was this translation helpful? Give feedback.
-
Aber es bleibt die grundsätzliche Frage zu den Ubuntu14 Actions: Sollen binaries von Github in Freetz verwendet werden? Diese werden auf den Computer während "make" ausgeführt.
Wäre auch hier gut wenn es noch mehr Meinungen geben würde... |
Beta Was this translation helpful? Give feedback.
-
Okay, man müsste dann noch den kompletten git-hash ausgeben der ausgecheckt wurde.
Nein, siehe step "result": https://github.com/Freetz-NG/freetz-ng/runs/6108293032?check_suite_focus=true#step%3A15%3A7= |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Fragen zu https://github.com/pfichtner/freetz-toolchain-docker/blob/main/.github/workflows/docker-publish.yml |
Beta Was this translation helpful? Give feedback.
-
In die docker (container) registry von github (GHCR). Wäre ja Blödsinn, die nach dockerhub zu pushen um das Image dann an andere Stelle innerhalb von github wieder aus dockerhub zu pullen. Ob man dafür ein eigenes repo anlegen muss weiß ich nicht, aber im Sinne von Trennung finde ich das aber eigentlich am saubersten, warum sollte das in einem anderen repo liegen? (ok, gerade gesehen, dass Du das aber so gemacht hast, mir ist nicht ersichtlich wo der Vorteil liegt, ich würde das trennen). |
Beta Was this translation helpful? Give feedback.
-
Nicht vergessen, ich hab von Docker keine Ahnung! Interessant dass man die Images auch zu GH hochladen kann, wenn ich das vorher gewusst hätte! |
Beta Was this translation helpful? Give feedback.
-
Die generate_* compilieren nicht und können ein kleineres (schneller) image haben
Ich hab ja geschrieben dass ich die Beschreibung nett finde. Und ob ich das verlinken soll |
Beta Was this translation helpful? Give feedback.
-
Für precompiled Zeug braucht man kein eigenes Image, dafür kann man das ganz normale für die Firmware verwenden! |
Beta Was this translation helpful? Give feedback.
-
Ich hab mich mal an deinem docker image https://hub.docker.com/r/pfichtner/freetz versucht. Ergebnis: göht nicht!!1elf
Btw, hab das mit ghcr hinbekommen. Scheint nicht wirklich schneller zu sein |
Beta Was this translation helpful? Give feedback.
-
Willst du das jeden fragen? Auch diejenigen die die prerequisites nicht installiert bekommen?
Ne, schrieb ja dass dies ein socket-fehler war
Kein Unterschied: https://github.com/Freetz-NG/freetz-ng/actions/workflows/generate_docs.yml |
Beta Was this translation helpful? Give feedback.
-
Du beschöftigst dich wohl noch nicht so lange mit Freetz... zb https://freetz-ng.github.io/freetz-ng/wiki/10_Beginner/freetz_linux.html |
Beta Was this translation helpful? Give feedback.
-
Gabs vielleicht damals als das geschrieben wurde noch nicht ;-) Geht wohl auch ohne, und docker läuft auch in VMs |
Beta Was this translation helpful? Give feedback.
-
Es gibt mindestens drei Wege, wie man zu einer Buildumgebung kommt
Folgendes ist nun zu tun: Schaffen der notwendigen Basis
Soll es hierfür Anleitungen geben? Ich habe bei Freetz weder eine Anleitung gefunden, wie man ein Linux-System baut, noch wie man eine Virtualisierungslösung installiert, wobei letzteres scheint es ja mit cuma Zaubertinte geschrieben in einem Dokument zu geben, welche aber nur gelesen werden kann, wenn man schon bei DS-Mod dabei war. "Importieren"
Das ist das einzige, was in dem von Dir genannten Dokument für VMWare/Virtualbox/... beschrieben ist. Also der Teil, der bei OCI/Docker nicht durchgeführt werden muss. Nutzen der Lösung/make inkl. menuconfigSieht auf allen Systemen gleich bzw. ähnlich aus. Kann auf dem Linux-System direkt ausgeführt werden, bei Virtualisierung muss entweder die virtuelle Maschine oder der Docker-Container gestartet werden. IdeeEin Installations-Shell Skript, welches jeweils für die Distribution die benötigten Pakete installiert (also quasi ausführbare PREREQUISITES: Ermitteln der Distro, dann Aufruf von yum/apt/..., also dem was eh in den PREREQUISITES). Die Hürde für Anwender wäre dann, das Skript herunterladen und Ausführen zu müssen, siehe z.B. https://github.com/docker/docker-install. Dieses Installations-Shell Skript könnte man dann auf allen Lösungen anwenden:
|
Beta Was this translation helpful? Give feedback.
-
Falls das irgendwann da mal gestanden haben soll (und damit davon abhängt, wie lange man sich mit Freetz beschäftigt): Ich finde keine einzige Zeile die beschreibt, wie man Virtualbox oder irgendeine andere Virtualsierungslösung installiert. |
Beta Was this translation helpful? Give feedback.
-
Ich sehe keinen Handlungsbedarf. Für mich reicht docker für die actions und eine VM um was lokal zu machen |
Beta Was this translation helpful? Give feedback.
-
Fortsetzung von https://github.com/Freetz-NG/freetz-ng/issues/468#issuecomment-1047184629
Beta Was this translation helpful? Give feedback.
All reactions