Main menu:

Sponsoring

Please consider a small donation:

 

 

Or you can donate bitcoin:

 

Thanks to TekLinks in Birmingham, AL, for providing colocation and bandwidth.

Page Rank

Fame

FOSS Force Best Blog--2013 Award

Recent posts

Recent comments

About this blog

I am Eric Hameleers, and this is where I think out loud.
More about me.

Search

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 322 other subscribers

My Favourites

Slackware

Calendar

September 2017
M T W T F S S
« Aug    
 123
45678910
11121314151617
18192021222324
252627282930  

RSS Alien's Slackware packages

RSS Alien's unofficial KDE Slackware packages

RSS Alien's multilib packages

RSS Slackware64-current

Meta

Short maintenance downtime window coming up

My “Alien Pastures” blog will be down for two or three hours on Thursday, 27 July 2017, starting around 1700 UTC.

The blog runs on a server in the Teklinks datacenter, and that will be replaced by new hardware. Since this involves driving to the datacenter and doing physical work (thanks Robby Workman!) the slightly longer-than-usual downtime is needed.

Additionally, the following services that are running on the same hardware, will also be down:

The http, ftp, and git services of SlackBuilds.org will not be affected, as those are hosted on a different machine.

Cheers, Eric

OpenJDK 8 security round-up for July ’17

icedteaSooner than I anticipated, there is an update for OpenJDK 8. Andrew Hughes (aka GNU/Andrew) announced the release of IcedTea 3.5.0. The new icedtea framework compiles OpenJDK 8 Update 141 Build 15 (8u141_b15). This release includes the official July 2017 security fixes.

No external dependency is required for OpenJDK 8 . But if you use Java in your web browser (a dying art) you’ll need the icedtea-web browser plugin. Coincidentally, a new release for that became available a few days ago, therefore I also built packages for the plugin.

The packages that I just uploaded are for Slackware 13.37 and newer. Here is where you can download them:

Note about usage:

My Java 7 and Java 8 packages (e.g. openjdk7 and openjdk… or openjre7 and openjre) can not co-exist on your computer because they use the same installation directory. You must install either Java 7 or Java 8.

Remember that I release packages for the JRE (runtime environment) and the JDK (development kit) simultaneously, but you only need to install one of the two. The JRE is sufficient if you only want to run Java programs (including Java web plugins). Only in case where you’d want to develop Java programs and need a Java compiler, you are in need of the JDK package.

Plugin support in Web Browsers:

If you want to use Java in a web browser then you’ll have to install my icedtea-web package too. Oracle’s JDK contains a browser plugin, but that one is closed-source. Therefore Icedtea offers an open source variant which does a decent job.

Note that icedtea-web is a NPAPI plugin – this prevents the use of Java in Chrome & Chromium because those browsers only support PPAPI plugins. Formally, Mozilla have also ceased to support the NPAPI plugins. For instance Firefox 52 and newer does not support NPAPI plugins, although Firefox ESR 52 still supports them. If you can’t do without, then you can use Java plugins with the Pale Moon browser, which is based on an older Firefox codebase and maintained independently. Get my package here (it has ffmpeg as an external dependency): http://www.slackware.com/~alien/slackbuilds/palemoon/

Have fun! Eric

How to create a Slackware Live USB stick if you are not using Slackware

This article describes how you transfer the content of a “Slackware Live EditionISO file onto a USB stick (aka pendrive) thereby making that USB drive bootable, and persistent. The guide is meant for people who are not already running Slackware but still want to try Slackware on a Live USB medium. Note that the parent article “Slackware Live Edition” describes in detail how Slackware users can create such a Live USB drive.
Basically, this divides the article’s audience into:

  1. Windows users (Windows 7 and higher) with its Boot Configuration Data (BCD) boot record, and
  2. Linux/BSD users who use GRUB as their boot manager.

I don’t think that LILO is used anywhere else than in Slackware. LILO does not support ISO images as boot selection, but it is still possible to make LILO boot Slackware Live. If you are not using Slackware but your OS is actually using LILO, let me know in the comments section and I will update this article with guidelines.

