#!/usr/bin/env bash # Gemeinsame Hilfsfunktion rund um das Boot-Medium selbst (nicht das # Zielsystem). Wird an mehreren Stellen gebraucht: # - backends/mint-image/backend.sh (_mint_image_detect_target_disk): # verhindert, dass das Boot-Medium selbst als Zieldatentraeger gewaehlt # und dann partitioniert wird. # - scripts/lib/hardware_collectors.sh (build_storage_devices_json): # verhindert, dass das Boot-Medium in der an den Server gemeldeten # Datentraeger-Liste auftaucht (dort fuer den Kunden irrefuehrend, siehe # Hardware-Info in der Kundenplattform). # # Urspruenglich in backend.sh dupliziert (siehe Commit fa54461) - mit dem # zweiten Verwendungsort (Hardware-Erfassung) lohnt sich jetzt der Umzug in # eine gemeinsame lib, wie im urspruenglichen Kommentar dort schon vermerkt. # Live auf echter USB-Stick-Hardware gefunden (01.09.2026): auf einem # CD-ROM (wie in allen bisherigen QEMU-Tests) ist das Boot-Medium ein # eigener lsblk-Geraetetyp ("rom"), der von reinen "disk"-Filtern schon # ausgeschlossen wird - auf einem echten USB-Stick ist das Boot-Medium # selbst aber ein ganz normales "disk"-Blockgeraet, genau wie die interne # Zielplatte. Ohne expliziten Ausschluss kann eine Datentraeger-Erkennung # darunter den Stick selbst waehlen (abhaengig von der Aufzaehlungs- # reihenfolge). tuxflotte_boot_medium_disk() { local medium_source parent medium_source="$(findmnt --noheadings --output SOURCE /run/live/medium 2>/dev/null)" || return 1 [[ -n "${medium_source}" ]] || return 1 parent="$(lsblk --noheadings --output PKNAME "${medium_source}" 2>/dev/null | head -n1)" [[ -n "${parent}" ]] || return 1 printf '/dev/%s\n' "${parent}" }