BonSlack: **UNOFFICIAL** porting of Slackware Linux to ARM, PowerPC, MIPS, RISC-V, and S/390x

Following the status of BonSlack, an (unofficial) porting of Slackware Linux to ARM, PowerPC, MIPS, RISC-V, S/390x architectures.

The build system is the same of slackware64's one, plus (few) patches to allow compilation for architectures different that x86. Where needed, the build script was upgraded to allow the use of external variable LIBDIRSUFFIX to determine where to place libraries (lib or lib64).

The "hard" porting challenge was qtwebengine inside qt5, since it is based on Chromium and the latter has only official support for x86, arm, aarch64 and mipsel (Android architectures...). The porting to ppc, ppc64, ppc64le, mips, mips64el, riscv64, and s390x was based on PowerPC and BigEndian porting, plus some additional patches where needed.

ProcessorFPUARCHBitsEndianABIBonSlack 14.2Patches 14.2BonSlack current
ARMv5te no FPU arm 32 Little gnueabi (soft-float) Complete. Provide kernel and u-boot for Marvell kirkwood/orion: Seagate Dockstar, Seagate GoFlexNet, Zyxel NSA320, D-Link DNS323 (kernel only). Updated to 2021-10-28. [1] Updating to 2021-12-03 (qt5 in progress). [5]
ARMv7-a VFPv3-d16 + NEON armv7hl 32 Little gnueabi (hard-float) Complete. Provide kernel and u-boot for Allwinner A10/A20/H3/H2+: Olinuxino A10-Lime, A20-Lime-MICRO, A20-Lime2; OrangePI PC, Zero; BananaPI. Updated to 2021-10-28. [1] Updating to 2021-12-03 (qt5 in progress). [5]
ARMv8-a (ARM64) VFPv4 + NEON aarch64 64 Little gnu Complete. Provide kernel and u-boot for Allwinner H5: OrangePI PC Prime. Updated to 2021-10-28. [2] Updating to 2021-12-03 (qt5 in progress).
MIPS v2 FP mips 32 Big gnu Basic complete. (seamonkey, mozilla-* and java to be compiled). Updated to 2021-10-28. [1] Updating to 2021-12-03 (qt5 in progress).[6]
MIPS v2 FP mipsel 32 Little gnu Basic complete. (seamonkey, mozilla-* and java to be compiled). Updated to 2021-10-28. [1] Updating to 2021-12-03 (qt5 in progress). [6]
MIPS Loongsoon FP mips64el 64 Little gnu / gnuabi64 [4] Basic complete. (seamonkey, mozilla-* and java to be compiled). Updated to 2021-10-28. [1] Updating to 2021-12-03 Bug on python/clang [or qemu] prevents to run sip_generator.py (trying to solve the issue).[6]
PowerPC G2 FP ppc 32 Big gnu Complete. Updated to 2021-10-28. [1] Updating to 2021-12-03 (qt5 in progress). Rust raises illegal instruction with qemu-user from 1.46+ (provided 1.45, try to compile on qemy-system).[6]
PowerPC G5 (POWER4) FP+Altivec ppc64 64 Big gnu Complete. Updated to 2021-10-28. [3] Updating to 2021-12-03 (qt5 in progress). [7]
OpenPower (POWER8) FP+Altivec ppc64le 64 Little gnu Complete. Updated to 2021-10-28. [3] Updating to 2021-12-03 (qt5 in progress; problem with guile, checking and try to solve). [6]
RISC-V GC FP riscv64 64 Little gnu None (binutils/gcc/glibc too old for RISC-V) - Updating to 2021-12-03 (qt5 in progress, implementing patches for qtwebengine/chromium to support RISC-V). [5]
z/Architecture z900/z990 [8] FP s390x 64 Big gnu Complete. Updated to 2021-10-28. [1] Building from boostrap-14.2 (rust in progress).
[1]Missing from patches: extra/llvm, patches/rust, patches/mozilla-firefox, patches/mozilla-thunderbird, patches/seamonkey
[2]Missing from patches: mozilla-firefox, mozilla-thunderbird (seamonkey stops to 2.49.4)
[3]Missing from patches: mozilla-firefox, mozilla-thunderbird, seamonkey
[4]Glibc-2.33 (in -current) set abi default to gnuabi64 for mips64el, instead of 14.2's gnu abi. Rebuild from scratch required (binaries from 14.2 and -current are not abi-compatible).
[5]Latest u-boot upgrade not (yet) built. Packages seamonkey/mozilla-firefox/mozilla-thunderbird to be built.
[6]Kernel not (yet) built. Packages seamonkey/mozilla-firefox/mozilla-thunderbird to be built.
[7]Packages seamonkey/mozilla-firefox/mozilla-thunderbird to be built.
[8]z900 minimum CPU; z990 minimum CPU for Rust due to the usage of "lay" instruction (vendor/psm/src/arch/zseries_linux.s).


Build systems

ARMv5te, ARMv7, AArch64, and RISC-V64 are build respectively on OrangePI PC (Allwinner H3, with patched arch and uname), OrangePI PC (Allwinner H3), Orange PI Prime (Allwinner H5), and Nezha (Allwinner D1) single boards. Building of rust, qt5, seamonkey, mozilla-firefox, and mozilla-thunderbird is done on AMD Ryzen 7 3700X with qemu-user, since they requires too much memory even for Orange PI Prime (2GB) with zswap activated.
For the remaining systems, the same AMD Ryzen 7 3700X system with qemu-user is used (qemu-system used to build JDK on some architectures).
ARMv5te is tested on Seagate GoFlex (Marvell Kirkwood Feroceon 88FR131 1.2 GHz, 128MB RAM with 2 SATA interfaces in RAID1). This system is also used as main repository for sources and binary packages.


Powered by Apache 2.4.51 on Slackware64-current - Maintained by Luca Bonissi