Why another guide if there’s a lot of documentation already?
It’s easy to use ‘dd’ or an equivalent Windows tool to copy the ISO file onto a USB stick, but then you end up with a read-only stick. The ISO9660 filesystem which is used for generating the ISO file, is read-only by nature and the ‘dd’ command copies everything, re-creating a read-only filesystem on the target.
People who want a Live USB stick with persistence, need to run the accompanying “iso2usb.sh” script which does some smart thngs to the USB stick to make it writable for the Live OS. However, using that script outside of Slackware seems to be an issue for some people.
Therefore this guide will show you how to:

  1. boot your computer to Slackware Live directly from a downloaded ISO.
  2. Subsequently write the ISO’s contents to your USB stick from within Slackware Live Edition. How? Because the “iso2usb.sh” script is contained inside that ISO and will be available to you in the Live OS.

Step 1: adding Slackware Live Edition to your computer’s boot menu

Windows 7 and newer:

Download and install  EasyBCD from Neosmart Technologies. This software is free for non-commercial use. EasyBCD will allow you to add a Linux OS partition to the Windows bootmenu (that is what I use it for on computers that need to keep the Windows bootloader instead of switching to LILO or GRUB). It is much more versatile than that: for our current purpose, it is also able to make the computer boot from an ISO image stored on the local harddisk.

Start EasyBCD (it will ask for permission to run as an administrator) and add a new boot menu entry for the Slackware Live ISO:

  1. Click the “Add New Entry” button.
  2. In the “Portable/External Media” area click the “ISO” tab.
  3. Write the name you want to see in the boot menu, in the “Name” text entry field. For instance “Slackware Live ISO”.
  4. Leave the “Mode” to the default ‘Run from Disk‘ unless you want to wait a long time for the ISO to load into the computer’s RAM before booting (in which case you can select ‘Load from Memory‘).
  5. In the “Path” entry field you should select the full path to the ISO file of the Slackware Live Edition which you downloaded to your local hard drive.
  6. Click the “Add Entry” button.

The “View Settings” will now show your new boot entry. You will notice that a new directory was created in the root of the Windows boot drvive (usually that is the C drive), called ‘NST’, which contains a single-purpose master boot record to boot the ISO image:

After rebooting your Windows computer you will see the new option “Slackware Live ISO” in the Windows Boot Manager screen. Select that option and watch your computer boot into Slackware Live. There are some remaining items to take care of before you can login:

  1. Don’t let the OS boot into the default settings. You have 30 seconds to do the following: in the syslinux or grub boot menu, you need to edit the boot commandline (in syslinux you need to press “TAB” and in grub you need to press “e” to edit the commandline).
  2. To the existing boot command parameters you have to add one more: “livemedia=/dev/sdX1:/path/to/slackware64-live-current.iso” or else liveslak will not be able to find its own media…
    You need to change “/path/to/slackware64-live-current.iso” to the actual full path and filename of the ISO you downloaded. Use Linux forward slashes “/” to separate the directories even though the filesystem is probably NTFS where you would want to use Windows backslashes “\” instead.
    The “/dev/sdX1” is your harddisk’s root partition.

    • Instead of the devicename of the partition (/dev/sdX1), you can also write the UUID or the Label of the partition’s filesystem.
    • If the partition containing the ISO file is not the first partition on the disk, you need to adjust the device numbering in the above example (the orange “1” occurrences).
    • If you know the filesystem path to the ISO but you do not know how your Windows partition translates to a Linux devicename, you can boot the ISO without the “livemedia” boot parameter but instead use the extra parameter “debug=4“. Then let the ISO boot – it will deliver you into a “debug shell” where you can use a command like “fdisk -l” or “gdisk -l /dev/sda” to inspect the partition layout of your harddisk(s). When you are ready, press the computer’s “RESET” button to reboot and try again.
    • In liveslak 1.1.9 and newer, you will not have to worry about the ‘/dev/sdXX’ partition name, because the syntax “livemedia=scandev:${isofile}” has been implemented to let liveslak search for the partition itself.

GRUB version 2 and higher

I do not know about Grub 1.x (Grub Legacy)… probably no one uses this version anymore, but at least GRUB2 is able to loop-mount an ISO file and then access the kernel plus initrd inside the ISO image – and boot from these.

