LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware porting to arm[v5/v7/v8], ppc[32be/64be/64le], mips[32eb/32el/64el], riscv64, s390x (https://www.linuxquestions.org/questions/slackware-14/slackware-porting-to-arm%5Bv5-v7-v8%5D-ppc%5B32be-64be-64le%5D-mips%5B32eb-32el-64el%5D-riscv64-s390x-4175701949/)

lucabon 10-13-2021 12:19 PM

Slackware porting to arm[v5/v7/v8], ppc[32be/64be/64le], mips[32eb/32el/64el], riscv64, s390x
 
Hello all!

At the following link you can find the Slackware porting to ARM, PowerPC, MIPS, RISC-V, and S/390x:

https://bonslack.bonnix.org/

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

shipujin 07-04-2022 01:28 AM

Hi,
I didn't find it under "https://bonslack.bonnix.org/bonslack_mips64el-current/" mips64el iso

Dr.counelis 07-04-2022 03:45 AM

this is great

lucabon 07-04-2022 09:47 PM

Quote:

Originally Posted by shipujin (Post 6365428)
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

Luca

shipujin 07-06-2022 03:07 AM

Quote:

Originally Posted by lucabon (Post 6365658)
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

Ok, thank you
Thank you for your reply

NetrixTardis 07-07-2022 10:16 PM

Quote:

Originally Posted by lucabon (Post 6365658)
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?

username_11011 08-23-2022 07:14 AM

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. :D 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?

username_11011 08-23-2022 06:21 PM

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). ;)

dchmelik 08-28-2022 03:21 AM

Excellent! Only classic PowerPC or might run related/extended Power ISA/OpenPOWER?

lucabon 09-01-2022 07:52 AM

Quote:

Originally Posted by username_11011 (Post 6375605)
(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 (Post 6375605)
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 (Post 6375605)
Should I do that here? Or, should I start a new post?

If arm-related, maybe it will be better to start a new post on dedicated ARM Slackware porting forum: https://www.linuxquestions.org/quest...kware-arm-108/

Quote:

Originally Posted by username_11011 (Post 6375605)
Or-- do you (lucabon) have no interest in such trivial things?

Also "trivial" things can improve BonSlack, so they are always welcome!

chris.willing 09-01-2022 08:31 AM

I just ordered a VisionFive 2 - open source quad-core RISC-V dev board. Now waiting excitedly for it to arrive - sometime in November, so they say ...

chris

lucabon 09-01-2022 08:51 AM

Quote:

Originally Posted by username_11011 (Post 6375724)
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 (Post 6375724)
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 (Post 6375724)
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. :)

Many thanks!
Luca

lucabon 09-01-2022 08:52 AM

Quote:

Originally Posted by chris.willing (Post 6377480)
I just ordered a VisionFive 2 - open source quad-core RISC-V dev board. Now waiting excitedly for it to arrive - sometime in November, so they say ...

Good! I'll try to compile kernel/u-boot for this board. Stay tuned!

username_11011 09-02-2022 02:51 PM

Quote:

Sure, forgot to remove them when removed from official Slackware (at the time, it was still "-current").
Quote:

Sorry, I installed x264 to test performance of ARMv7, but I forgot to remove it...
lol-- I *knew* it (both of those). xD
Most welcome. Happy to contribute. ;)

ezzep1 01-13-2023 05:31 PM

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.


All times are GMT -5. The time now is 11:28 PM.