Thursday, 20 July 2017

Sixth look at Ubuntu 17.10: 'julyshakedown'


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


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 ('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.

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