From fbe6496e1e191de450747f820c355b390001c44c Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Mon, 10 Aug 2026 22:13:48 +0200 Subject: [PATCH 1/2] f-36: disk: check disk with vdX is only one Signed-off-by: GnomeZworc --- internal/qemu/start_linux.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/qemu/start_linux.go b/internal/qemu/start_linux.go index a7869a2..de5b005 100644 --- a/internal/qemu/start_linux.go +++ b/internal/qemu/start_linux.go @@ -53,12 +53,17 @@ func Start(cfg Config) error { } hasScsi := false + virtioBlk := 0 for _, d := range cfg.Disks { if strings.HasPrefix(d.Dev, "sd") { hasScsi = true - break + } else { + virtioBlk++ } } + if virtioBlk > 1 { + return fmt.Errorf("qemu: %d disques virtio-blk (vd*) déclarés, un seul est supporté — utiliser des disques sd* pour les disques additionnels", virtioBlk) + } if hasScsi { args = append(args, "-device", "virtio-scsi-pci,id=scsi0") } From 5d157ec64d42bd6da85ec88c546451c484e5a13f Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Mon, 10 Aug 2026 22:14:33 +0200 Subject: [PATCH 2/2] f-36: qemu: fix pci.0 addr Signed-off-by: GnomeZworc --- internal/qemu/start_linux.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/qemu/start_linux.go b/internal/qemu/start_linux.go index de5b005..181bb1d 100644 --- a/internal/qemu/start_linux.go +++ b/internal/qemu/start_linux.go @@ -65,7 +65,7 @@ func Start(cfg Config) error { return fmt.Errorf("qemu: %d disques virtio-blk (vd*) déclarés, un seul est supporté — utiliser des disques sd* pour les disques additionnels", virtioBlk) } if hasScsi { - args = append(args, "-device", "virtio-scsi-pci,id=scsi0") + args = append(args, "-device", "virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x1e") } sorted := make([]DiskConfig, len(cfg.Disks)) @@ -92,14 +92,14 @@ func Start(cfg Config) error { } else { args = append(args, "-drive", fmt.Sprintf("file=%s,if=none,id=%s", d.Path, d.Dev), - "-device", fmt.Sprintf("virtio-blk-pci,drive=%s,bootindex=%d", d.Dev, bootindex), + "-device", fmt.Sprintf("virtio-blk-pci,drive=%s,bus=pci.0,addr=0x1f,bootindex=%d", d.Dev, bootindex), ) } } args = append(args, "-netdev", fmt.Sprintf("tap,id=net0,ifname=tap%d,script=no,downscript=no", cfg.TapID), - "-device", fmt.Sprintf("virtio-net-pci,netdev=net0,mac=%s", cfg.Mac), + "-device", fmt.Sprintf("virtio-net-pci,netdev=net0,mac=%s,bus=pci.0,addr=0x03", cfg.Mac), "-daemonize", )