Some random notes…
Arch Linux ARM has dropped support for the ARMv5 and ARMv6 targets. The only ARMv6 target they supported was the original Raspberry Pi. This includes the Raspberry Pi Zero, as it is the same chip, just on a different size board. As I still have my original Raspberry Pi in service. Yes, the original ones, with only 256 MiB of RAM, when they were released as RS and Farnell, and the many orders brought down their websites. That’s what I call a dDoS attack… just open your orders at time X, and have everyone who wants to order overload the servers. Oh, it was fun in those days, right?
Oh well… as the official repos don’t build those pacakges any more… well… building them yourselves is one of the options, and it seems, on various places on the internet, the forums, github, reddit, people are wondering what to do. Can we build our own packages? Can someone host repositories for the dropped architectures, like ArchLinux32 did when ArchLinux dropped i686 support?
Building on the machines themselves, well… it’s not an option, way too slow, we need some cross-compilation on a fast computer if we want to be finished before the heat death of the universe. So, we need some cross-compiling. I’ve been looking at the crosstool-NG configuration. As taking the official configuration files, for ARMv7, the latest version when ARMv6 was still available, and the current. And diff them, apply the patch to the ARMv6 configuration. Sounds simple, but it ain’t that simple. One thing to note is the fact ArchLinuxARM uses a git version rather then the last release version, as they require the current versions of gcc, glibc, and related requirements. Installing the crosstool-ng-git package from AUR will be newer then the version used to generate the config files, and as such, some versions may have changed. The problem with that, if a version is not recognised, it will revert to the default, which will be a way older version. So… creating the cross compiler for ARMv5 and ARMv6, it will take another look before I got that working to satisfaction.
But just having a cross compiler ain’t the whole picture. As I don’t want just to compile, I want to create pacakges. On the ArchLinuxARM github is a repo called plugbuild, which appears to be what ArchLinuxARM uses internally to build their packages, but due lack of documentation, this is useless for an outsider.
But hey… I found an AUR package, called devtools-qemu, description “QEMU based cross-build tools for Arch Linux ARM package maintainers”. That looks promising, right? Well… missing dependency archlinuxarm-keyring. Well, I can download that from the ArchLinuxARM website and install it on my ArchLinux machine, no problem. A comment mentions the arch4edu repository, so I’ve added that one to my pacman configuration as well. There we go, however it ain’t working yet….
I’m too tired now to write out all the details of what was going on, at least, the scripts from devtools-qemu ain’t working properly, but using the config files from devtools-qemu, but using the normal devtools (by replacing the symlink, make extra-armv7h-build link to archbuild in stead of archbuild-qemu) gives results.
Also note that, for a cross-platform chroot to work, qemu-user-static is required, using binfmt. This means, if the normal qemu-binfmt is installed it will conflict, as it will use those instead, which of course won’t work inside a chroot.