Unfortunately one of the rules of multiarch is that if a package is installed for multiple architectures (this is only possible for multi-arch:same packages, which mostly means libraries) the versions must match precisely. I understand why Debian made this design descision but it makes it tricky to multiarch between a parent distro and a derivative.
To solve this issue I have prepared a couple of repositories with arm64 builds of raspbian and raspberry pi foundation packages (and in one case a slightly modified version of a raspberry pi foundation package built for both armhf and arm64) that can be used to patch-over the version inconsistencies between Debian and Raspbian and hence allow a multiarch setup of raspbian with Debian arm64.
Before starting to install arm64 packages you should be running a 64-bit kernel. See https://www.raspberrypi.org/forums/view ... 9&t=250730 for more info on that.
setup instructions (not fully tested)
Code: Select all
sed -i 's/deb /deb [arch=armhf] /' /etc/apt/sources.list
sed -i 's/deb /deb [arch=armhf] /' /etc/apt/sources.list.d/raspi.list
echo deb [arch=arm64] http://ftp.uk.debian.org/debian buster main >> /etc/apt/sources.list
echo deb [arch=arm64] http://security.debian.org/ buster/updates main >> /etc/apt/sources.list
echo deb [arch=arm64] http://plugwash.raspbian.org/multiarch buster main >> /etc/apt/sources.list
echo deb http://plugwash.raspbian.org/multiarch-rpf buster main >> /etc/apt/sources.list.d/raspi.list
gpg --keyserver keys2.kfwebs.net --recv-keys 6D33866EDD8FFA41C0143AEDDCC9EFBF77E11517
gpg --export 6D33866EDD8FFA41C0143AEDDCC9EFBF77E11517 | apt-key add
gpg --keyserver keys2.kfwebs.net --recv-keys B7ED7C2CB9C95A8BDF94369CE77FC0EC34276B4B
gpg --export B7ED7C2CB9C95A8BDF94369CE77FC0EC34276B4B | apt-key add
apt-get update && apt-get install debian-archive-keyring
So far I have successfully installed arm64 versions of chromium , iagno, kfourinline and ffmpeg.
Notes:
* While libraries can usually be installed for multiple architectures, applications can normally only be installed for one architecture at a time.
* Sometimes you have to help apt along a bit with installing stuff by adding extra packages to the command line.
* kio can currently only be installed for one architecture at a time, which means for kde stuff you basically have to choose one architecture and will have to install kio:arm64 manually if you want to install arm64 kde stuff. This is not a raspbian-specific issue but a more general Debian one, I filed a bug at https://bugs.debian.org/cgi-bin/bugrepo ... bug=942129 .
* some packages simply don't support installing for a foreign architecture, most commonly because their "-data" package is arch all and not marked "multi-arch: foreign", again this is not a raspbian-specific issue.
* for now only buster is supported, I may or may not add support for bullseye once the infrastructure is more stable.