Supported CPU Architecture
Here's a table of the supported Debian architectures to run in mmdebstrap using debos :
| Debian Architecture | Supported | Bootloader | Boot EFI File | GRUB EFI File | GRUB Install Target | Linux Image Package | Devices |
|---|---|---|---|---|---|---|---|
| amd64 | ✅ (default) | UEFI | BOOTX64.EFI |
grubx64.efi |
x86_64-efi |
linux-image-amd64 |
AMD and Intel processors and most PCs and servers |
| 〃 | ❌ | BIOS | N/A | N/A | i386-pc |
〃 | 〃 |
| arm64 | ✅ | UEFI | BOOTAA64.EFI |
grubaa64.efi |
arm64-efi |
linux-image-arm64 |
Most phones, IOT, and embedded devices, rpi4 and rpi5 |
| riscv64 | ✅ | UEFI | BOOTRISCV64.EFI |
grubriscv64.efi |
riscv64-efi |
linux-image-riscv64 |
open instruction set growing for embedded and single board chips |
| armhf | ❌ | UEFI | BOOTARM.EFI |
grubarm.efi |
arm-efi |
linux-image-armmp |
rpi3 and rpi2 |
| i386 | ❌ | UEFI | BOOTIA32.EFI |
grubia32.efi |
i386-efi |
linux-image-686 |
Older PCs with limited support |
| 〃 | ❌ | BIOS | N/A | N/A | i386-pc |
〃 | 〃 |
Notes
- BIOS bootloader doesn't use EFI files—those columns are marked as N/A
- ARM and RISC-V architectures don't have traditional BIOS support, only UEFI
- The Boot EFI names follow the UEFI specification naming convention
- GRUB EFI filenames are lowercase versions of the boot EFI names
- The GRUB install targets are what you'd pass to
grub-install --target= - For
i386, thelinux-image-package islinux-image-686(generic 686 flavor) rather thanlinux-image-i386 - For
armhf, the package islinux-image-armmp(multiplatform ARM) - All other architectures use
linux-image-<arch>directly
x86 Instruction Set Naming
amd64 (x86-64, x64, x86_64, AMD64, and Intel 64) works on both Intel and AMD 64-bit processors. The naming is confusing because AMD actually invented the 64-bit extension to the x86 instruction set in 2003. Intel followed with their own compatible implementation shortly after. Because AMD extended x86 to use 64-bit first, they named the architecture AMD64. Intel's named their compatible version Intel 64. The Linux kernel, GCC, among other projects avoided using AMD or Intel since it worked for both brands of CPU, so they call it x86_64, while Debian calls it amd64. It's the same instruction set and Debian's amd64 package runs identically on both Intel and AMD 64-bit processors.
Support philosophy
We want to balance between expanding support to as many people as possible, while limiting the amount of extra work. That said, we will initially support amd64, arm64, and risc64 CPU instruction sets with the UEFI bootloader.
amd64 is the most common CPU architecture to find with modern PCs, while arm64 and riscv64 for single-board chips, IOT, phones, and other embedded applications. We may consider support for 32-bit i386 and armhf instruction sets, as well as, legacy BIOS bootloaders if the need comes up in the community.
Partition Types
TODO document gpt vs msdos (MBR)