Pre-requisite is that you downloaded the Slackware Live ISO to your local harddisk – let’s assume that it is located in /home/alien/slackware64-live-current.iso .

  1. Open the grub local customization file in an ASCII editor (as root!): “/etc/grub.d/40_custom”. We will add our custom entry here, and afterwards we run “grub-update” to update the GRUB2 bootmenu.
  2. To the bottom of that file, add these lines (mind the backslashes – they are added for better readability):
    menuentry “Slackware Live ISO” {
    set isofile=”/home/alien/slackware64-live-current.iso”
    loopback loop (hd0,1)${isofile}
    linux (loop)/boot/generic livemedia=/dev/sdX1:${isofile} \
        load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 \
        kbd=us tz=localtime locale=us_EN.utf8
    initrd (loop)/boot/initrd.img
    }

    …where “/dev/sdX1” is your harddisk’s root partition.
    Unfortunately you can not use “(hd0,1)” instead of “/dev/sdX1” because this string of text is used by liveslak, not by grub, and liveslak does not understand the grub devicenames. In liveslak 1.1.9 and newer, you will not have to worry about the ‘/dev/sdXX’ partition name, because the syntax “livemedia=scandev:${isofile}” has been implemented to let liveslak search for the partition itself.

  3. Instead of the devicename of the partition (/dev/sdX1), you can write the UUID or the Label of the partition’s filesystem.
    If the partition containing the ISO file is not the first partition on the disk, you need to adjust the device numbering in the above example (the orange “1” occurrences).
    If you know the filesystem path to the ISO but you do not know how your Windows partition translates to a Linux devicename, you can boot the ISO without the “livemedia” boot parameter but instead use the extra parameter “debug=4”. Then let the ISO boot – it will deliver you into a “debug shell” where you can use a command like “fdisk -l” or “gdisk -l /dev/sda” to inspect the partition layout of your harddisk(s). When you are ready press the computer’s “RESET” button to reboot and try again.
    NOTE:
    In the “menuentry” example above I have used backslashes ( \ ) to split a long line (the one starting with “linux”) into 3 lines. This was done for readability! When you copy the above example into your “/etc/grub.d/40_custom” file, you must remove the two backslashes ( \ ) and join the three broken-up lines back into one single line that starts with “linux” and ends with “utf8“.
  4.  Run “update-grub” to re-generate the Grub master configuration.
    If you get a “update-grub: command not found” error, that is easily fixed. In some distro’s the “update-grub” script was added, and some others like Slackware do not have it. The content of that “update-grub” script is:

    #!/bin/sh
    set -e
    exec grub-mkconfig -o /boot/grub/grub.cfg "$@"

    You can easily create a new file “/sbin/update-grub” as root, copy the above lines into it, and after saving this file you run “chmod +x /sbin/update-grub” to make the script executable.
    Note that there may be distributions that rename “grub-mkconfig” to “grub2-mkconfig”. In that case, adjust the contents of your new “update-grub” script accordingly.

After rebooting your Linux computer you will see “Slackware Live ISO” as a new selectable option in your GRUB boot menu. Select that, and watch your computer boot into Slackware Live Edition.

Step 2: transferring the content of the ISO to your USB stick

This is the easy part, as it has been documented extensively in earlier blog articles. Also see the official documentation on Slack Docs for this transferal process. I will repeat it here for completeness’ sake:

After completing Step 1 from this guide, you are now running Slackware Live Edition on your computer, booted straight from the ISO file which is located somewhere on the computer’s harddisk.

