- État Nouveau
- Pourcentage achevé
- Type Évolution
- Catégorie Services locaux → VM
- Assignée à Personne
- Système d'exploitation Freebox Server V7 (Delta)
- Sévérité Basse
- Priorité Très Basse
- Basée sur la version 4.8.11
- Due pour la version Non décidée
-
Échéance
Non décidée
-
Votes
1
- HachavBanav (01/10/2024)
- Privée
Concerne le projet: Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)
Ouverte par _fvt - 08/07/2024
Ouverte par _fvt - 08/07/2024
FS#39598 - Add opensuse MicroOS image
Bonjour,
Est-il possible d’ajouter OpenSUSE MicroOS à la liste des images disponibles ?
La distribution est très légère et avec ses mises à jour atomiques automatiques, cette distribution est a mon sens parfaite pour faire tourner des containers sur la box et se maintenir toute seule.
Merci d’avance,
FVT.
Chargement...
Activer les raccourcis clavier
- Alt + ⇧ Shift + l Se connecter/Se déconnecter
- Alt + ⇧ Shift + a Ouvrir une tâche
- Alt + ⇧ Shift + m Mes recherches
- Alt + ⇧ Shift + t Rechercher par ID de tâche
Liste des tâches
- o Ouvrir la tâche sélectionnée
- j Déplacer le curseur vers le bas
- k Déplacer le curseur vers le haut
Détails de la tâche
- n Tâche suivante
- p Tâche précédente
- Alt + ⇧ Shift + e ↵ Enter Modifier cette tâche
- Alt + ⇧ Shift + w Surveiller
- Alt + ⇧ Shift + y Fermer cette tâche
Édition de la tâche
- Alt + ⇧ Shift + s Enregistrer la tâche
"Minimum 1GB of physical RAM"
je crains que ca provoque pas mal de soucis…
Bonjour,
Oui les config recommandées sont plutôt étranges sur leur site, d'après ce qu'on voit c'est lié aux besoins lors de l'installation… et avec un environement desktop.
De mon coté avec l'installation de base sans destkop environment ça tourne dans les 200-300MB.
J'ai fait en sorte que openSUSE MicroOS fonctionne parfaitement sur la Freebox Delta (et je confirme que ça marche nickel).
Il faut télécharger https://download.opensuse.org/ports/aarch64/tumbleweed/appliances/openSUSE-MicroOS.aarch64-ContainerHost-OpenStack-Cloud.qcow2 et importer directement l'image et redimensionner le disque (prévoir large dès le départ). Et vous pouvez utiliser l'integration cloud-init pour la configuration initiale.
Par contre, évitez de faire tourner k3s + home-assistant en k3s dessus, ça fait beaucoup trop d'IO constamment (surtout k3s) et si vous êtes en RAID, vous pouvez vous retrouver avec du RAID qui ne redémarre plus ou une partition btrfs qui ne se monte plus, lors d'un reboot un peu trop sauvage de la freebox (coupure electrique voire parfois reboot depuis l'interface freebox)..
Bonjour
Merci @fcrozat !
Si l'image n'est pas dispo dans la liste, vous pouvez quand même automatiser 100% de la création d'une VM MicroOS dans la freebox depuis l'API avec la lib bash :
https://github.com/nbanb/fbx-delta-nba_bash_api.sh
Pour download :
Merci @fcrozat pour le data-www-url-encode ;)
Puis la lib permet maintenant de gérer les VM directement (create, resize, start, stop…) :
Encore merci @fcrozat, sans tes suggestions sur GH je n'aurais jamais dev tout ça…!
2è solution : avec iPXE :
Recompilez iPXE avec un home made script et vous pourrez booter une VM de la freebox directement sur le net (l'iso build fait 1M)
Si ça vous interesse, je peux vous passer mon ipxe script (ça donne ça quand ça boot, le menu est customisable):
Cordialement
nbanba
Merci @fcrozat,
C'est ce que jai fait et ça tourne très bien en effet avec le cloud-init.
@nbanba ah je veux bien le script ipxe svp, fonctionne avec le lien open suse directement pour booter sur l'ISO ? cloud-init est supporté ?
Cordialement
Fvt
Bonjour
@_fvt
Cloud init doit être supporté sur le boot online (pas testé sur OpenSUZE mais le boot online perdrait beaucoup d'intérêt si cloud-init n'est pas installed)
Dans tous les cas, si vous installez vous même OpenSUZE, cloud-int est supporté par l'API de la freebox donc le sera sur votre propre image (en installant le pkg cloud-init bien sûre)
Concernant iPXE, pour boot online avec l'iso généré depuis mon script créant le custom menu iPXE :
Au démarrage selectionnez <x> puis openSUZE
Puis la version souhaitée
Pour avoir le code de ipxe :
Ensuite, j'ai fais les modifs suivantes pour que ça fonctionne (lire compile sans erreur avec les features souhaitées ):
Dans general.h :
et pour que les flèches du clavier fonctionnent dans les websocket API de la freebox avec websocat tel qu'utilisé par la lib bash pour lancer la console ou VNC (lib bash citée dans les échanges ci-dessus et disponible ici https://github.com/nbanb/fbx-delta-nba_bash_api.sh ), j'ai modifié dans console.h
Aussi, pour le support de ma PKI interne pour HTTPS, j'ai fais d'autres modifs (j'ai du revoir pas mal de trucs avec le cross-signing), je ne détaillerai pas ici mais dans l'idée c'est décrit ici : https://ipxe.org/crypto
Une fois ces modif faites, on compile avec un "EMBEDDED iPXE SCRIPT" :
/!\ Attention, ici je 'cross-compile' pour ARM64 depuis une machine de dev AMD64 avec 16 CPU dispo (-j16 dans la command):
Pour ne build que le firmware pour flasher la carte réseau, on peut faire :
Puis on en arrive enfin au script iPXE en question :
Ensuite, vous modifiez la VM pour qu'elle boot sur l'iso iPXE (avec la lib bash ça donne):
Puis on lance la VM et on se connecte au websocket de la freebox pour accéder à la console depuis le shell courant (avec la lib bash ça donne):
ou en 1 seule commande :
NB:
pour quitter la console websocket j'ai mis la valeur 'hex 11' qui correspond à CTRL+K comme 'control kill' au lieu de CTRL+\Q = 'control quit' (trop chiant à tapper sur un clavier pas qwerty)
N'hésitez pas à demander si besoin d'aide,
Cordialement
nbanba