Saturday 29 July 2017

Rolling kernels, target processors and Peppermint OS in latest 'isorespin.sh' update


I've updated my 'isorespin.sh' script to include the following concepts:

  • rolling kernels
  • target processors

and I've additionally included support for Peppermint OS (an Ubuntu kernel based distro).

The  need for rolling kernels  is primarily to address the shortfall that existing ISO kernels typically don't have the hardware support required for the latest devices. They ship with the 'kernel of the day' whereas the latest hardware tends to require, well, the latest kernel to fully work. Ubuntu have in part addressed this through their LTS Enablement Stacks. Another alternative to get 'newer' kernels is to enable the proposed repository however there is also a pre-release and test kernel repository together with the unstable repository where mainline kernels are migrated into Ubuntu as well as the upstream mainline kernels.


I've added an option '--rolling-list' to keeping track of what new kernels are available where with options to easily incorporate them when respinning an ISO. I've termed the kernel types as release, proposed, testing and unstable to reflect the repositories they are drawn from as described above. And if it is not abundantly obvious but any kernel other than the formally released ones are not encouraged for anyone needing a stable system or anyone who is not comfortable running into occasional or even frequent breakage.

The other concept I've introduced is respinning an ISO for a target processor. Whilst I've documented how to respin an ISO and what to include it does require reading. So now by including the option of '--atom' or '--apollo' you'll get an ISO that hopefully works on devices with the respective Intel SoCs. The options simply include the flags, packages, scripts and commands that I recommend and mirror the manual invocations of:

For '--atom': -l rtl8723bX_4.12.0_amd64.deb -f linuxium-install-UCM-files.sh -f wrapper-linuxium-install-UCM-files.sh -f linuxium-install-broadcom-drivers.sh -f wrapper-linuxium-install-broadcom-drivers.sh -c wrapper-linuxium-install-UCM-files.sh -c wrapper-linuxium-install-broadcom-drivers.sh

For '--apollo': -b rEFInd

The files are automatically downloaded from the internet if they are not found as part of the command invocation and this should simplify respinning for those looking something quick and easy.

Both these new functionality require that you have the 'curl' package installed prior to running the respin script however the script will check and warn you if it is missing.

The new syntax for 'isorespin.sh' is:

Usage: /usr/local/bin/isorespin.sh [ -h | -v | --rolling-list ]
       /usr/local/bin/isorespin.sh -i <ISO> [ [ -u | -k <kernel> ] | -r "<repo> ... " | -p "<pkg> ... " | -l "<pkg.deb> ... " | -f "<file> | <directory> ... " | [ -s <size>MB | GB ] | [ -b GRUB | rEFInd ] | ...
       /usr/local/bin/isorespin.sh ... -w <directory> | -d "<pkg> ... " | -e "<pkg> ... " | -c "<cmd> ... " | -o "<file> | <directory> ... " | -g "" | "<kernel boot parameter> ... " | ...
       /usr/local/bin/isorespin.sh ... --apollo | --atom | ...
       /usr/local/bin/isorespin.sh ... --rolling-release | --rolling-release-hwe | --rolling-release-hwe-edge | --rolling-proposed | --rolling-proposed-hwe | --rolling-proposed-hwe-edge | ...
       /usr/local/bin/isorespin.sh ... --rolling-testing | --rolling-testing-hwe | --rolling-testing-hwe-edge | --rolling-unstable | --rolling-unstable-hwe | --rolling-unstable-hwe-edge ]

and the options have been included in the GUI:





I've also added Peppermint OS support. This OS uses an Ubuntu kernel and is particularly suitabale for low specification devices like the original Ubuntu Intel Compute Stick which only has 1GB RAM and 8GB storage.


I was able to watch a YouTube video at 1080p via wifi which is pretty impressive for that device.



Mainline kernel v4.13 is progressing with RC2 released this week.


As the opt-in Ubuntu flavours released their Artful 17.10 Alpha 2 ISOs yesterday I've respun the Lubuntu one with "--atom -u" which generated the log:

