Legacy-Boot with ZFS-Root on Supermicro X8DT3 (Proxmox VE 9.0, no UEFI)

Danskmand

New Member
Oct 22, 2025
1
0
1
Good evening,,

I’m currently setting up an older but still very solid server as a modern Proxmox system,
and I’ve run into a boot issue related to ZFS on legacy BIOS hardware.​



My Server Setup
  • Supermicro X8DT3 (no UEFI, legacy BIOS only)
  • Dual Xeon 55xx CPUs
  • 48 GB ECC RAM
  • Dell PERC H200 (LSI SAS2008) flashed to IT mode – works great
  • 2 × 250 GB HDDs → planned as ZFS mirror for the system
  • 4 × 1 TB HDDs → for VMs, containers, and data
  • Onboard graphics: Matrox G200eW
The system is meant to be a homelab / sandbox,
mainly for experimenting with Proxmox, ZFS, Ceph, and later maybe Docker.
There are no existing data or partitions I need to preserve.


Goal
I want Proxmox to run on a ZFS mirror (rpool) across the two 250 GB HDDs.
Since the X8DT3 motherboard cannot boot directly from ZFS (no UEFI),
I plan to use two USB sticks that contain only /boot and GRUB.
Those USB drives should then hand off boot control to the Proxmox installation on the ZFS mirror.


Setup Steps
  • Using Proxmox VE 9.0 (installer ISO via Ventoy or dd)
  • Installation on ZFS mirror works perfectly
  • After installation finishes, I do not reboot immediately
  • Instead, I restart the installer and at the EULA screen press CTRL + ALT + F3 to access a shell
  • From there, I try to prepare my two SanDisk USB sticks (64 GB) to act as boot devices for GRUB and /boot
Issue
  • rpool imports correctly
  • /rpool/ROOT/pve-1 exists
  • /boot contains the kernel files (vmlinuz-6.14.8-2-pve, etc.)
  • But when I run commands like:


    proxmox-boot-tool format /dev/sdb


    or even a simple

    lsblk -o NAME,SIZE,MODEL


    I get:


    Assertion 'path_is_absolute(p)' failed at src/basic/chase.c:648, function chase(). Aborting.


    So far, it seems that the Proxmox installer environment doesn’t behave like a full Debian root shell,
    and that proxmox-boot-tool (and maybe systemd dependencies) can’t run correctly there.


My Questions

  1. Has anyone successfully configured Proxmox (ZFS root) to boot via USB on a legacy BIOS-only system?
  2. Should I prepare the USB boot drives using a live Debian/Ubuntu system with ZFS modules instead of inside the installer shell?
  3. What’s the recommended partitioning scheme for the boot stick (MBR vs GPT, ext4 vs FAT32)?

Any experience or working example would be greatly appreciated –
especially from those running older Supermicro boards or H200 / SAS2008 HBAs.


Thanks in advance,
Henrik




------------------- DEUTSCHE VERSION -----------------


ich bin gerade dabei, einen älteren, aber sehr soliden Server in eine moderne Proxmox-Umgebung zu verwandeln und stoße dabei auf ein Boot-Problem mit ZFS.


Mein Server:
  • Supermicro X8DT3 (kein UEFI, nur klassisches BIOS)
  • Dual Xeon 55xx Serie
  • 48 GB ECC RAM
  • Dell PERC H200 (LSI SAS2008), von mir auf IT-Mode geflasht – läuft einwandfrei
  • 2 × 250 GB HDDs → geplant als ZFS-Mirror für das System
  • 4 × 1 TB HDDs → für VMs, Container und Daten
  • Onboard-Grafik: Matrox G200eW

Der Server dient als Homelab / Testumgebung für Virtualisierung, ZFS, Ceph, evtl. später Docker.
Daten sind keine vorhanden – ich kann frei experimentieren.

Ziel:

Proxmox soll auf den beiden 250-GB-Systemplatten im ZFS-Mirror laufen.
Da das X8DT3-Mainboard nicht von ZFS booten kann, möchte ich über zwei USB-Sticks booten,
die nur /boot und GRUB enthalten.
Diese Sticks sollen anschließend das eigentliche System auf dem ZFS-Mirror starten.


Setup:

  • Proxmox VE 9.0 (Installer-ISO über Ventoy oder dd)
  • Installation auf ZFS-Mirror funktioniert einwandfrei
  • Nach der Installation boote ich nicht direkt neu,
    sondern starte den Installer erneut und drücke bei der EULA-Seite STRG + ALT + F3,
    um in die Shell zu wechseln
  • Dort möchte ich die beiden SanDisk USB-Sticks (64 GB) vorbereiten und mit GRUB / /boot bestücken

Problem:

  • rpool ist importiert und gemountet
  • /rpool/ROOT/pve-1 vorhanden
  • /boot enthält vmlinuz-6.14.8-2-pve usw.
  • aber Befehle wie:
proxmox-boot-tool format /dev/sdb

oder sogar einfache Kommandos wie

lsblk -o NAME,SIZE,MODEL

brechen ab mit:
Assertion 'path_is_absolute(p)' failed at src/basic/chase.c:648, function chase(). Aborting.

Ich vermute, dass das Installations-Environment kein vollwertiges Debian-root ist
und proxmox-boot-tool dort nicht sauber funktioniert.


Fragen an die Community:
  1. Hat jemand erfolgreich Proxmox (ZFS-Root) auf einem Legacy-BIOS-System über USB-Stick bootfähig gemacht?
  2. Sollte man proxmox-boot-tool lieber in einem Live-Debian/Ubuntu mit ZFS-Modulen ausführen, anstatt im Installer?
  3. Gibt es eine empfohlene Partitionierung für den Boot-Stick (MBR vs. GPT, ext4, FAT32)?
Ich freue mich über jeden Erfahrungswert – insbesondere von anderen Nutzern
mit älteren Supermicro-Boards oder SAS2008-Controllern.

Viele Grüße,
Danskmand
 
Last edited: