Following the status of BonSlack, an (unofficial) porting of Slackware Linux to ARM, DEC Alpha, HPPA, LoongArch, MIPS, OpenRISC, PowerPC, RISC-V, S/390x, SH4, SPARC, x86 architectures.
The build system is the same of slackware64's one, plus (few) patches to allow compilation for architectures different than 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, s390x, and sparc was based on PowerPC and BigEndian porting, plus some additional patches where needed.
AVAILABLE ALSO BY RSYNC: rsync://bonslack.org/bonslack/
Processor | FPU | ARCH | Bits | Endian | ABI | BonSlack 14.2 | Patches 14.2 | BonSlack 15.0 | Patches 15.0 | Current |
---|---|---|---|---|---|---|---|---|---|---|
ARMv8-a (ARM64) | VFPv4 + NEON | aarch64 | 64 | Little | gnu | Complete. Provide kernel and u-boot for Allwinner H5: OrangePI PC Prime. | Updated to 2024-07-03. [2] | Complete. | Updated to 2024-10-21. | Updating to 2024-10-22 (Pillow in progress). |
DEC Alpha | FP | alpha | 64 [10] | Little | gnu | Base complete. | Updated to 2024-07-03 | Base complete. | Updated to 2024-10-21. | Updating to 2024-10-22 (qpdf in progress). |
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 2024-07-03. [1] | Base complete. [5] | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). [13] |
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 2024-07-03. [1] | Complete. 14.99 (gcc 8.2-glibc 2.28): Base complete [11] |
Updated to 2024-10-21. | Updating to 2024-10-22 (libvisio in progress). [13] |
PA-RISC 1.1 | FP | hppa | 32 | Big | gnu | Base complete. (Segment violation on various program using qt, investigating) | Updated to 2024-07-03 | Base complete. | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). [13] |
LoongArch64 | FP | loongarch64 | 64 | Little | gnu | None (basic tools too old for loongarch) | - | None (basic tools too old for loongarch) | - | Updating to 2024-10-22 (llvm in progress). |
MIPS v2 | FP | mips | 32 | Big | gnu | Base complete. (seamonkey, mozilla-* and java to be compiled). | Updated to 2024-07-03. [1] | Base complete [6] | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). [13] |
MIPS v2 | FP | mipsel | 32 | Little | gnu | Base complete. (seamonkey, mozilla-* and java to be compiled). | Updated to 2024-07-03. [1] | Base complete [6] | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). [13] |
MIPS Loongsoon | FP | mips64el | 64 | Little | gnu / gnuabi64 [4] | Base complete. (seamonkey, mozilla-* and java to be compiled). | Updated to 2024-07-03. [1] | Base complete [6] [12] | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). |
OpenRISC 1K | FP | or1k | 32 | Big | gnu | None (gcc and glibc too old for openrisc) | - | Base complete [17]. | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). |
PowerPC G2 | FP | ppc | 32 | Big | gnu | Complete. | Updated to 2024-07-03. [1] | Base complete. Rust raises illegal instruction from 1.46+ (provided 1.45).[6] | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). [13] |
PowerPC G5 (POWER4) | FP+Altivec | ppc64 | 64 | Big | gnu | Complete. | Updated to 2024-07-03. [3] | Base complete. [8] | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). |
OpenPower (POWER8) | FP+Altivec | ppc64le | 64 | Little | gnu | Complete. | Updated to 2024-07-03. [3] | Base complete. [8] | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). |
RISC-V GC | FP | riscv64 | 64 | Little | gnu | None (binutils/gcc/glibc too old for RISC-V) | - | Base complete. [7] | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). |
z/Architecture z900/z990 [9] | FP | s390x | 64 | Big | gnu | Complete. | Updated to 2024-07-03. [1] | Base complete. [7] Rust segment violation while building, investigating in progress under qemu-system-s390x; using precompiled binaries in the while. | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). |
SuperH | FP | sh4 | 32 | Little | gnu | None (combination gcc/glibc does not work [duplicated functions like _itoa]) | - | Base complete. | Updated to 2024-10-21. | Updating to 2024-10-22 (llvm in progress). [13] |
SPARC (leon3-v8) | FP | sparc | 32 | Big | gnu | Base complete. [15] | Updated to 2024-07-03 | Base complete.[16] | Updated to 2024-10-21. | Building from scratch (1%). [13] |
Ultrasparc (v9a) | FP | sparc64 | 64 | Big | gnu | Base complete. | Updated to 2024-07-03 | Base complete. | Updated to 2024-10-21. | Building from scratch (1%). |
x86 | FP | i586 | 32 | Little | gnu | Official Slackware. | Updated to 2024-07-03 | Official Slackware. | Patch from official Slackware. | Updated to 2024-10-22. (Y2038)[14] |
AMD64 | FP + MMX + SSE + AVX | x86_64 | 64 | Little | gnu | Official Slackware. | Updated to 2024-07-03 | Official Slackware. | Patch from official Slackware. | Official Slackware. |
[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 -15.0) set abi default to gnuabi64 for mips64el, instead of 14.2's gnu abi. Rebuild from scratch required (binaries from 14.2 and -15.0 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] | Packages seamonkey to be built. |
[9] | z900 minimum CPU; z990 minimum CPU for Rust due to the usage of "lay" instruction (vendor/psm/src/arch/zseries_linux.s). |
[10] | LIBDIR for alpha is "lib" despite it is a 64 bits architecture, because 32 bits implementation does not exists and gcc/glibc by default are simply using "lib". |
[11] | BonSlack 14.99 is BonSlack 15.0 but with downgraded gcc (8.2.0) and glibc (2.28) to be compatible with existing older distribution, such Yocto for Toradex Colibri system-on-chip. |
[12] | Bug on libclang prevents to run sip_generator.py for KDE, do not provide sip files. |
[13] | Packages in 32bit portings of BonSlack-current (15.1) are [re-]compiled for Y2038 compliance (_TIME_BITS=64). Please note that some of these packages are NOT compatible with previous BonSlack versions due to different time_t size (32/64 bit) in structures and/or in APIs. |
[14] | The difference from the official Slackware is that BonSlack x86 tries to keep as much as possible Y2038 compliance (_TIME_BITS=64 for all [re-]compiled packages). Please note that some of the packages from this porting are NOT compatible with official Slackware libraries (some official Slackware libraries still compiled with 32bit time_t that are not compatible with programs/libraries compiled with 64bit time_t). If you want to use a specific package/program from this porting, you also have to install all packages that include libraries with time_t exposed in their APIs. For example, htpasswd, htdigest, htdbm, and logresolve programs from httpd package are linked to libdb-4.8 from db48 package, so if you want to install httpd package from this porting you should also install db48 package from this porting and all other packages that are linked to libdb-4.8 (gnucobol, libical, libpinyin, moc, nvi, pam, perl, php, postfix, python2, rpm, ruby, serf, subversion). If you want to mix packages from the 2 portings, the suggestion is to mix only packages that are not dynamically linked to libraries that expose time_t in their APIs (such as gnupg and gnupg2). |
[15] | Provided glibc 2.22 due to dropped support for pre-v9 CPUs from glib 2.23 to glibc 2.30. Missing gcc-libitm due to v9 requirement. Minimum CPU is v8; CASA instruction - LEON3+ - required for programs that use libatomic. |
[16] | LEON3+ or processor with CASA instruction mandatory. |
[17] | Provided glibc 2.35, the first with or1k support, and binutils 2.39 due to non complete support for -mcmodel=large in binutils 2.37. Provided crtbeginS.o from gcc 12.2.0 due to missing R_GOT_AHI16 in 11.2.0's one. |
Powered by Apache 2.4.54 on Slackware64-15.0 - Maintained by Luca Bonissi