LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 10-13-2021, 12:19 PM   #1
lucabon
Member
 
Registered: Oct 2021
Location: Italy
Distribution: Slackware
Posts: 104

Rep: Reputation: 74
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

Last edited by lucabon; 10-21-2021 at 04:32 AM. Reason: Remove "slackware" from the link for trademark reason
 
Old 07-04-2022, 01:28 AM   #2
shipujin
Member
 
Registered: May 2022
Location: China
Distribution: slackwareloong
Posts: 110
Blog Entries: 1

Rep: Reputation: 29
Hi,
I didn't find it under "https://bonslack.bonnix.org/bonslack_mips64el-current/" mips64el iso
 
Old 07-04-2022, 03:45 AM   #3
Dr.counelis
LQ Newbie
 
Registered: Dec 2021
Posts: 1

Rep: Reputation: 0
Smile

this is great
 
Old 07-04-2022, 09:47 PM   #4
lucabon
Member
 
Registered: Oct 2021
Location: Italy
Distribution: Slackware
Posts: 104

Original Poster
Rep: Reputation: 74
Quote:
Originally Posted by shipujin View Post
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
 
Old 07-06-2022, 03:07 AM   #5
shipujin
Member
 
Registered: May 2022
Location: China
Distribution: slackwareloong
Posts: 110
Blog Entries: 1

Rep: Reputation: 29
Quote:
Originally Posted by lucabon View Post
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
 
Old 07-07-2022, 10:16 PM   #6
NetrixTardis
LQ Newbie
 
Registered: Jul 2002
Location: San Antonio, Texas
Distribution: Slackware
Posts: 27

Rep: Reputation: 18
Quote:
Originally Posted by lucabon View Post
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?
 
1 members found this post helpful.
Old 08-23-2022, 07:14 AM   #7
username_11011
Member
 
Registered: Nov 2017
Location: Odessa, TX
Distribution: slackwarearm
Posts: 30

Rep: Reputation: Disabled
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?
 
1 members found this post helpful.
Old 08-23-2022, 06:21 PM   #8
username_11011
Member
 
Registered: Nov 2017
Location: Odessa, TX
Distribution: slackwarearm
Posts: 30

Rep: Reputation: Disabled
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).
 
1 members found this post helpful.
Old 08-28-2022, 03:21 AM   #9
dchmelik
Senior Member
 
Registered: Nov 2008
Location: USA
Distribution: Slackware, FreeBSD, Illumos, NetBSD, DragonflyBSD, Plan9, Inferno, OpenBSD, FreeDOS, HURD
Posts: 1,074

Rep: Reputation: 149Reputation: 149
Thumbs up

Excellent! Only classic PowerPC or might run related/extended Power ISA/OpenPOWER?
 
Old 09-01-2022, 07:52 AM   #10
lucabon
Member
 
Registered: Oct 2021
Location: Italy
Distribution: Slackware
Posts: 104

Original Poster
Rep: Reputation: 74
Quote:
Originally Posted by username_11011 View Post
(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 View Post
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 View Post
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 View Post
Or-- do you (lucabon) have no interest in such trivial things?
Also "trivial" things can improve BonSlack, so they are always welcome!
 
Old 09-01-2022, 08:31 AM   #11
chris.willing
Member
 
Registered: Jun 2014
Location: Brisbane, Australia
Distribution: Slackware,LFS
Posts: 917

Rep: Reputation: 619Reputation: 619Reputation: 619Reputation: 619Reputation: 619Reputation: 619
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
 
1 members found this post helpful.
Old 09-01-2022, 08:51 AM   #12
lucabon
Member
 
Registered: Oct 2021
Location: Italy
Distribution: Slackware
Posts: 104

Original Poster
Rep: Reputation: 74
Quote:
Originally Posted by username_11011 View 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 View Post
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 View Post
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
 
Old 09-01-2022, 08:52 AM   #13
lucabon
Member
 
Registered: Oct 2021
Location: Italy
Distribution: Slackware
Posts: 104

Original Poster
Rep: Reputation: 74
Quote:
Originally Posted by chris.willing View Post
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!
 
1 members found this post helpful.
Old 09-02-2022, 02:51 PM   #14
username_11011
Member
 
Registered: Nov 2017
Location: Odessa, TX
Distribution: slackwarearm
Posts: 30

Rep: Reputation: Disabled
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.
 
Old 01-13-2023, 05:31 PM   #15
ezzep1
LQ Newbie
 
Registered: Jan 2017
Distribution: Slackware
Posts: 18

Rep: Reputation: Disabled
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.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Slackware RISC-V (riscv64) sndwvs Slackware - ARM 20 12-16-2021 06:18 AM
Riscv64 Slackware mcatudal Slackware 5 03-26-2021 06:51 PM
RISC V Based project with Xilinx Vivado on Ubuntu Linux(riscv64-unknown-elf-gcc: error: unrecognized command line option '-V') sagarkasrung Linux - Newbie 11 06-28-2019 10:41 AM
LXer: FemtoLinux allows to run applications in kernel mode on ARM, MIPS and PPC LXer Syndicated Linux News 1 07-09-2010 03:10 AM
LXer: CodeSourcery Joins MIPS(R) Alliance Program and Delivers GNU/Linux Prelinker for MIPS-Based(TM) Processors LXer Syndicated Linux News 0 10-31-2006 07:54 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:29 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration