Skip to content

Commit d269585

Browse files
committed
Fix the UKI stub path on ARM64.
1 parent 778d16e commit d269585

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

toolkit/tools/pkg/imagecustomizerlib/customizeuki.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ func prepareUki(ctx context.Context, buildDir string, uki *imagecustomizerapi.Uk
128128
}
129129

130130
// Copy UKI-specific files such as kernel, initramfs, and UKI stub file.
131-
err = copyUkiFiles(buildDir, kernelToInitramfs, imageChroot)
131+
err = copyUkiFiles(buildDir, kernelToInitramfs, imageChroot, bootConfig)
132132
if err != nil {
133133
return fmt.Errorf("failed to copy UKI files:\n%w", err)
134134
}
@@ -183,10 +183,12 @@ func createUkiDirectories(buildDir string, imageChroot *safechroot.Chroot) error
183183
return nil
184184
}
185185

186-
func copyUkiFiles(buildDir string, kernelToInitramfs map[string]string, imageChroot *safechroot.Chroot) error {
186+
func copyUkiFiles(buildDir string, kernelToInitramfs map[string]string, imageChroot *safechroot.Chroot,
187+
bootConfig BootFilesArchConfig,
188+
) error {
187189
filesToCopy := map[string]string{
188-
filepath.Join(imageChroot.RootDir(), "/usr/lib/systemd/boot/efi/linuxx64.efi.stub"): filepath.Join(buildDir, UkiBuildDir, "linuxx64.efi.stub"),
189-
filepath.Join(imageChroot.RootDir(), "/etc/os-release"): filepath.Join(buildDir, UkiBuildDir, "os-release"),
190+
filepath.Join(imageChroot.RootDir(), bootConfig.ukiEfiStubBinaryPath): filepath.Join(buildDir, UkiBuildDir, bootConfig.ukiEfiStubBinary),
191+
filepath.Join(imageChroot.RootDir(), "/etc/os-release"): filepath.Join(buildDir, UkiBuildDir, "os-release"),
190192
}
191193

192194
for kernel, initramfs := range kernelToInitramfs {

toolkit/tools/pkg/imagecustomizerlib/liveosisoutils.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
const (
1717
osEspBootloaderDir = "/boot/efi/EFI/BOOT"
1818
isoBootloaderDir = "/efi/boot"
19+
ukiEfiStubDir = "/usr/lib/systemd/boot/efi/"
1920

2021
bootx64Binary = "bootx64.efi"
2122
bootAA64Binary = "bootaa64.efi"
@@ -29,6 +30,9 @@ const (
2930
systemdBootx64Binary = "systemd-bootx64.efi"
3031
systemdBootAA64Binary = "systemd-bootaa64.efi"
3132

33+
ukiEfiStubx64Binary = "linuxx64.efi.stub"
34+
ukiEfiStubAA64Binary = "linuxaa64.efi.stub"
35+
3236
grubCfgDir = "/boot/grub2"
3337
isoGrubCfg = "grub.cfg"
3438
isoGrubCfgPath = grubCfgDir + "/" + isoGrubCfg
@@ -78,6 +82,8 @@ type BootFilesArchConfig struct {
7882
osEspGrubNoPrefixBinaryPath string
7983
isoBootBinaryPath string
8084
isoGrubBinaryPath string
85+
ukiEfiStubBinary string
86+
ukiEfiStubBinaryPath string
8187
}
8288

8389
var (
@@ -92,6 +98,8 @@ var (
9298
osEspGrubNoPrefixBinaryPath: osEspBootloaderDir + "/" + grubx64NoPrefixBinary,
9399
isoBootBinaryPath: isoBootloaderDir + "/" + bootx64Binary,
94100
isoGrubBinaryPath: isoBootloaderDir + "/" + grubx64Binary,
101+
ukiEfiStubBinary: ukiEfiStubx64Binary,
102+
ukiEfiStubBinaryPath: ukiEfiStubDir + "/" + ukiEfiStubx64Binary,
95103
},
96104
"arm64": {
97105
bootBinary: bootAA64Binary,
@@ -103,6 +111,8 @@ var (
103111
osEspGrubNoPrefixBinaryPath: osEspBootloaderDir + "/" + grubAA64NoPrefixBinary,
104112
isoBootBinaryPath: isoBootloaderDir + "/" + bootAA64Binary,
105113
isoGrubBinaryPath: isoBootloaderDir + "/" + grubAA64Binary,
114+
ukiEfiStubBinary: ukiEfiStubAA64Binary,
115+
ukiEfiStubBinaryPath: ukiEfiStubDir + "/" + ukiEfiStubAA64Binary,
106116
},
107117
}
108118
)

0 commit comments

Comments
 (0)