class

Beryl::Bootstrap::MfsBSD

Inherits Reference < Object

DEPRECATED (ADR-010 / ADR-011) — n'est plus sur le chemin principal.

Le pattern dd mfsBSD ISO + reboot ne boote pas sur les dédiés UEFI-only (OVH/Scaleway/Hetzner modernes) : l'ISO mfsBSD est un ISO 9660 pur sans MBR/GPT, donc un UEFI ne trouve rien à amorcer quand le disque est ainsi dd-é. Voir ARCHITECTURE.adoc ADR-010.

La voie actuelle est Beryl::Bootstrap::QemuInRescue (ADR-011) : FreeBSD est posé directement via bsdinstall depuis une VM QEMU lancée dans le rescue Linux, avec le disque réel en passthrough.

Cette classe reste disponible pour l'éventuel cas Legacy BIOS (machines antérieures qui supportent encore l'amorçage MBR). Elle peut être ressortie en tant que voie secondaire (--legacy-bios) si le besoin remonte du terrain.

Bascule un serveur depuis son rescue Linux (fourni par l'hébergeur) vers une image mfsBSD bootable qui tourne entièrement en RAM.

Méthode : téléchargement de l'image mfsBSD depuis le rescue Linux, écriture dd sur le disque cible (destructif), redémarrage, puis réouverture SSH vers l'image mfsBSD fraîchement démarrée.

La clé d'hôte SSH change entre les deux phases. Le shard ssh configure toutes les connexions avec StrictHostKeyChecking=no et UserKnownHostsFile=/dev/null — la vérification de la clé d'hôte est donc désactivée par défaut (MITM théoriquement possible, mais c'est le seul mode envisageable pour un bootstrap initial où la clé change à chaque reboot).

Constants

DEFAULT_IMAGE_URL = "https://depenguin.me/files/mfsbsd-15.0-RELEASE-amd64.iso"
REBOOT_GRACE_PERIOD = 30.seconds
SSH_POLL_INTERVAL = 15.seconds
SSH_WAIT_TIMEOUT = 20.minutes

Constructors

new(rescue_conn : SSH::Connection, target_disk : String, image_url : String = DEFAULT_IMAGE_URL, mfsbsd_user : String = "root", mfsbsd_port : Int32 = 22)
Source

Class methods

detect_disk_cmd

Renvoie une commande shell qui détecte le disque principal.

À exécuter manuellement via rescue_conn.exec(MfsBSD.detect_disk_cmd) avant d'instancier MfsBSD, puis passer le résultat en target_disk:. Volontairement non appelée automatiquement : l'opérateur doit valider visuellement le disque avant de lancer un dd destructif.

Source

Instance methods

image_url
Source
mfsbsd_port
Source
mfsbsd_user
Source
rescue_conn
Source
run

Exécute la bascule complète et renvoie une connexion SSH vers mfsBSD.

Source
target_disk
Source