From 2b4e850d0e2f523b1d5951be61ac978d7455d3c2 Mon Sep 17 00:00:00 2001 From: Luke Hackwell Date: Fri, 11 Oct 2024 12:11:14 +0100 Subject: [PATCH 1/3] feat: Add genrule to create aarch64 efi firmware --- MODULE.bazel | 1 + debian/amd64/qemu-system-arm/BUILD.bazel | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/MODULE.bazel b/MODULE.bazel index 11389a88..febbacef 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -94,6 +94,7 @@ download_archive = use_repo_rule("@download_utils//download/archive:defs.bzl", " ("all", "qemu-system-data", "7.2+dfsg-7+deb12u7", "q", "qemu", "sha256-SYbtlNWvP/Gw6Cm0Qqg/O8lErczThTXdTa/xxCNbiSM="), ("all", "readline-common", "8.2-1.3", "r", "readline", "sha256-aTF1I/5WQpqjYVRUFq0znROMFQDlpgSFaoDdkHS041w="), ("all", "seabios", "1.16.2-1", "s", "seabios", "sha256-COWz92E3nxemBRcxyvoD6XaGBJ4swbi9zMWpEGRuLY4="), + ("all", "qemu-efi-aarch64", "2022.11-6+deb12u1", "e", "edk2", "sha256-m3GACq0ux4KK6jFU3c7u0p0CdaEkDu555OcXQN3rDxc="), ("amd64", "cdebconf", "0.270", "c", "cdebconf", "sha256-Lp3oi0y4os6tt4X6v/Ao2IP5psNSiRZGT7OPSDfBVic="), ("amd64", "dpkg", "1.21.22", "d", "dpkg", "sha256-nZfyfYqKBt1IAOjgKRM3ygLhHN/X3wmkVmqYKm2f5MQ="), ("amd64", "gcc-12-base", "12.2.0-14", "g", "gcc-12", "sha256-GgPfWleDPWW1uwjPoZ1Q528pCI3J5k+5NK9C2QI6CAc="), diff --git a/debian/amd64/qemu-system-arm/BUILD.bazel b/debian/amd64/qemu-system-arm/BUILD.bazel index 59e9a88f..b0c9a77d 100644 --- a/debian/amd64/qemu-system-arm/BUILD.bazel +++ b/debian/amd64/qemu-system-arm/BUILD.bazel @@ -27,3 +27,19 @@ debian_launcher( src = ":unpack", visibility = ["//:__subpackages__"], ) + +genrule( + name = "efi_firmware", + outs = [ + "flash0.img", + "flash1.img", + ], + cmd = """ + dd if=/dev/zero of=$(location flash1.img) bs=1M count=64 + dd if=/dev/zero of=$(location flash0.img) bs=1M count=64 + dd if=$(location :unpack)/usr/share/qemu-efi-aarch64/QEMU_EFI.fd of=$(location flash0.img) conv=notrunc + """, + srcs = [ + ":unpack" + ] +) -- GitLab From 80d0cb3a086ec5aeed088d44674bfa11b4339a95 Mon Sep 17 00:00:00 2001 From: Luke Hackwell Date: Fri, 11 Oct 2024 15:22:39 +0100 Subject: [PATCH 2/3] chore: Move efi_firmware to //qemu/efi_firmware --- debian/amd64/qemu-system-arm/BUILD.bazel | 16 ---------------- qemu/efi_firmware/BUILD.bazel | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 qemu/efi_firmware/BUILD.bazel diff --git a/debian/amd64/qemu-system-arm/BUILD.bazel b/debian/amd64/qemu-system-arm/BUILD.bazel index b0c9a77d..59e9a88f 100644 --- a/debian/amd64/qemu-system-arm/BUILD.bazel +++ b/debian/amd64/qemu-system-arm/BUILD.bazel @@ -27,19 +27,3 @@ debian_launcher( src = ":unpack", visibility = ["//:__subpackages__"], ) - -genrule( - name = "efi_firmware", - outs = [ - "flash0.img", - "flash1.img", - ], - cmd = """ - dd if=/dev/zero of=$(location flash1.img) bs=1M count=64 - dd if=/dev/zero of=$(location flash0.img) bs=1M count=64 - dd if=$(location :unpack)/usr/share/qemu-efi-aarch64/QEMU_EFI.fd of=$(location flash0.img) conv=notrunc - """, - srcs = [ - ":unpack" - ] -) diff --git a/qemu/efi_firmware/BUILD.bazel b/qemu/efi_firmware/BUILD.bazel new file mode 100644 index 00000000..118b6f05 --- /dev/null +++ b/qemu/efi_firmware/BUILD.bazel @@ -0,0 +1,22 @@ +load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") + +tar_unpack( + name = "unpack", + src = "@all-qemu-efi-aarch64//:data.tar.xz", +) + +genrule( + name = "efi_firmware", + outs = [ + "flash0.img", + "flash1.img", + ], + cmd = """ + dd if=/dev/zero of=$(location flash1.img) bs=1M count=64 + dd if=/dev/zero of=$(location flash0.img) bs=1M count=64 + dd if=$(location :unpack)/usr/share/qemu-efi-aarch64/QEMU_EFI.fd of=$(location flash0.img) conv=notrunc + """, + srcs = [ + ":unpack", + ] +) -- GitLab From d880e0c57033fe139296d08ab0ad43c993d5f66d Mon Sep 17 00:00:00 2001 From: Luke Hackwell Date: Fri, 11 Oct 2024 15:28:44 +0100 Subject: [PATCH 3/3] chore: add test --- qemu/efi_firmware/BUILD.bazel | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/qemu/efi_firmware/BUILD.bazel b/qemu/efi_firmware/BUILD.bazel index 118b6f05..17285f28 100644 --- a/qemu/efi_firmware/BUILD.bazel +++ b/qemu/efi_firmware/BUILD.bazel @@ -1,3 +1,4 @@ +load("@bazel_skylib//rules:build_test.bzl", "build_test") load("@rules_tar//tar/unpack:defs.bzl", "tar_unpack") tar_unpack( @@ -20,3 +21,8 @@ genrule( ":unpack", ] ) + +build_test( + name = "test", + targets = [":efi_firmware"], +) -- GitLab