Let’s login and mount that harddisk partition’s filesystem into the Live OS:

  1. Login to the graphical session manager which you see on screen. Use the account “live” with the password “live”.
  2. You will end up in a graphical desktop session (KDE, XFCE, MATE, PLASMA5 depending on the ISO variant you downloaded. Start a terminal emulator like “konsole” in KDE  or a more basic choice like “xterm”. Any terminal will do.
  3. In the terminal, switch user to become root. The password you need to type for the ‘su’ (and also for ‘sudo’) command is again “live”:
    $ su -
  4. Now that you are root, mount the harddisk partition to the Live OS directory “/mnt/hd” so you can access the ISO file there later:
    # mount /dev/sdX1 /mnt/hd

    Like with Step 1, you must substitute the example “/dev/sdX1” with the actual partition name on the harddisk, to where you downloaded the ISO. Use the command ‘fdisk -l’ to see what partitions are available if you are unsure about which one you need.

  5. Plug in your USB stick. Make sure it does not get mounted. If it gets mounted automatically, you need to un-mount it again, manually.
  6. A script is available which allows you to transfer the ISO content to a USB stick, making some modifications depending on the script’s parameters. The USB stick will be erased and re-formatted when running this script! Before inflicting any irreversible damage, the script will show you a prompt at which point you can evaluate whether it is safe to continue.

This script, called ‘iso2usb.sh‘, accepts the following parameters:

-c|--crypt size|%        Add a LUKS encrypted /home ; the parameter
                         is the requested size of the container in
                         kB, MB, GB,or as percentage of free space.
                         Examples: '-c 125M', '-c 1.3G', '-c 20%'.
 -f|--force              Ignore most warnings (except the back-out).
 -h|--help               This help.
 -i|--infile             Full path to the ISO image file.
 -o|--outdev             The device name of your USB drive.
 -p|--persistence        Custom name of the 'persistence' directory/file.
 -r|--refresh            Refresh the USB stick with the ISO content.
                         No formatting, do not touch user content.
 -u|--unattended         Do not ask any questions.
 -v|--verbose            Show verbose messages.
 -w|--wait               Add X seconds wait time to initialize USB.
 -C|--cryptpers size|%   Use a LUKS-encrypted 'persistence' file instead
                         of a directory (for use on FAT filesystem).
 -P|--persistfile        Use an unencrypted 'persistence' file instead
                         of a directory (for use on FAT filesystem).

Examples:
Note1 -the “#” at the beginning of these examples is an indication that you need to run the command as root. The “#” is not part of the command!
Note2 – the value for the output parameter is the device name of the stick and not one of its partitions!

  • Create a USB version of Slackware Live, where the USB stick is known to the system as ‘/dev/sdX.
    # iso2usb.sh -i /mnt/hd/home/alien/slackware64-live-current.iso -o /dev/sdX
  • Create a USB Live like above, but this time adding an encrypted /home filesystem with 750 MB of space, and at the same time increase the wait time on boot to 15 seconds (useful for slow USB media that fail to start the Live OS otherwise):
    # iso2usb.sh -i /mnt/hd/home/alien/slackware64-live-current.iso -o /dev/sdX -c 750M -w 15
  • Create a USB Live with an encrypted /home (allocating 30% of the stick’s free space for /home) and where the persistent data will be stored in a container file instead of a directory:
    # iso2usb.sh -i /mnt/hd/home/alien/slackware64-live-current.iso -o /dev/sdX -c 30% -P
  • Create a USB Live with both the /home and the persistent data encrypted (the persistence filesystem will be 300 MB in size):
    # iso2usb.sh -i /mnt/hd/home/alien/slackware64-live-current.iso -o /dev/sdX -c 30% -C 300M

You might have noticed that the “-P” parameter does not accept a size parameter. This is because the un-encrypted container file is created as a ‘sparse’ file that starts at zero size and is allowed to grow dynamically to a maximum of 90% of the initial free space on the Linux partition of the USB stick.

Good luck! Eric

PS: if you took the time to scroll all the way down, and if you would rather want to use the “iso2usb.sh” on your non-Slackware distro instead of going through all the hassle of this guide, please give me feedback about the errors and issues you find when running the script in your distro.
I absolutely wish that the script works perfectly on any distro, not just Slackware. If you have suggestions or patches, those are very welcome!

July 17 updates – Plasma 5, Live ISOS and more

Slackware turned 24 today, 17 July.

To celebrate I have created some goodies for you. Nothing you can eat or drink…

First, Plasma 5 updates.

I have uploaded the July ’17 set of Plasma 5 packages for Slackware 14.2 and -current to the ‘ktown’ repository. KDE 5_17.07 contains: KDE Frameworks 5.36.0, Plasma 5.10.3 and Applications 17.04.3. All based on Qt 5.9.0 for Slackware-current and Qt 5.7.1 for Slackware 14.2.
NOTE: I will no longer be releasing Plasma 5 packages for 32bit Slackware 14.2.

What’s new this time

Apart from the usual upgrades to the Frameworks, Plasma and Applications subsets, there is only one interesting piece of news: I added ‘kile’ to the applications-extra directory. Kile is a LaTex editor and the port to the KDE Frameworks 5 is well underway. I based the package on a git snapshot of its repository. One more KF5 application in “applications-extra”.
The goal of the KDE community is that the Applications 17.12 release (i.e. end of this year) will not have any application that is still kdelibs4 based. Everything in Plasma 5 Desktop should then finally be based on KF5.

Installing or upgrading Frameworks 5, Plasma 5 and Applications

As always, the accompanying README file contains full installation & upgrade instructions.

Recommended reading material

There have been several posts now about KDE 5 for Slackware-current. All of them contain useful information, tips and gotchas. If you want to read them, here they are: http://alien.slackbook.org/blog/tag/kde5/

Where to get the new packages for Plasma 5

Package download locations are listed below (you will find the sources in ./source/5/ and packages in /current/5/ and  /14.2/5/ subdirectories). If you are interested in the development of KDE 5 for Slackware, you can peek at my git repository too.

Live ISO of PLASMA5

A Plasma5 Live ISO image will follow shortly on http://bear.alienbase.nl/mirrors/slackware-live/latest/ in case you want to try it out first (check the timestamp of the ISO on the web page). I am currently testing it, looks fine. Here is a screenshot showing the QtAv player (a proper QT5 and QML based video player so that you can forget about kplayer or gmplayer):

What else is in stock

The PLASMA5 Live ISO is crammed with all my relevant big packages (libreoffice, vlc and friends) and I refreshed a few of these packages:

  1. A package is available for the latest MKVToolnix 13.0.0 – Slackware 14.2 and -current.
  2.  I built the latest Calibre 3.4.0 for Slackware 14.2 and -current, adding several internal modules which I omitted in my first Calibre 3 release. As a consequence, Calibre now also depends on unrar for which I also compiled the latest release (5.5.6) into a Slackware package.
  3. Podofo is another dependency for Calibre that received a long overdue update, and my repository now contains version 0.9.5.

And I am also preparing Live ISO images for the variants SLACKWARE (64bit and 32bit), XFCE (64bit and 32bit) and MATE. They should go online at the same time as the PLASMA5 ISO.

Have fun! Eric

Pale Moon browser new release, better media support

The Pale Moon browser had a new release this week.

I have updated my palemoon.SlackBuild and have uploaded fresh Slackware packages for this new Pale Moon 27.4.0. As previously shared with you, I diverge from the official developers’ recommendations about how to compile this browser on Linux. For instance the gcc compiler I used on Slackware 14.2 is gcc-5.3.0 (which is part of this distro release). On -current I failed compiling with the gcc-7.1.0 compiler which is the default there and I had to create a “gcc5” package for gcc-5.4.0 (which was an earlier gcc version in slackware-current). I wrote an article on this very blog about that gcc5 package if you are interested, it can be installed in parallel with Slackware’s own gcc-7. There are some other differences, mainly in the way I optimize my build.

The resulting palemoon packages have been quite stable. Note that many crashes are triggered when you use Pale Moon in KDE4 with the oxygen theme selected for your GTK+2 programs. Get my patched oxygen-gtk2-1.4.6.1 package in my SlackBuild repository, if you are experiencing crashes.

What’s the news for this release? The most effort seems to have gone into solving the media streaming issues, by rewriting the Media Source Extensions (MSE) code to make it compliant with the official MSE specifications. This is what Youtube reports about the media capabilities of the new Pale Moon on Slackware:

 

Be aware that unlike the official binaries, my palemoon package relies on ffmpeg for the multimedia support – not on gstreamer. This means that on Slackware 14.2 you need to install a ffmpeg package (I used my own ffmpeg-3.3.2 package to compile palemoon). Slackware-current already has a ffmpeg package so you are OK there (but you still might want to replace that ffmpeg with my own package which is more feature-packed).

NOTE: let me know and do not bother the Pale Moon developers with any issues you encounter while using my Slackware package instead of the official binaries.