My thoughts on Slackware, life and everything

Month: January 2016

Slackware Live Edition, updated

blueSW-64pxDuring the past weeks I have been working on my “liveslak” scripts for the Slackware Live Edition. Check out my previous articles about Beta1 Beta2 and Beta3 releases for these scripts, they contain a lot of background about the reasons for creating yet another Slackware Live, as well as instructions on the use of the Live ISO images and their boot parameters.

I will be numbering the releases with ‘normal’ version numbers from now on, so the 4th beta release translates to “0.4.0”. The 1.0 release will contain everything I consider essential for my Slackware Live Edition. I think I am rapidly working toward that final milestone..

Update 06-jan-2016: please continue reading and commenting in my follow-up article on “Beta 5“.

 

What’s new in 0.4.0?

As with these previous public releases, this Beta4 marks a new milestone in the functionality of the Live OS. So what’s new? A feature I consider crucial for a persistent Live OS on a USB stick that you carry around with you in your jacket pocket… data protection! Persistence of the Live OS means, the things you change or add (or delete) are stored on the USB medium and will survive a reboot. As opposed to the raw ISO image (burnt to a DVD or ‘dd’-ed to a USB stick) which is a pure Live OS where all your modifications are written to RAM and gone when you reboot.

Data protection. How do you protect the stuff you are accumulating in your live user’s homedirectory, such as passwords, confidential documents, GPG and SSH keys etc? You lose the USB stick, someone else may steal it – your sensitive files will be compromised. Therefore the Slackware Live Edition offers you the option to create a LUKS-encrypted container file in the Linux filesystem of the USB stick. The filesystem inside that encrypted container will then be mounted on the /home directory of the Live OS when it boots. The LUKS passphrase you entered when creating the container, will be prompted for during the boot-up of the Live OS. On shutdown, the container will be locked again and a potential thief of your USB stick will be unable to get to the files in the LUKS container.

But there’s more of course. Here are some other highlights:

  • Better looking Grub boot menu (UEFI computers) by letting the “make_slackware_live.sh” script generate the used fonts.
  • The X session now supports the Compose Key. Use the Right-Alt (aka Alt-Gr) key to generate composed characters (like ë, ï, é etcetera).
  • When selecting a non-US keyboard, you can toggle between that and the US keyboard layout in your X session by pressing the Shift-Alt key repeatedly.
  • On request of Pat, the SLACKWARE ISO no longer contains the Nvidia binary drivers. You’ll get a pure Slackware experience without any 3rd party software getting in the way.
  • The ALSA softvol pre-amp is no longer applied when the pulseaudio package is installed.
  • The “isohybrid” commandline in the “make_slackware_live.sh” script has been tuned so that the resulting hybrid ISO file should boot on a larger variety of computers.

Download the ISO images

I have created ISO images for the SLACKWARE, XFCE, PLASMA5 and MATE flavours using the latest Slackware64-current packages available today. That means, you  can check out the recently added PulseAudio comfortably. For the PLASMA5 variant, I used the very latest KDE-5_16.01 packages available in my ‘ktown‘ repository. Willy Sudiarto Raharjo built a fresh set of Mate packages specifically for this Live release.

You can find the ISO images plus their MD5 checksum and GPG signature at any of the following locations – look in the “0.4.0” subdirectory for ISOs based on the liveslak-0.4.0 scripts:

Please allow some time to synchronize these mirror servers.

The ISOs have two user accounts: root (with password ‘root’) and live (with password ‘live’). My advice: login as user live and use “su” or “sudo” to get root access (note: “su” and “sudo” will want the live password!).

The ISOs are able to boot both on BIOS-based computers (where syslinux takes care of the boot menu) and UEFI systems (where grub builds the boot menu, which looks quite similar to the syslinux menu):

slackwarelive-0.4.0_syslinux

 

How to create a persistent USB stick from the ISO?

The ISO can be burnt to a DVD or copied to USB stick using ‘dd’ or just plain ‘cp’, but that will give you a read-only medium because all changes to the Live OS are in fact written to your computer’s RAM.

Use the ‘iso2usb.sh‘ script to create a Live OS on the USB device with persistence. Changes you make while running Slackware Live will then be preserved across reboots because the OS will write all these changes to the directory “persistence” in the root of the USB device. The script requires an input and an output parameter at a minimum:

# ./iso2usb.sh -i ~/Download/slackware64-live-current.iso -o /dev/sdX

