#! KRT's Blog
thoughts are things
#! KRT's Blog
Slackware-Libre BASH script

A script to liberate a stock Slackware-15.0 installation. Motivation:  Freenix never released an iso for 15.0.  That inspired me to write a script that could transform a stock Slackware installation into something in the spirit of Freenix. Note:  This is NOT endorsed by Slackware proper (but I do …

A script to liberate a stock Slackware-15.0 installation.

Motivation:  Freenix never released an iso for 15.0.  That inspired me to write a script that could transform a stock Slackware installation into something in the spirit of Freenix.

Note:  This is NOT endorsed by Slackware proper (but I do thank Pat for all his hard work).  This NOT endorsed by Freenix.  This is NOT endorsed by the FSF.  This is NOT endorsed by ANYONE, actually.  I just created this as an excersise to see if I could write a BASH script.

I call it Slackware-Libre.

To join in the fun, just:

git clone https://git.disroot.org/shelldweller/Slackware-Libre.git

cd Slackware-Libre

chmod a+x *.sh  # the scripts need to be set as executable

Then you can run any (or all) of the scripts (as root), depending on your needs.

The slackware-libre.sh script rus the other three for a full conversion.  Installs libre packages by default, run the scripts separately to build packages only.

The remove-blacklist-nonfree-packages.sh script removes and blacklists all non-free packages as per the freenix.net forum.

The linux-libre-kernel-build-install.sh script builds (and optionally installs) the latest linux-libre kernel packages using Pat's script and the linux-libre source code.

The linux-libre-firmware-build-install.sh script builds (and optionally installs) the latest linux-libre firmware packages using Pat's script and the linux-libre-firmware source code.

NOTE:  I do not guarantee anything.  If you don't like the script, don't run it!  If you like it but want to change it, suggest changes or fork it!  I don't really care all that much.  I just wanted to see if I could write a BASH script that did a specific thing.  I have not tested for every edge case and I'm sure you can break it if you try.

from the README.md:

A project in the works to remove non-free packages from an installed Slackware-15.0 system. Both 64-bit and 32-bit versions can be liberated.

There are 4 scripts in total:

slackware-libre.sh

This is a meta-script that just runs the other three with necessary arguments. Needs to be run as root.

remove-blacklist-nonfree-packages.sh

This removes and blacklists all non-free packages as per freenix.net. This script can probably be run on any Slackware-based derivative, as long as slackpkg is present.

arguments:

  • BLACKLISTFILE = the location of your slackpkg blacklist file (default = /etc/slackpkg/blacklist)

linux-libre-kernel-build-instsall.sh

This builds and installs the Linux-Libre kernel, headers, modules. Modifies stock kernel-configs and SlackBuild files.

arguments:

  • STOCKVERSION = version of stock kernel to use kernel-configs from (default grabs latest from repo)
  • MAJORVERSION = branch of libre kernel to build from (defaults to stock kernel branch, i.e. 5.15)
  • LIBREVERSION = version of Linux-libre acutally being builg (defaults to latest version in MAJORVERSION branch)
  • RELEASE = release version of Slackware (i.e. 15.0). Fetches from running system by default.
  • REPOURL = URL of your preferred repo. (default = https://mirrors.slackware.com)
  • BUILDDIR = directory to build kernels in. THIS GETS DELETED, SO DON'T PASS AN IMPORTANT DIRECTORY YOU NEED TO KEEP! (default =/tmp/slackware-libre)
  • BLACKLISTFILE = the location of your slackpkg blacklist file (default = /etc/slackpkg/blacklist)
  • INSTALL_KERNEL = install packages after building them (default = no)

linux-libre-firmware-build-install.sh

This builds and installs the Linux-libre firmware. Modifies stock SlackBuild file.

arguments:

  • RELEASE = release version of Slackware (i.e. 15.0). Fetches from running system by default.
  • REPOURL = URL of your preferred repo. (default = https://mirrors.slackware.com)
  • BUILDDIR = directory to build firmware in. THIS GETS DELETED, SO DON'T PASS AN IMPORTANT DIRECTORY YOU NEED TO KEEP! (default =/tmp/slackware-libre)
  • BLACKLISTFILE = the location of your slackpkg blacklist file (default = /etc/slackpkg/blacklist)
  • INSTALL_FIRMWARE = install packages after building them (default = no)

NOTES:

  • The script DOES NOT clean up after itself.
  • You are invited to delete any leftover files and directories in /tmp/ .
  • However, the modified SlackBuild scripts and kernel packages all reside there.
  • You may want to save or share these before clearing out /tmp/ .
  • You will need about 3GB-5GB of free space for the full build.

For those unable or unwilling to build their own packages, some sample kernel and firmware packages can be found here.  I may or may not update these shortly after Pat updates the stock Slackware kernels.  There is an atom file (64-bit and 32-bit) you can put into a feed for update notifications if you're into that sort of thing.   YMMV.


Hardware choices in 2023

What am I computing with these days? ARM64 never lived up to the hype, Intel Atom is showing its age.  But, finally, System76 is shipping free/open firmware.  And now I'm mining DERO. Background: Libreboot, ThinkPads, and all that. Back at the end of 2017, I was fairly satisfied with …

What am I computing with these days? ARM64 never lived up to the hype, Intel Atom is showing its age.  But, finally, System76 is shipping free/open firmware.  And now I'm mining DERO. Background: Libreboot, ThinkPads, and all that. Back at the end of 2017, I was fairly satisfied with my ThinkPad x200 running Freeslack 14.2 and Libreboot.  It served my needs, was \" Read More


My UNIX usage in 2023

The state of Freenix / Freeslack, Slackware, and the *BSDs (and other contenders) in 2023. I was a Linux distro hopper from 2009 to 2013, when I started mining Bitcoin.  At that point, I was using Ubuntu and Arch Linux, mostly.  However, I had trouble getting my mining rig to start …

The state of Freenix / Freeslack, Slackware, and the *BSDs (and other contenders) in 2023. I was a Linux distro hopper from 2009 to 2013, when I started mining Bitcoin.  At that point, I was using Ubuntu and Arch Linux, mostly.  However, I had trouble getting my mining rig to start automatically, and I eventually narrowed down the problem to a lag in systemd...

Read More
A Case Study in How to Not Do Online Tutoring

The Varsity Tutors vs. Wyzant online tutoring showdown!      This year, I have been tutoring online (mathematics mostly) using two completely different platforms.  Allow me to break down the pros and cons of each platform, both as a tutor and as a learner. VarsityTutors.com:       VarsityTutors.com is an \"AI-driven" platform …

The Varsity Tutors vs. Wyzant online tutoring showdown!      This year, I have been tutoring online (mathematics mostly) using two completely different platforms.  Allow me to break down the pros and cons of each platform, both as a tutor and as a learner. VarsityTutors.com:       VarsityTutors.com is an \"AI-driven" platform, meaning that it is all just automated scripts and emails running on a server somewhere, collecting revenue for the passive owners who have...

Read More
2022 - A Year In Review

2022 was probably the worst year I will ever experience.  Here's why.      In the early part of 2020 my wife got the idea to buy an undeveloped piece of land to start building our dream home on. She searched around online, and found the two adjacent one-acre plots for sale …

2022 was probably the worst year I will ever experience.  Here's why.      In the early part of 2020 my wife got the idea to buy an undeveloped piece of land to start building our dream home on. She searched around online, and found the two adjacent one-acre plots for sale in the Sangre de Cristo mountains (near Mineral Hill, NM) that we eventually ended up buying with inheritance money around June of that year. We...

Read More
About

About the author Kaylee Robert Tejeda, M.Sc. Curriculum Vitae I am a mathematician. I am a Slackware enthusiast. I am an aspiring Data Scientist. email: krtsblog [47] beauxbead [d07] com   {[47]=@, [d07]=.} XMR: 45LP467WvF65JhkKUeDiH5FQiuMb3tT4HSboWsyLQE2nbxoKsA6Y7bibJmxmogPhordDzEaohEMoXLivsiYnXZgxUSTZvj5 ARR: zs18g8n7085rw4sp9vdqmnpfu7ry3g2j9k8qwznqzmnfx392s8fk36rkt33n4nrwld7xt3z26yvkxg DERO: dero1qyxslyxp0qh9kkgunwtpqjvj4k7mpdxv6sq9wpyesan0g5n058kjvqg9g4ukh FIRO: aLBh6PZU3Q7PUh4BadWURd2DcYeSVFt8rB

About the author Kaylee Robert Tejeda, M.Sc. Curriculum Vitae I am a mathematician. I am a Slackware enthusiast. I am an aspiring Data Scientist. email: krtsblog [47] beauxbead [d07] com   {[47]=@, [d07]=.} XMR: 45LP467WvF65JhkKUeDiH5FQiuMb3tT4HSboWsyLQE2nbxoKsA6Y7bibJmxmogPhordDzEaohEMoXLivsiYnXZgxUSTZvj5 ARR: zs18g8n7085rw4sp9vdqmnpfu7ry3g2j9k8qwznqzmnfx392s8fk36rkt33n4nrwld7xt3z26yvkxg DERO: dero1qyxslyxp0qh9kkgunwtpqjvj4k7mpdxv6sq9wpyesan0g5n058kjvqg9g4ukh FIRO: aLBh6PZU3Q7PUh4BadWURd2DcYeSVFt8rB...

Read More
Hello, Again...

Hello, part 2... \r-[------->+<]>-.-[->+++++<]>++.+++++++..+++.[--->+<]>-----.---[->+++<]>.-[--->+<]>---.+++.------.--------.

Hello, part 2... \r-[------->+<]>-.-[->+++++<]>++.+++++++..+++.[--->+<]>-----.---[->+++<]>.-[--->+<]>---.+++.------.--------....

Read More
Hello World

Hello World as interpreted by HolyC: //Press F5 in the editor to compile and run. --------Hello.HC.Z--------- "Hello World\"; --------Hello.HC.Z--------- U0 Main() {   \"Hello World\"; } Main; --------Hello.HC.Z--------- U0 MyPrint(U8 *st) {   \"%s",st; } MyPrint("Hello World\"); --------Hello.HC.Z--------- U0 MyPrint2(U8 *st1,U8 *st2) //Any …

Hello World as interpreted by HolyC: //Press F5 in the editor to compile and run. --------Hello.HC.Z--------- "Hello World\"; --------Hello.HC.Z--------- U0 Main() {   \"Hello World\"; } Main; --------Hello.HC.Z--------- U0 MyPrint(U8 *st) {   \"%s",st; } MyPrint("Hello World\"); --------Hello.HC.Z--------- U0 MyPrint2(U8 *st1,U8 *st2) //Any number of args. {   \"%s %s\",st1,st2; //Any number of args. } MyPrint2("Hello","World"); Read More


Receive Updates

ATOM

Contacts