BonSlack: **UNOFFICIAL** Porting of Slackware GNU/Linux - Luca Bonissi

BonSlack: **UNOFFICIAL** porting of Slackware GNU/Linux to ARM, DEC Alpha, HPPA, LoongArch, MIPS, OpenRISC, PowerPC, RISC-V, S/390x, SH4, SPARC, x86

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/


ProcessorFPUARCHBitsEndianABIBonSlack 14.2Patches 14.2BonSlack 15.0Patches 15.0Current
ARMv8-a (ARM64) VFPv4 + NEON aarch64 64 Little gnu Complete. Provide kernel and u-boot for Allwinner H5: OrangePI PC Prime. Updated to 2024-04-14. [2] Complete. Updated to 2024-05-09. Updating to 2024-05-09 (gettext in progress).
DEC Alpha FP alpha 64 [10] Little gnu Base complete. Updated to 2024-04-14 Base complete. Updated to 2024-05-09. Updating to 2024-05-09 (ncurses 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-04-14. [1] Base complete. [5] Updating to 2024-05-09. Updating to 2024-05-09 (mozjs115 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-04-14. [1] Complete.

14.99 (gcc 8.2-glibc 2.28): Base complete [11]
Updated to 2024-05-09. Updating to 2024-05-09 (gettext 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-04-14 Base complete. Updated to 2024-05-09. Updating to 2024-05-09 (ncurses 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-05-09 (ncurses in progress).
MIPS v2 FP mips 32 Big gnu Base complete. (seamonkey, mozilla-* and java to be compiled). Updated to 2024-04-14. [1] Base complete [6] Updated to 2024-05-09. Updating to 2024-05-09 (ncurses in progress). [13]
MIPS v2 FP mipsel 32 Little gnu Base complete. (seamonkey, mozilla-* and java to be compiled). Updated to 2024-04-14. [1] Base complete [6] Updated to 2024-05-09. Updating to 2024-05-09 (ncurses in progress). [13]
MIPS Loongsoon FP mips64el 64 Little gnu / gnuabi64 [4] Base complete. (seamonkey, mozilla-* and java to be compiled). Updated to 2024-04-14. [1] Base complete [6] [12] Updated to 2024-05-09. Updating to 2024-05-09 (ncurses in progress).
OpenRISC 1K FP or1k 32 Big gnu None (gcc and glibc too old for openrisc) - Base complete [17]. Updated to 2024-05-09. Updating to 2024-05-09 (ncurses in progress).
PowerPC G2 FP ppc 32 Big gnu Complete. Updated to 2024-04-14. [1] Base complete. Rust raises illegal instruction from 1.46+ (provided 1.45).[6] Updated to 2024-05-09. Updating to 2024-05-09 (ncurses in progress). [13]
PowerPC G5 (POWER4) FP+Altivec ppc64 64 Big gnu Complete. Updated to 2024-04-14. [3] Base complete. [8] Updated to 2024-05-09. Updating to 2024-05-09 (ncurses in progress).
OpenPower (POWER8) FP+Altivec ppc64le 64 Little gnu Complete. Updated to 2024-04-14. [3] Base complete. [8] Updated to 2024-05-09. Updating to 2024-05-09 (rust in progress).
RISC-V GC FP riscv64 64 Little gnu None (binutils/gcc/glibc too old for RISC-V) - Base complete. [7] Updating to 2024-05-09. Updating to 2024-05-09 (glibmm in progress).
z/Architecture z900/z990 [9] FP s390x 64 Big gnu Complete. Updated to 2024-04-14. [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-05-09. Updating to 2024-05-09 (linuxdoc in progress).
SuperH FP sh4 32 Little gnu None (combination gcc/glibc does not work [duplicated functions like _itoa]) - Base complete. Updated to 2024-05-09. Updating to 2024-05-09 (ncurses in progress). [13]
SPARC (leon3-v8) FP sparc 32 Big gnu Base complete. [15] Updated to 2024-04-14 Base complete.[16] Updated to 2024-05-09. Building from scratch (0%). [13]
Ultrasparc (v9a) FP sparc64 64 Big gnu Base complete. Updated to 2024-04-14 Base complete. Updated to 2024-05-09. Building from scratch (0%).
x86 FP + MMX/SSE i586 32 Little gnu Official Slackware. Updated to 2024-04-14 Official Slackware. Patch from official Slackware. Updating to 2024-05-09 (cmake in progress). (Y2038)[14]
AMD64 FP + MMX/SSE x86_64 64 Little gnu Official Slackware. Updated to 2024-04-14 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.


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), Orange PI Zero3 (Allwinner H616), and Nezha (Allwinner D1) single boards. Building of rust, qt5, seamonkey, mozilla-firefox, and mozilla-thunderbird is done on Orange PI Zero3 for arm-based porting (arm, armv7hl, aarch6) and on AMD Ryzen 7 3700X with qemu-user for riscv64, since they requires at least 4GB of memory.
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.54 on Slackware64-15.0 - Maintained by Luca Bonissi

[ICO]NameLast modifiedSizeDescription

[TXT]GPG-KEY2022-08-05 10:34 3.2K 
[DIR]bootstrap/2022-10-18 15:15 -  
[DIR]iso/2023-01-22 09:53 -  
[DIR]15.0/2023-06-21 13:32 -  
[DIR]15.1-curr/2023-06-26 13:39 -  
[DIR]source-14.99/2023-07-31 02:38 -  
[DIR]commonpkgs-15.0/2024-02-17 13:34 -  
[DIR]commonpkgs-14.2/2024-02-17 14:17 -  
[DIR]14.2/2024-04-16 14:14 -  
[DIR]arch/2024-04-16 14:14 -  
[DIR]source-14.2/2024-04-18 10:21 -  
[DIR]source-current/2024-04-25 17:46 -  
[DIR]bonslack_x86-14.2/2024-04-29 12:51 -  
[DIR]bonslack_x86_64-14.2/2024-04-29 12:55 -  
[TXT]status.html2024-05-10 14:36 22K 
[DIR]bonslack_s390x-15.0/2024-05-10 16:20 -  
[DIR]source-15.0/2024-05-13 15:21 -  
[DIR]bonslack_armv7hl-14.99/2024-05-13 20:42 -  
[DIR]bonslack_aarch64-15.0/2024-05-13 20:54 -  
[DIR]bonslack_alpha-15.0/2024-05-13 20:59 -  
[DIR]bonslack_armv5te-15.0/2024-05-13 21:04 -  
[DIR]bonslack_armv7hl-15.0/2024-05-13 21:09 -  
[DIR]bonslack_hppa-15.0/2024-05-13 21:13 -  
[DIR]bonslack_mips-15.0/2024-05-13 21:18 -  
[DIR]bonslack_mips64el-15.0/2024-05-13 21:22 -  
[DIR]bonslack_mipsel-15.0/2024-05-13 21:26 -  
[DIR]bonslack_or1k-15.0/2024-05-13 21:30 -  
[DIR]bonslack_ppc-15.0/2024-05-13 21:34 -  
[DIR]bonslack_ppc64-15.0/2024-05-13 21:37 -  
[DIR]bonslack_ppc64le-15.0/2024-05-13 21:42 -  
[DIR]bonslack_riscv64-15.0/2024-05-13 21:47 -  
[DIR]bonslack_sh4-15.0/2024-05-13 21:55 -  
[DIR]bonslack_sparc-15.0/2024-05-13 21:58 -  
[DIR]bonslack_sparc64-15.0/2024-05-13 22:02 -  
[DIR]commonpkgs-current/2024-05-17 12:34 -  
[DIR]bonslack_aarch64-current/2024-05-17 12:50 -  
[DIR]bonslack_alpha-current/2024-05-17 13:21 -  
[DIR]bonslack_armv5te-current/2024-05-17 13:41 -  
[DIR]bonslack_armv7hl-current/2024-05-17 13:56 -  
[DIR]bonslack_hppa-current/2024-05-17 14:23 -  
[DIR]bonslack_loongarch64-current/2024-05-17 14:34 -  
[DIR]bonslack_mips-current/2024-05-17 14:51 -  
[DIR]bonslack_mips64el-current/2024-05-17 15:13 -  
[DIR]bonslack_mipsel-current/2024-05-17 15:32 -  
[DIR]bonslack_or1k-current/2024-05-17 15:52 -  
[DIR]bonslack_ppc-current/2024-05-17 16:10 -  
[DIR]bonslack_ppc64-current/2024-05-17 16:22 -  
[DIR]bonslack_ppc64le-current/2024-05-17 16:34 -  
[DIR]bonslack_riscv64-current/2024-05-17 16:53 -  
[DIR]bonslack_s390x-current/2024-05-17 17:09 -  
[DIR]bonslack_sh4-current/2024-05-17 17:25 -  
[DIR]bonslack_sparc-current/2024-05-17 17:30 -  
[DIR]bonslack_sparc64-current/2024-05-17 17:34 -  
[DIR]bonslack_x86-current/2024-05-17 17:46 -  
[DIR]bonslack_aarch64-14.2/2024-05-20 15:55 -  
[DIR]bonslack_alpha-14.2/2024-05-20 15:58 -  
[DIR]bonslack_armv5te-14.2/2024-05-20 16:02 -  
[DIR]bonslack_armv7hl-14.2/2024-05-20 16:06 -  
[DIR]bonslack_hppa-14.2/2024-05-20 16:10 -  
[DIR]bonslack_mips-14.2/2024-05-20 16:13 -  
[DIR]bonslack_mips64el-14.2/2024-05-20 16:17 -  
[DIR]bonslack_mipsel-14.2/2024-05-20 16:21 -  
[DIR]bonslack_ppc-14.2/2024-05-20 16:25 -  
[DIR]bonslack_ppc64-14.2/2024-05-20 16:28 -  
[DIR]bonslack_ppc64le-14.2/2024-05-20 16:32 -  
[DIR]bonslack_s390x-14.2/2024-05-20 16:36 -  
[DIR]bonslack_sparc-14.2/2024-05-20 16:40 -  
[DIR]bonslack_sparc64-14.2/2024-05-20 16:44 -