(12-04-2019, 05:53 AM))Arwen Wrote: @danielt, Perhaps you know.
Is there a way to create an ARM multi-arch / multi-lib version of any Linux distro?
Before AMD's 64 bit architecture became common, most Linux distro that support x86_64, were multi-library. After that transistion period was over, and x64 become dominant, some like me never bothered to disable x86 compatibility.
I think it is different for different distros since when all the fluff is stripped away it basically means careful packaging (to allow parallel install of libraries by using different directories) and a package manager that can cope with multiple architectures. Thus the answer may change depending on your choice of distro.
Debian is pretty good in that regard. For example with the benefit of qemu-user I am currently running a arm64 base system but enriched with some amd64 libraries (just enough to run the x86-64 binaries found in rkbin/tools/ and permit me to build u-boot on Pinebook Pro). These days Debian is well separated so you can do all sorts of crazy things with qemu and binfmt to allow alien binaries to run. The only problem I've seen is that you can't run pair armhf and i386 as multi-arch because they both use the same filename for their dynamic linker.
More practically I also did a simple test on an SD card freshly installed with my installer to try running an armhf 32-bit browser within an OS that is mostly arm64 (epiphany is installed to stop the removal of firefox from dragging away too much with it):
Code:
sudo apt install epiphany-browser
sudo apt remove firefox-esr
sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install firefox-esr:armhf
Finally be aware that even if you can't get multi-arch working as you would like it to then you can probably use containers to work around it. For example if you are running a 64-bit kernel then you can host a arm64 LXC containers in armhf distros and vice versa.