… where /dev/sdX is the device name of your USB stick which will get formatted – erasing all data currently stored on it. The iso2usb.sh script will pause to show you the characteristics of the target device and ask you once more if you really want to continue erasing it. You will not easily destroy your harddrive unless you are really not paying attention!

How to create the LUKS encrypted homedirectory container?

THe iso2usb.sh script has been extended with a new parameter “-c” which takes a size argument. If you want to create a 400 MB container file to hide your homedirectory in, then you need to specify “-c 400M”. If you want 2.5 GB for your homedirectory, use “-c 2.5G”. If you are not concerned so much with the exact size but want to allocate a percentage of the free space on the stick, then use “-c 40%” to create a LUKS container that uses 40% of the available free space.

Now to put that into an actual example commandline which will create a file (its name will be “slhome01.img” by default) using up 50% of the free space on the stick:

# ./iso2usb.sh -i slackware64-live-xfce-current.iso -o /dev/sdX -c 50%

When the script gets to the point where it creates the LUKS container file, it will prompt you for a passphrase which will be used for encrypting and decrypting the container’s data. Right after that, the script will prompt you to enter that passphrase again when the LUKS container is unlocked and the ISO’s /home content is copied into the container.

Booting the Live OS

When you boot Slackware Live on a BIOS computer, Syslinux will handle the boot and show the following menu:

  • Start (SLACKWARE | PLASMA5 | XFCE | MATE) Live (depending on which of the ISOs you boot)
  • Non-US Keyboard selection
  • Non-US Language selection
  • Memory test with memtest86+

You can select a keyboard mapping that matches your computer’s. And/or boot Slackware in another language than US English. You will probably want to change the timezone; syslinux allows you to edit the boot commandline by pressing <TAB> because the syslinux bootmenu does not offer you a selection of timezones.

On UEFI computers, GRUB2 handles the boot and it will show a menu similar (and similarly themed) as the Syslinux menu:

  • Start (SLACKWARE | PLASMA5 | XFCE | MATE) Live (depending on which of the ISOs you boot)
  • Non-US Keyboard selection
  • Non-US Language selection
  • Non-US Timezone selection
  • Memory test with memtest86+

Editing a Grub menu is possible by pressing the ‘e’ key. After making your changes to the boot commandline, press <F10> to boot.

Another difference between Syslinux and Grub menus: in Grub you select keyboard, language and/or timezone and you’ll return to the main menu every time. You still have to select “Start Slackware Live” to boot. In the Syslinux menu, only the keyboard selection menu will return you to (apparently bot not actually) the same main menu. The non-US language selection will boot you into Slackware Live immediately without returning to the main menu. A limitation of syslinux.

Caveats and tips

Remember that this is still a Beta! There are still some rough edges that I am aware of, and if you find others please let me know.

  • Using the Nvidia binary drivers on a persistent USB stick – once you pass the argument “load=nvidia” and your USB stick is persistent, you have to keep loading the nvidia module or else your X serssion will no longer start. If you are always going to use the USB stick on computers with supported Nvidia cards, the simplest solution is to move the file “0060-nvidia-352.63_4.4.0-current-x86_64.sxz” from “liveslak/optional/” to the “liveslak/addons/” directory so that it is loaded by default, saving you from typing “load=nvidia” every time. The ugly solution is to remove the content of the “/persistence/” directory on the Linux partition.
  • Booting a persistent USB stick with LUKS home to the “virgin condition” – suppose you screwed up somehow and the USB stick won’t work anymore. You can boot the original Live OS without all your accumulated persistent changes by adding the boot command parameter “nop” which stands for “no persistence”. That will still mount the LUKS container on the /home directory. If you want to ignore the LUKS container, and use the /home directory of the original Live OS, an additional parameter “luksvol=” must be added to the boot commandline. After logging in you can remount the Linux partition of your stick to make it writable:

    # mount -o remount,rw /mnt/livemedia

    and proceed with pruning the persistence directory “/mnt/livemedia/persistence” and/or fixing the LUKS container file “/mnt/livemedia/slhome01.img“.

Happy hacking! Eric

KDE 5_16.01 for slackware-current

plasma5_startup I had big issues with my Internet connectivity this past week, when my internet cable modem suddenly died. I was able to use a backup connection on my telephony modem but the 1 Mbit/sec up- and download offered by that outlet was not sufficient for the amounts of data I had to upload. So, I was very happy to get a new modem yesterday evening and found that my 200/20 Mbit/sec connection was restored overnight. That allowed me to upload the latest ‘ktown’ package set to the mirror server. KDE 5_16.01 is now available for your enjoyment. These packages are based on the latest KDE releases: Frameworks 5.18.0, Plasma 5.5.3 and Applications 15.12.1.

