Slackware porting to arm[v5/v7/v8], ppc[32be/64be/64le], mips[32eb/32el/64el], riscv64, s390x
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I know that ARMv7 and AArch64 have already an official porting by MoZes, but I started the porting in 2016 (when the official porting was not yet started) and anyway it is still useful for other platform porting to understand and solve the issues.
All listed platforms were ported to Slackware 14.2 (with riscv64 exception, since the provided build tools [binutils/gcc/glibc] do not have support for RISC-V, too new architecture...) and Slackware-current. S/390x (64bit) was just started, so not so many packages actually available.
For ARMv5 (without FPU), the Slackware 14.2 was rebuilt from scratch to remove any reference to old deprecated instructions (swp, etc.). Since I have many system running on ARMv5 CPU but the official -current porting switched to ARMv7 (HardFloat), I make the porting of -current also for ARMv5.
The build system use the official slackware64 source tree, with [few] patches architecture-specific. There are 2 mains updates to the build scripts:
1. For packages that generate libraries, the addition of LIBDIRSUFFIX=${LIBDIRSUFFIX:-""} to the "else" or "*" branch.
2. For some packages, the system config.sub/config.guess are copied before launching "configure" script.
The updates are fully-automated, with both patch files and a perl script that updates the build scripts were needed (you can find all the scripts under "scripts" directory of the source code). Any other porting (such as SPARC, SH4, OpenRisc, etc.) are possible and should be very easy with the automated-update perl script.
I excluded S/390 (32 bits) because it has no support for rust, and so some -current packages (such as librsvg) could not have been built.
Hoping it could be useful for someone!
Luca
Last edited by lucabon; 10-21-2021 at 04:32 AM.
Reason: Remove "slackware" from the link for trademark reason
Hi,
I didn't find it under "https://bonslack.bonnix.org/bonslack_mips64el-current/" mips64el iso
Sorry, I have really no time to prepare ISO, especially for "current" that is continuously updated...
You have 2 options:
1. Use userspace qemu to install/populate the root file system (you can find qemu-mips64el-static here: https://bonslack.bonnix.org/bootstrap/qemu/ ), then copy it to target
2. Download another ISO (like https://cdimage.debian.org/debian-cd...s64el/iso-dvd/ ) and install slackware from there
Sorry, I have really no time to prepare ISO, especially for "current" that is continuously updated...
You have 2 options:
1. Use userspace qemu to install/populate the root file system (you can find qemu-mips64el-static here: https://bonslack.bonnix.org/bootstrap/qemu/ ), then copy it to target
2. Download another ISO (like https://cdimage.debian.org/debian-cd...s64el/iso-dvd/ ) and install slackware from there
Sorry, I have really no time to prepare ISO, especially for "current" that is continuously updated...
You have 2 options:
1. Use userspace qemu to install/populate the root file system (you can find qemu-mips64el-static here: https://bonslack.bonnix.org/bootstrap/qemu/ ), then copy it to target
2. Download another ISO (like https://cdimage.debian.org/debian-cd...s64el/iso-dvd/ ) and install slackware from there
Luca
This has been my hurdle to try to use your PPC64 port. You are missing the necessary files to make an ISO of the tree. While I appreciate your work to port to these arch. How are we to use these on baremetal?
I am greatly appreciative of the ARM port of Bonslack. I (personally) have no use for other ports at the present time. But, I can see the usefulness of them. This is a really interesting technical project. The ARM ports of Bonslack allow me to continue running Slackware on several different ARM devices (mainly Raspberry Pi 2B, but potentially an old Chromebook and a Surface RT (lol)) that otherwise would not be able to run Volkerding's next GNU/Linux contribution (since Dr. Mozes has decided to maintain SlackwareArm as only a 64-bit suite instead of building it only as a 32-bit port). I hear ol' J.R. "Bob" Dobbs gives the Bonslack system high praise. Obviously, I am using a Raspbian kernel in order to do this. But (otherwise) the Bonslack port is unchanged.
I have discovered some minor problems with Bonslack's ARM ports (mainly things like packages linked against old library versions, extra packages (that were removed from -current before Slackware 15.0's release) resulting in difficulties compiling other packages I enjoy building and using). I would like to discuss my experience with the system, the problems I encountered, and how I solved those problems in my cases (and why I think some minor changes to the ARM port's maintenance would enhance its appeal to potential users). Should I do that here? Or, should I start a new post (probably right here on Linux Questions)? Or-- do you (lucabon) have no interest in such trivial things?
Well-- it's just a couple of things. All of the Bonslack-15.0 ARM ports still contain Raptor and Rasqal packages (those are the RDF packages I *know* about; they were removed from -current December 7, 2020). I'm not sure if there are other included packages that have been removed from -current. But, pretty sure there are. I only noticed because Slackware-15.0's Abiword SlackBuild failed to build on top of ARMv5, ARMv7, and AARCH64 (because it was attempting to build against RDF packages and those packages are built against an older glibc (I think)). Once I removed Raptor and Rasqal, Abiword built fine. Also, ARMv7's mplayer is built against x264-1.52. However, ARMv5 and AARCH64's mplayer are not (and work fine). ARMv7's mplayer prints an error and exits. I happen to have x264-1.48 built for SlackwareArm-14.2. So, I just installed that on my ARMv7 systems and added symlinks for version 1.52. But really, mplayer should be compiled without x264 installed for ARMv7 (so that it uses ffmpeg's new builtin x264 libraries, instead).
(since Dr. Mozes has decided to maintain SlackwareArm as only a 64-bit suite instead of building it only as a 32-bit port).
32-bit port was NOT removed from SlackwareArm, but was switched to ARMv7 with FPU (so can't be used for ARMv5 and ARMv6). That's BonSlack porting for armv5te :-)
Quote:
Originally Posted by username_11011
I would like to discuss my experience with the system, the problems I encountered, and how I solved those problems in my cases (and why I think some minor changes to the ARM port's maintenance would enhance its appeal to potential users).
Great! Any suggestion will be appreciated!
Quote:
Originally Posted by username_11011
Should I do that here? Or, should I start a new post?
Well-- it's just a couple of things. All of the Bonslack-15.0 ARM ports still contain Raptor and Rasqal packages (those are the RDF packages I *know* about; they were removed from -current December 7, 2020). I'm not sure if there are other included packages that have been removed from -current. But, pretty sure there are.
Sure, forgot to remove them when removed from official Slackware (at the time, it was still "-current"). Removed all "old" packages, both from -15.0 and -current.
Quote:
Originally Posted by username_11011
Also, ARMv7's mplayer is built against x264-1.52.
Sorry, I installed x264 to test performance of ARMv7, but I forgot to remove it... MPlayer (14.2, 15.0, current) now compiled without x264.
Quote:
Originally Posted by username_11011
But really, mplayer should be compiled without x264 installed for ARMv7 (so that it uses ffmpeg's new builtin x264 libraries, instead).
x264 is encoding-only library (mencoder), and unfortunately it is not included in ffmpeg :-(
But ffmpeg has H264 builtin decoding libraries used my mplayer, that is the most important part.
OK, so if I was using say Splack (Sparc Slackware port) 12.1, would I just download the packages for 14.2 you have provided and use upgradepkg to install? I just don't want to waste my time doing things the wrong way.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.