Script '/usr/local/bin/isorespin.sh' called with '-i lubuntu-17.10-alpha2-desktop-amd64.iso --atom -u' ...
Work directory 'isorespin' used ...
ISO '/home/linuxium/lubuntu-17.10-alpha2-desktop-amd64.iso' respun ...
Bootloader 'GRUB' added ...
Kernel updated with mainline kernel version '4.13.0-041300rc2-generic' ...
Local package '/home/linuxium/isorespin/rtl8723bt_4.12.0_amd64.deb' added ...
File '/home/linuxium/isorespin/linuxium-install-UCM-files.sh' added ...
File '/home/linuxium/isorespin/wrapper-linuxium-install-UCM-files.sh' added ...
File '/home/linuxium/isorespin/linuxium-install-broadcom-drivers.sh' added ...
File '/home/linuxium/isorespin/wrapper-linuxium-install-broadcom-drivers.sh' added ...
Command run ...
# wrapper-linuxium-install-UCM-files.sh
./linuxium-install-UCM-files.sh: Extracting UCM files ...
./linuxium-install-UCM-files.sh: Installing UCM files ...
./linuxium-install-UCM-files.sh: Reloading UCM driver ...
./linuxium-install-UCM-files.sh: Installation of UCM finished 
# wrapper-linuxium-install-broadcom-drivers.sh
./linuxium-install-broadcom-drivers.sh: Extracting Broadcom files ...
./linuxium-install-broadcom-drivers.sh: Installing Broadcom files ...
./linuxium-install-broadcom-drivers.sh: Reloading Broadcom driver ...
./linuxium-install-broadcom-drivers.sh: Installing Broadcom bluetooth service ...
Created symlink /etc/systemd/system/multi-user.target.wants/brcmbt.service -> /lib/systemd/system/brcmbt.service.
./linuxium-install-broadcom-drivers.sh: Starting Broadcom bluetooth service ...
Running in chroot, ignoring request.
./linuxium-install-broadcom-drivers.sh: Installation of Broadcom finished 
Respun ISO created as 'linuxium-v4.13-rc2-lubuntu-17.10-alpha2-desktop-amd64.iso'.

and the respun ISO can be downloaded from here (ISO removed due to Lenovo BIOS issues).


I've also respun the Ubuntu 17.04 ISO and added a 200MB persistent partition meaning the ISO which now supports Intel Atom devices with also boot on Intel Apollo devices:

Script '/usr/local/bin/isorespin.sh' called with '-i ubuntu-17.04-desktop-amd64.iso -u --atom -s 200MB' ...
Work directory 'isorespin' used ...
ISO '/home/linuxium/ubuntu-17.04-desktop-amd64.iso' respun ...
Kernel boot parameters 'persistent' added ...
Bootmanager 'rEFInd' added ...
Kernel updated with mainline kernel version '4.13.0-041300rc2-generic' ...
Local package '/home/linuxium/isorespin/rtl8723bs_4.12.0_amd64.deb' added ...
File '/home/linuxium/isorespin/linuxium-install-UCM-files.sh' added ...
File '/home/linuxium/isorespin/wrapper-linuxium-install-UCM-files.sh' added ...
File '/home/linuxium/isorespin/linuxium-install-broadcom-drivers.sh' added ...
File '/home/linuxium/isorespin/wrapper-linuxium-install-broadcom-drivers.sh' added ...
Command run ...
# wrapper-linuxium-install-UCM-files.sh
./linuxium-install-UCM-files.sh: Extracting UCM files ...
./linuxium-install-UCM-files.sh: Installing UCM files ...
./linuxium-install-UCM-files.sh: Reloading UCM driver ...
./linuxium-install-UCM-files.sh: Installation of UCM finished 
# wrapper-linuxium-install-broadcom-drivers.sh
./linuxium-install-broadcom-drivers.sh: Extracting Broadcom files ...
./linuxium-install-broadcom-drivers.sh: Installing Broadcom files ...
./linuxium-install-broadcom-drivers.sh: Reloading Broadcom driver ...
./linuxium-install-broadcom-drivers.sh: Installing Broadcom bluetooth service ...
Created symlink /etc/systemd/system/multi-user.target.wants/brcmbt.service -> /lib/systemd/system/brcmbt.service.
./linuxium-install-broadcom-drivers.sh: Starting Broadcom bluetooth service ...
Running in chroot, ignoring request.
./linuxium-install-broadcom-drivers.sh: Installation of Broadcom finished 
Persistence partition of '200MB' added ...
Respun ISO created as 'linuxium-persistence-v4.13-rc2-ubuntu-17.04-desktop-amd64.iso'.