What’s new in KDE 5_16.01?

  • Frameworks 5.18.0 is an enhancement release. See https://www.kde.org/announcements/kde-frameworks-5.18.0.php .
    • The ‘bluez-qt’ package is now finally being built since Slackware switched to BlueZ 5.
    • Bug 356529 was resolved: the very visible “I18N_PLURAL_ARGUMENT_MISSING” error in various places.
  • Plasma 5.5.3 keeps polishing the 5.5 series. See https://www.kde.org/announcements/plasma-5.5.3.php .
    • Now that Slackware contains PulseAudio, I was able to compile and add the ‘plasma-pa’ package which adds a PulseAudio based volume control Plasmoid for your system tray.
    • Slackware also moved to BlueZ 5 (which caused a requirement for PulseAudio in order to fix the broken BlueTooth audio)  and therefore another new package is available in the Plasma set: ‘bluedevil’.
    • I have added back the previously removed ‘kde-wallpapers’ and ‘oxygen-fonts’ packages to the “plasma-exta” section  (used to be part of Applications) because Plasma 5 was left with just a single ugly wallpaper otherwise and there was a user request for the fonts.
    • Let me also mention again this noteworthy improvement of Plasma 5.5 because some people missed it the previous time:
      • Support for legacy Xembed protocol is back – the blueman and HP systray icons are again visible without having to jump through hoops. The package “xembed-sni-proxy” which I added a few releases earlier, is gone from my repository because its code is now part of Plasma itself. Don’t forget to run “removepkg xembed-sni-proxy“!
  • The Applications 15.12,1 is a bugfix release. For a full list of changes to applications, read this page.
    • After the previous KDE 5_15.12 the overlooked (and therefore missing) ‘baloo5-widgets’ package was added.

Some things to tell about the Plasma 5 dependencies.

  • I upgraded OpenAL again, and rebuilt qt5 and phonon against Slackware’s PulseAudio.
  • There’s a SlackBuild script but no package for “unar” in the repository. Unar is an un-archiver originating from Mac OS-X. The Ark package in KDE Applications can use ‘unar’ to provide RAR view/extraction support, even for the latest RAR formats, but ‘unar’ depends in turn on two pieces of software I did not want to add yet; ‘gnustep-base’ and ‘gnustep-make’. If you really want to have ‘unar’ then download the SBo scripts for these gnustep utilities, build your own packages and then build ‘unar’. Let me know how that went and how big the gnustep packages are.

If you want to test the new release in a Live environment, you need to wait just a little bit longer. I am preparing ISO images for the new 0.4.0 (Beta4) release of my Slackware Live Edition. These ISOs are based on the latest Slackware64-current and the PLASMA5 variant contains my KDE-5_16.01 packages. I hope to be able to upload the ISOs during the weekend.

Installing or upgrading Frameworks 5, Plasma 5 and Applications

You can skip the remainder of the article if you already have my Plasma 5 installed and are familiar with the upgrade process. Otherwise, stay with me and read the rest.

As always, the accompanying README file contains full installation & upgrade instructions. Note that the packages are available in several subdirectories below “kde”, instead of directly in “kde”. This makes it easier for me to do partial updates of packages. The subdirectories are “kde4”, “kde4-extragear”, “frameworks”, “kdepim”, “plasma”, “plasma-extra”, “applications” and “telepathy”.

Upgrading to this KDE 5 is not difficult, especially if you already are running KDE 5_15.12. You will have to remove old KDE 4 packages manually. If you do not have KDE 4 installed at all, you will have to install some of Slackware’s own KDE 4 packages manually.

Note:

If you are using slackpkg+, have already moved to KDE 5_15.12 and are adventurous, you can try upgrading using the following set of commands. This should “mostly” work but you still need to check the package lists displayed by slackpkg to verify that you are upgrading all the right packages. Feel free to send me improved instructions if needed. In below example I am assuming that you tagged my KDE 5 repository with the name “ktown_testing” in the configuration file “/etc/slackpkg/slackpkgplus.conf“):
# slackpkg update
# slackpkg install ktown_testing (to get the newly added packages from my repo)
# slackpkg install-new (to get the new official Slackware packages that were part of my deps previously)
# slackpkg upgrade ktown_testing (upgrade all existing packages to their latest versions)
# removepkg xembed-sni-proxy ktux amor kde-base-artwork kde-wallpapers kdeartwork (they don’t exist in the repo anymore)
# slackpkg upgrade-all (upgrade the remaining dependencies that were part of my repo previously)

