Differences between revisions 1 and 2
Revision 1 as of 2022-08-08 01:13:07
Size: 1392
Editor: BenHutchings
Comment:
Revision 2 as of 2022-08-08 01:18:12
Size: 1414
Editor: BenHutchings
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
In case you have some programs that can only run in 32-bit mode, it is possible to add the 32-bit port as a secondary architecture through dpkg's [[Multiarch|multiarch]] support, and then install the required library packages. For example: In case you have some programs that can only run in 32-bit mode, it is possible to add the 32-bit port as a secondary architecture through dpkg's [[Multiarch|multiarch]] support, and then install the required library packages from there. For example:
Line 25: Line 25:
In case you want to keep an existing 32-bit installation, you can instead add the 64-bit port as a secondary architecture, and then install the kernel package. For example: In case you want to keep an existing 32-bit installation, you can instead add the 64-bit port as a secondary architecture, and then install the kernel package from there. For example:

64-bit kernels for 64-bit CPUs

It is currently possible to install Debian's i386 (32-bit PC) port, including kernel packages, on a 64-bit capable CPU. Such a CPU is capable of running 32-bit user programs correctly. However:

/!\ A kernel for a 32-bit port will not include workarounds for some CPU bugs and quirks that only affect 64-bit capable CPUs.

A similar issue can exist with armhf (32-bit Arm), though it is more likely that the armhf kernel won't include all the required drivers for a 64-bit Arm platform and so will be obviously unsuitable.

Recommendation

64-bit installation with 32-bit compatibility

We recommend installing Debian's amd64 port on 64-bit PCs, and the arm64 port on 64-bit Arm-based systems.

In case you have some programs that can only run in 32-bit mode, it is possible to add the 32-bit port as a secondary architecture through dpkg's multiarch support, and then install the required library packages from there. For example:

dpkg --add-architecture i386
apt update
apt install libc6:i386

32-bit installation with 64-bit kernel

In case you want to keep an existing 32-bit installation, you can instead add the 64-bit port as a secondary architecture, and then install the kernel package from there. For example:

dpkg --add-architecture amd64
apt update
apt install linux-image-amd64