and the respun ISO can be downloaded from here (ISO removed due to Lenovo BIOS issues).

Anyone interested in running an ISO shown in the opening image can just respin the latest daily Ubuntu release with '--rolling-unstable --atom' options. Simple!

Please donate if you find the script useful using the following link http://goo.gl/nXWSGf as everything helps with development costs.

Thursday 20 July 2017

Sixth look at Ubuntu 17.10: 'julyshakedown'

UpdateThis work is superseded by my 'isorespin.sh' script which can respin an official ISO suitable for use on Intel Atom devices.


This week Canonical have issued an 'Ubuntu Artful Desktop July Shakedown – call for testing' requesting:
We’re mid-way through the Ubuntu Artful development cycle, with the 17.10 release rapidly approaching on the horizon. Now is a great time to start exercising the new GNOME goodness that’s landed on our recent daily images! Please download the ISO, test it out on your own hardware, and file bugs where appropriate.
So if you'd like to help out but only have an Intel Atom (Bay Trail or Cherry Trail) or Apollo Lake device then you can either use my 'isorespin.sh' script to make a bootable ISO for testing or use the 'one I made earlier'. I've used my script to respin the daily Ubuntu 17.10 ISO from the 19th of July and updated it with the v4.13-rc1 kernel packages along with my usual wifi/bluetooth packages and scripts and I've added a small 200MB persistence partition which can be resized after booting.

The ISO respin log file contains:

Script '/usr/local/bin/isorespin.sh' called with '-i artful-desktop-amd64-190717.iso -u -l rtl8723bt_4.12.0_amd64.deb -f linuxium-install-UCM-files.sh -f wrapper-linuxium-install-UCM-files.sh -f linuxium-install-broadcom-drivers.sh -f wrapper-linuxium-install-broadcom-drivers.sh -c wrapper-linuxium-install-UCM-files.sh -c wrapper-linuxium-install-broadcom-drivers.sh -s 200MB' ...
Work directory 'isorespin' used ...
ISO '/home/linuxium/artful-desktop-amd64-190717.iso' respun ...
Kernel boot parameters 'persistent' added ...
Bootmanager 'rEFInd' added ...
Kernel updated with mainline kernel version '4.13.0-041300rc1-generic' ...
Local package '/home/linuxium/rtl8723bt_4.12.0_amd64.deb' added ...
File '/home/linuxium/linuxium-install-UCM-files.sh' added ...
File '/home/linuxium/wrapper-linuxium-install-UCM-files.sh' added ...
File '/home/linuxium/linuxium-install-broadcom-drivers.sh' added ...
File '/home/linuxium/wrapper-linuxium-install-broadcom-drivers.sh' added ...
Command run ...
# wrapper-linuxium-install-UCM-files.sh
./linuxium-install-UCM-files.sh: Extracting UCM files ...
./linuxium-install-UCM-files.sh: Installing UCM files ...
./linuxium-install-UCM-files.sh: Reloading UCM driver ...
./linuxium-install-UCM-files.sh: Installation of UCM finished 
# wrapper-linuxium-install-broadcom-drivers.sh
./linuxium-install-broadcom-drivers.sh: Extracting Broadcom files ...
./linuxium-install-broadcom-drivers.sh: Installing Broadcom files ...
./linuxium-install-broadcom-drivers.sh: Reloading Broadcom driver ...
./linuxium-install-broadcom-drivers.sh: Installing Broadcom bluetooth service ...
Created symlink /etc/systemd/system/multi-user.target.wants/brcmbt.service -> /lib/systemd/system/brcmbt.service.
./linuxium-install-broadcom-drivers.sh: Starting Broadcom bluetooth service ...
Running in chroot, ignoring request.
./linuxium-install-broadcom-drivers.sh: Installation of Broadcom finished 
Persistence partition of '200MB' added ...
Respun ISO created as 'linuxium-persistence-v4.13-rc1-artful-desktop-amd64-190717.iso'.

