base: Add arm64 support

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
This commit is contained in:
Stéphane Graber
2025-08-07 18:18:01 -04:00
parent 60ddfa9e52
commit 5d8696ef16
9 changed files with 16 additions and 7 deletions

View File

@@ -607,12 +607,20 @@ func copyPartitionDefinition(ctx context.Context, src string, tgt string, partit
partitionHexCode = "EF00"
case "Linux filesystem":
partitionHexCode = "8300"
case "Linux x86-64 /usr verity signature":
partitionHexCode = "8385"
case "Linux x86-64 /usr verity":
partitionHexCode = "8319"
case "Linux x86-64 /usr":
partitionHexCode = "8314"
case "Linux ARM64 /usr verity signature":
partitionHexCode = "8375"
case "Linux ARM64 /usr verity":
partitionHexCode = "831b"
case "Linux ARM64 /usr":
partitionHexCode = "8316"
default:
return fmt.Errorf("unrecognized partition type '%s'", partitionType)
}

View File

@@ -901,6 +901,12 @@ func getArchEFIFiles() (map[string]string, error) {
ret["systemdEFI"] = "/boot/EFI/systemd/systemd-bootx64.efi"
ret["bootEFI"] = "/boot/EFI/BOOT/BOOTX64.EFI"
return ret, nil
case "arm64":
ret["stub"] = "lib/systemd/boot/efi/systemd-bootaa64.efi.signed"
ret["systemdEFI"] = "/boot/EFI/systemd/systemd-bootaa64.efi"
ret["bootEFI"] = "/boot/EFI/BOOT/BOOTAA64.EFI"
return ret, nil
default:
return ret, fmt.Errorf("architecture %s isn't currently supported", runtime.GOARCH)

View File

@@ -77,7 +77,7 @@ func ApplySystemUpdate(ctx context.Context, luksPassword string, version string,
for _, file := range updateFiles {
if strings.HasSuffix(file.Name(), "_"+version+".efi") {
newUKIFile = filepath.Join(SystemUpdatesPath, file.Name())
} else if strings.Contains(file.Name(), "_"+version+".usr-x86-64.") {
} else if strings.Contains(file.Name(), "_"+version+".usr-x86-64.") || strings.Contains(file.Name(), "_"+version+".usr-arm64.") {
newUsrImageFile = filepath.Join(SystemUpdatesPath, file.Name())
}
}

View File

@@ -8,7 +8,7 @@ import (
)
// GetLUKSVolumePartitions returns the underlying partitions that hold the root and swap LUKS volumes.
// We can't just rely on /dev/disk/by-partlabel/root-x86-64, because as soon as an overlay is applied
// We can't just rely on /dev/disk/by-partlabel/root-ARCH, because as soon as an overlay is applied
// that symlink is repointed to the newly mapped loop device.
func GetLUKSVolumePartitions() (map[string]string, error) {
// /dev/disk/by-partlabel/swap should always point to the correct underlying device.

View File

@@ -12,7 +12,6 @@ SplitArtifacts=yes
[Distribution]
Distribution=debian
Release=trixie
Architecture=x86-64
Mirror=http://deb.debian.org/debian
Repositories=non-free-firmware

View File

@@ -14,7 +14,6 @@ Types: deb
URIs: https://pkgs.zabbly.com/incus/stable
Suites: trixie
Components: main
Architectures: amd64
Signed-By: /etc/apt/keyrings/zabbly.asc
EOF

View File

@@ -3,5 +3,4 @@ Types: deb
URIs: https://pkgs.zabbly.com/incus/stable
Suites: trixie
Components: main
Architectures: amd64
Signed-By: /etc/apt/keyrings/zabbly.asc

View File

@@ -3,5 +3,4 @@ Types: deb
URIs: https://pkgs.zabbly.com/kernel/stable
Suites: trixie
Components: main zfs
Architectures: amd64
Signed-By: /etc/apt/keyrings/zabbly.asc

View File

@@ -3,5 +3,4 @@ Types: deb
URIs: https://pkgs.zabbly.com/ovn/stable
Suites: trixie
Components: main
Architectures: amd64
Signed-By: /etc/apt/keyrings/zabbly.asc