And doublecheck that you have not inadvertently blacklisted my packages in “/etc/slackpkg/blacklist“! Check for the existence of a line in that blacklist file that looks like “[0-9]+alien” and remove it if you find it!

Recommended reading material

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

A note on Frameworks

The KDE Frameworks are extensions on top of Qt 5.x and their usability is not limited to the KDE Software Collection. There are other projects such as LXQT which rely (in part) on the KDE Frameworks, and if you are looking for a proper Frameworks repository which is compatible with Slackware package managers such as slackpkg+, then you can use these URL’s to assure yourself of the latest Frameworks packages for Slackware-current (indeed, this is a sub-tree of my KDE 5 “testing” repository):

Where to get the new packages for Plasma 5

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

Using a mirror is preferred because you get more bandwidth from a mirror and it’s friendlier to the owners of the master server!

Have fun! Eric

OpenJDK updated to 7u95_b00

icedteaVersion 2.6.4 of IcedTea was released last week. The IcedTea “build harness” for OpenJDK will compile OpenJDK 7 “Update 95 Build 00“. In Slackware terminology: here is the package openjdk-7u95_b00. The release synchronizes with Oracle’s January 2016 updates to OpenJDK. Read more about the release on the blog of release maintainer Andrew Hughes.

This is the list of security fixes and CVE‘s which have been addressed and fixed in this release.

Note about usage:

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.

The Java package (openjre as well as openjdk) has one dependency: rhino provides JavaScript support for OpenJDK.

Optionally: If you want to use Java in a web browser then you’ll have to install my icedtea-web package too. While Oracle’s JDK contains a browser plugin, that one is closed-source and therefore Icedtea offers an open source variant which does a decent job. Note that icedtea-web is a NPAPI plugin – this prevents use of Java in Chrome & Chromium because those browsers only support PPAPI plugins, but you’ll be OK with all Mozilla [-compatible] browsers of course.

Download locations:

Have fun! Eric

PulseAudio comes to Slackware-current Beta

pulseaudio_medHah! Got you there! Oh wait – it’s true.

Yup folks, thanks to the new bluetooth stack in slackware-current (brought to you by BlueZ 5.x) we have introduced a dependency on PulseAudio. Bluetooth audio no longer accepts ALSA as the output driver.

So, Pat has added a pulseaudio package and with it, a lot of dependency packages: ap/pamixer l/alsa-plugins l/atkmm l/cairomm l/glibmm l/gtkmm3 l/json-c l/libasyncns l/libsigc++ l/pangomm l/speexdsp xap/pavucontrol and finally xfce/xfce4-pulseaudio-plugin

Also, we have a Beta!

Wed Jan 13 00:01:23 UTC 2016
Also, enjoy a shiny new LTS 4.4.0 kernel and consider this 14.2 beta 1.

Coming back to PulseAudio: the alsa-plugins package ensures that ALSA applications can remain unaware that PulseAudio is now handling audio in- and output. A file “/etc/asound.conf” will be installed by a recompiled “alsa-libs” package. This configures Pulse as the default audio device. Please take care in case you created a “/etc/asound.conf” yourself that you have to merge yours with the freshly installed “/etc/asound.conf.new” !

Several other Slackware core packages needed a recompile against PulseAudio, but note that you may not have to. As said before, ALSA output still works transparently, it’s just that ALSA’s output is now an input for PulseAudio which in turn controls your audio hardware.

Yes, some people will be opiniated. We invited the Devil into our house and stuff. Well, PulseAudio is not maintained by Lennart anymore, and saner people took the helm. We expect no big mess as a result, just a learning curve to understand the new sound configuration. And truthfully, we were left no choice. The alternative would have been to say bye-bye to bluetooth in Slackware because already, major pieces of software are dropping or preparing to drop support the old and incompatible BlueZ 4.x API.

Note: Slackware is NOT going to add systemd. It’s too controversial and there is no need. Your sleep will be sound now.

People who installed the Jack audio connection kit should probably carefully evaluate the possible changes to their configuration. I stopped using “jackd” here  so I can not tell you at the moment.

Happy hacking! Eric

© 2024 Alien Pastures

Theme by Anders NorenUp ↑