which shows the command used and the respun ISO can be downloaded from here.

Anyone interested in respining their own ISO can download my 'isorespin.sh' script from here together with full documentation with examples from here.

Please donate if you find the script useful using the following link http://goo.gl/nXWSGf as everything helps with development costs.





Thursday 6 July 2017

Fifth look at Ubuntu 17.10: using an 'unstable' kernel

UpdateThis work is superseded by my 'isorespin.sh' script which can respin an official ISO suitable for use on Intel Atom devices.


The v4.12 kernel has been released and is now available in Ubuntu's 'unstable' repository. Whilst the compiled kernel can be installed directly from the Ubuntu Kernel Team builds on any release it can also be added to an Ubuntu 17.10 ISO through a repository and installed as a package.

The v4.12 kernel is significant as it includes RTL8723BS wifi and the Ubuntu 17.10 userspace includes the required firmware although bluetooth isn't included.

And as another Unity based Ubuntu release nears EOL (Ubuntu 16.10) and the challenges from switching from Unity to GNOME Shell are recognised I've written a script to simplify the installation of the 'Dash to Dock' GNOME Shell Extension.

My new script 'linuxium-install-dash-to-dock.sh' requires the internet as it will download the latest release of the extension, enable it and configure it with some basic settings to fix the position of the extended dock with the application search icon at the top similar to Dash in Unity. Alternatively you can install the package 'gnome-shell-extension-dashtodock' although you will need to enable it.

I've used my 'isorespin.sh' script to respin the daily Ubuntu 17.10 ISO corresponding to the flavour Alpha 1 releases and updated it with the v4.12 kernel packages along with my usual wifi/bluetooth packages and scripts and I've additionally added my 'extension' script although I've left installation optional:


which if performed requires the GNOME Shell to be reloaded using 'Alt F2' and 'r':


The ISO respin log file contains:

Script '/usr/local/bin/isorespin.sh' called with '-i ubuntu-17.10-alpha1-desktop-amd64.iso -r ppa:canonical-kernel-team/unstable -p linux-headers-4.12.0-5 -p linux-headers-4.12.0-5-generic -p linux-image-4.12.0-5-generic -p linux-image-extra-4.12.0-5-generic -l rtl8723bt_4.12.0_amd64.deb -f linuxium-install-dash-to-dock.sh -f linuxium-install-UCM-files.sh -f wrapper-linuxium-install-UCM-files.sh -f linuxium-install-broadcom-drivers.sh -f wrapper-linuxium-install-broadcom-drivers.sh -c wrapper-linuxium-install-UCM-files.sh -c wrapper-linuxium-install-broadcom-drivers.sh' ...
Work directory 'isorespin' used ...
ISO '/home/linuxium/17.10-alpha1/ubuntu-17.10-alpha1-desktop-amd64.iso' respun ...
Bootloader 'GRUB' added ...
Repository 'ppa:canonical-kernel-team/unstable' added ...
Package 'linux-headers-4.12.0-5' added ...
Package 'linux-headers-4.12.0-5-generic' added ...
Package 'linux-image-4.12.0-5-generic' added ...
Package 'linux-image-extra-4.12.0-5-generic' added ...
Local package '/home/linuxium/17.10-alpha1/rtl8723bt_4.12.0_amd64.deb' added ...
File '/home/linuxium/17.10-alpha1/linuxium-install-dash-to-dock.sh' added ...
File '/home/linuxium/17.10-alpha1/linuxium-install-UCM-files.sh' added ...
File '/home/linuxium/17.10-alpha1/wrapper-linuxium-install-UCM-files.sh' added ...
File '/home/linuxium/17.10-alpha1/linuxium-install-broadcom-drivers.sh' added ...
File '/home/linuxium/17.10-alpha1/wrapper-linuxium-install-broadcom-drivers.sh' added ...
Command run ...
# wrapper-linuxium-install-UCM-files.sh
./linuxium-install-UCM-files.sh: Extracting UCM files ...
./linuxium-install-UCM-files.sh: Installing UCM files ...
./linuxium-install-UCM-files.sh: Reloading UCM driver ...
./linuxium-install-UCM-files.sh: Installation of UCM finished 
# wrapper-linuxium-install-broadcom-drivers.sh
./linuxium-install-broadcom-drivers.sh: Extracting Broadcom files ...
./linuxium-install-broadcom-drivers.sh: Installing Broadcom files ...
./linuxium-install-broadcom-drivers.sh: Reloading Broadcom driver ...
./linuxium-install-broadcom-drivers.sh: Installing Broadcom bluetooth service ...
Created symlink /etc/systemd/system/multi-user.target.wants/brcmbt.service -> /lib/systemd/system/brcmbt.service.
./linuxium-install-broadcom-drivers.sh: Starting Broadcom bluetooth service ...
Running in chroot, ignoring request.
./linuxium-install-broadcom-drivers.sh: Installation of Broadcom finished 
Respun ISO created as 'linuxium-ubuntu-17.10-alpha1-desktop-amd64.iso'.

