From deed4947e32b6904617d5d3122a1ddea125118b7 Mon Sep 17 00:00:00 2001 From: Guoguo <16666742+imguoguo@users.noreply.github.com> Date: Tue, 17 Jun 2025 02:02:16 +0000 Subject: [PATCH] feat: add support for RISC-V architecture in disk image and partition table --- bib/cmd/bootc-image-builder/image.go | 15 +++++++++++++++ bib/cmd/bootc-image-builder/partition_tables.go | 9 +++++++++ 2 files changed, 24 insertions(+) diff --git a/bib/cmd/bootc-image-builder/image.go b/bib/cmd/bootc-image-builder/image.go index 09d43a477..b28e0035b 100644 --- a/bib/cmd/bootc-image-builder/image.go +++ b/bib/cmd/bootc-image-builder/image.go @@ -412,7 +412,15 @@ func manifestForDiskImage(c *ManifestConfig, rng *rand.Rand) (*manifest.Manifest }, BIOS: true, } + case arch.ARCH_RISCV64: + img.Platform = &platform.RISCV64{ + UEFIVendor: "fedora", + BasePlatform: platform.BasePlatform{ + QCOW2Compat: "1.1", + }, + } } + if kopts := customizations.GetKernel(); kopts != nil && kopts.Append != "" { img.KernelOptionsAppend = append(img.KernelOptionsAppend, kopts.Append) @@ -582,6 +590,13 @@ func manifestForISO(c *ManifestConfig, rng *rand.Rand) (*manifest.Manifest, erro ImageFormat: platform.FORMAT_ISO, }, } + case arch.ARCH_RISCV64: + img.Platform = &platform.RISCV64{ + BasePlatform: platform.BasePlatform{ + ImageFormat: platform.FORMAT_ISO, + }, + UEFIVendor: c.SourceInfo.UEFIVendor, + } default: return nil, fmt.Errorf("unsupported architecture %v", c.Architecture) } diff --git a/bib/cmd/bootc-image-builder/partition_tables.go b/bib/cmd/bootc-image-builder/partition_tables.go index 0d67f8705..9ce5468c5 100644 --- a/bib/cmd/bootc-image-builder/partition_tables.go +++ b/bib/cmd/bootc-image-builder/partition_tables.go @@ -127,4 +127,13 @@ var partitionTables = distro.BasePartitionTableMap{ rootPartition, }, }, + arch.ARCH_RISCV64.String(): disk.PartitionTable{ + UUID: diskUuidOfUnknownOrigin, + Type: disk.PT_GPT, + Partitions: []disk.Partition{ + efiPartition, + bootPartition, + rootPartition, + }, + }, }