which shows the command used and the respun ISO can be downloaded from here.

Please donate if you find the script useful using the following link http://goo.gl/nXWSGf as everything helps with development costs.


Saturday 1 July 2017

Fourth look at Ubuntu 17.10: faking Unity


Now that the 17.10 Alpha 1 ISOs for the opt-in flavors of Lubuntu and Kubuntu have been released (see https://wiki.ubuntu.com/ArtfulAardvark/ReleaseSchedule) I thought I'd look at a pseudo Ubuntu Alpha 1 ISO by respinning the corresponding daily image with the latest kernel and wifi/bt drivers.

This time I've included the 'Dash to Dock' GNOME Shell Extension (https://micheleg.github.io/dash-to-dock) as part of the initial configuration.

For many users I think installing this extension will make the desktop so similar to Unity that they won't even notice the difference most of the time.

Using my 'isorespin.sh' script I created the respun ISO with the following command:

isorespin.sh -i ubuntu-17.10-alpha1-desktop-amd64.iso -u -l rtl8723bt_4.12.0_amd64.deb -f linuxium-install-UCM-files.sh -f wrapper-linuxium-install-UCM-files.sh -f linuxium-install-broadcom-drivers.sh -f wrapper-linuxium-install-broadcom-drivers.sh -f install-dash-to-dock.sh -c wrapper-linuxium-install-UCM-files.sh -c wrapper-linuxium-install-broadcom-drivers.sh -c install-dash-to-dock.sh -s 200MB

The key features of the respun ISO are:
  • Based on the Ubuntu 17.10 (Artful Aardvark) Daily Build from 30th June
  • Upgraded with the latest Ubuntu mainline v4.12-rc7 kernel
  • Includes the RTL8723BS and Broadcom wifi/bt firmware
  • Includes the ALSA UCM files
  • Configured with Dash to Dock GNOME Shell Extension
  • Has a persistence partition of 200MB
  • Uses the rEFInd boot manager (with GRUB for 32-bit BIOS devices)
so it will work on Intel Atom Bay Trail/Cherry Trail and Intel Apollo Lake devices.

If you want to respin the ISO yourself you will need to create a script to install the extension. The script I wrote ('linuxium-install-dash-to-dock.sh') is as follows:

#!/bin/bash

# Linuxium's script to install GNOME extension "Dash to Dock"

echo "127.0.1.1 LINUXIUMONE" > /etc/hosts
cd /usr/local/bin

echo "$0: Installation started ..."

echo "$0: Fetching extension ..."
mkdir -p /usr/local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com
wget https://extensions.gnome.org/review/download/6948.shell-extension.zip > /dev/null 2>&1

echo "$0: Unzipping extension ..."
unzip 6948.shell-extension.zip -d /usr/local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com > /dev/null 2>&1
chmod 644 /usr/local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/metadata.json

echo "$0: Enabling extension ..."
sed -i "/enabled-extensions/{n;s/\[\]/\['dash-to-dock@micxgx.gmail.com'\]/}" /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.xml
glib-compile-schemas /usr/share/glib-2.0/schemas

echo "$0: Configuring extension ..."
sed -i "/dock-fixed/{n;s/false/true/}" /usr/local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml
sed -i "/dash-max-icon-size/{n;s/48/32/}" /usr/local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml
sed -i "/apply-custom-theme/{n;s/false/true/}" /usr/local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml
sed -i "/show-apps-at-top/{n;s/false/true/}" /usr/local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml
sed -i "/extend-height/{n;s/false/true/}" /usr/local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml
glib-compile-schemas /usr/local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas

echo "$0: Installation complete."

sed -i '$d' /etc/hosts
rm -f 6948.shell-extension.zip install-dash-to-dock.sh

The initial screen starts with the dock overlapping the two desktop items but once a terminal is opened the screen immediately corrects itself.

The log file contains:

Script '/usr/local/bin/isorespin.sh' called with '-i ubuntu-17.10-alpha1-desktop-amd64.iso -u -l rtl8723bt_4.12.0_amd64.deb -f linuxium-install-UCM-files.sh -f wrapper-linuxium-install-UCM-files.sh -f linuxium-install-broadcom-drivers.sh -f wrapper-linuxium-install-broadcom-drivers.sh -f install-dash-to-dock.sh -c wrapper-linuxium-install-UCM-files.sh -c wrapper-linuxium-install-broadcom-drivers.sh -c install-dash-to-dock.sh -s 200MB' ...
Work directory 'isorespin' used ...
ISO '/home/linuxium/17.10-alpha1/ubuntu-17.10-alpha1-desktop-amd64.iso' respun ...
Kernel boot parameters 'persistent' added ...
Bootmanager 'rEFInd' added ...
Kernel updated with mainline kernel version '4.12.0-041200rc7-generic' ...
Local package '/home/linuxium/17.10-alpha1/rtl8723bt_4.12.0_amd64.deb' added ...
File '/home/linuxium/17.10-alpha1/linuxium-install-UCM-files.sh' added ...
File '/home/linuxium/17.10-alpha1/wrapper-linuxium-install-UCM-files.sh' added ...
File '/home/linuxium/17.10-alpha1/linuxium-install-broadcom-drivers.sh' added ...
File '/home/linuxium/17.10-alpha1/wrapper-linuxium-install-broadcom-drivers.sh' added ...
File '/home/linuxium/17.10-alpha1/install-dash-to-dock.sh' added ...
Command run ...
# wrapper-linuxium-install-UCM-files.sh
./linuxium-install-UCM-files.sh: Extracting UCM files ...
./linuxium-install-UCM-files.sh: Installing UCM files ...
./linuxium-install-UCM-files.sh: Reloading UCM driver ...
./linuxium-install-UCM-files.sh: Installation of UCM finished 
# wrapper-linuxium-install-broadcom-drivers.sh
./linuxium-install-broadcom-drivers.sh: Extracting Broadcom files ...
./linuxium-install-broadcom-drivers.sh: Installing Broadcom files ...
./linuxium-install-broadcom-drivers.sh: Reloading Broadcom driver ...
./linuxium-install-broadcom-drivers.sh: Installing Broadcom bluetooth service ...
Created symlink /etc/systemd/system/multi-user.target.wants/brcmbt.service -> /lib/systemd/system/brcmbt.service.
./linuxium-install-broadcom-drivers.sh: Starting Broadcom bluetooth service ...
Running in chroot, ignoring request.
./linuxium-install-broadcom-drivers.sh: Installation of Broadcom finished 
# install-dash-to-dock.sh
/usr/local/bin/install-dash-to-dock.sh: Installation started ...
/usr/local/bin/install-dash-to-dock.sh: Fetching extension ...
/usr/local/bin/install-dash-to-dock.sh: Unzipping extension ...
/usr/local/bin/install-dash-to-dock.sh: Enabling extension ...
/usr/local/bin/install-dash-to-dock.sh: Configuring extension ...
/usr/local/bin/install-dash-to-dock.sh: Installation complete.
Persistence partition of '200MB' added ...
Respun ISO created as 'linuxium-persistence-v4.12-rc7-ubuntu-17.10-alpha1-desktop-amd64.iso'.

and the respun ISO can be downloaded from here (ISO removed due to Lenovo BIOS issues).

Please donate if you find the script useful using the following link http://goo.gl/nXWSGf as everything helps with development costs.