Thursday, 22 June 2017

Third look at Ubuntu 17.10: spicing up Artful

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


For this look at the latest daily build of Ubuntu 17.10 (Artful Aardvark) I've not only respun the ISO with the latest kernel and wifi/bt drivers together with some additional useful packages but I've also added the Cinnamon desktop.

The result is rather nice.

Canonical may be concerned about people's reaction to their decision that Ubuntu 17.10 will drop Unity and use GNOME 3.0 for the default desktop as they recently ran a poll to collect data on usefulness of some GNOME Shell extensions including 'Dash to Dock'. They have just published the results from the 18,330 responses ( which show an overwhelming interest for 'Dash to Dock'.

1 for not very useful and 5 for very useful

They suggest "Perhaps we work with upstream GNOME to provide a setting we could override which shows the dash outside of just the activities view".

Well given that not everyone likes GNOME 3.0 and Linux Mint is gaining popularity, when I saw the news that Cinnamon 3.4 had been released and "Here’s How To Install it on Ubuntu" I thought why not spice up Artful Aardvark?

Using my '' script I created the respun ISO with the following command: -i artful-desktop-amd64.iso -u -p "$(cat cinnamon-package-dependencies-for-artful.txt)" -p "ssh openssh-server inxi" -l google-chrome-stable_current_amd64.deb -l rtl8723bt_4.12.0_amd64.deb -f cinnamon-packages-isorespin/usr/src -f 50-ubuntu.conf -f -f -f -f -c "mv /usr/local/bin/src/*.deb /var/cache/apt/archives" -c "rm -rf /usr/local/bin/src" -c "apt-get install -y /var/cache/apt/archives/*.deb" -c "rm -f /var/cache/apt/archives/*.deb" -c "mv /usr/local/bin/50-ubuntu.conf /usr/share/lightdm/lightdm.conf.d" -c -c -c "sed -i 's?/usr/share/themes/Adwaita/backgrounds/adwaita-timed.xml?/usr/share/backgrounds/warty-final-ubuntu.png?' /usr/share/glib-2.0/schemas/org.cinnamon.desktop.background.gschema.xml" -c "glib-compile-schemas /usr/share/glib-2.0/schemas" -s 200MB

The key features of the respun ISO are:
  • Based on the Ubuntu 17.10 (Artful Aardvark) Daily Build from 19th June
  • Upgraded with the latest Ubuntu mainline v4.12-rc6 kernel
  • Includes the packages ssh, openssh-server, inxi and Google Chrome
  • Includes the RTL8723BS and Broadcom wifi/bt firmware
  • Includes the ALSA UCM files
  • Configured with Cinnamon 3.4 desktop
  • Has a persistence partition of 200MB
  • Uses the rEFInd boot manager (with GRUB for 32-bit BIOS devices)

so it works on Intel Atom Bay Trail/Cherry Trail and Intel Apollo Lake devices. And now for the first time I've see wifi working on the Minix NEO Z83-4:

If you want to respin the ISO yourself you will need to resolve the issue that the Cinnamon repository is only currently available up to 'zesty'. The steps I took were as follows:
  1. Fetch the Ubuntu 17.04 ISO
  2. Respin the Ubuntu 17.04 ISO with Cinnamon
  3. Extract the file system from the ISO
  4. Capture all the packages that were installed in the ISO
  5. Identify which packages in the Cinnamon repository were actually installed in the ISO
  6. Download those installed Cinnamon packages
  7. Fetch the Artful ISO
  8. Derive the package dependencies required by the Cinnamon packages in Artful
  9. Prepare a configuration file to boot a Cinnamon session
  10. Download the Google Chrome package

Using the following commands:

wget -i ubuntu-17.04-desktop-amd64.iso -r "ppa:embrosyn/cinnamon" -p cinnamon -p blueberry
mv linuxium-ubuntu-17.04-desktop-amd64.iso cinnamon-linuxium-ubuntu-17.04-desktop-amd64.iso
mv isorespin.log cinnamon-17.04-isorespin.log
sudo mount cinnamon-linuxium-ubuntu-17.04-desktop-amd64.iso /mnt
sudo unsquashfs /mnt/casper/filesystem.squashfs
sudo umount /mnt
mv squashfs-root cinnamon-17.04-squashfs-root
sudo chroot cinnamon-17.04-squashfs-root dpkg -l > all-packages-in-cinnamon-17.04.txt
for PACKAGE in $(grep Package  cinnamon-17.04-squashfs-root/var/lib/apt/lists/ppa.launchpad.net_embrosyn_cinnamon_ubuntu_dists_zesty_main_binary-amd64_Packages | sed 's/^Package: //'); do echo "'ii  ${PACKAGE}'"; grep "ii  ${PACKAGE}" all-packages-in-cinnamon-17.04.txt; done  | grep -v "'" | sed 's/^ii  //' | sed 's/ .*//' | sed 's/:amd64$//' > cinnamon-packages-in-cinnamon-17.04.txt -i ubuntu-17.04-desktop-amd64.iso -r "ppa:embrosyn/cinnamon" -d "$(cat cinnamon-packages-in-cinnamon-17.04.txt)" -o /usr/src
rm linuxium-ubuntu-17.04-desktop-amd64.iso
rm isorespin.log
sudo rm -rf isorespin/usr/src/linux-headers-4.10.0-19/ isorespin/usr/src/linux-headers-4.10.0-19-generic/
mv isorespin cinnamon-packages-isorespin
wget -O artful-desktop-amd64.iso -i artful-desktop-amd64.iso -f cinnamon-packages-isorespin/usr/src -c "mv /usr/local/bin/src/*.deb /var/cache/apt/archives" -c "rm -rf /usr/local/bin/src" -c "apt-get install -y /var/cache/apt/archives/*.deb" -c "rm -f /var/cache/apt/archives/*.deb"
rm -f linuxium-artful-desktop-amd64.iso
mv isorespin.log cinnamon-package-dependencies-for-artful-isorespin.log
sed -z 's/or\n/or /g' cinnamon-package-dependencies-for-artful-isorespin.log | tr -s ' ' | grep 'Depends: ' | sed 's/.*Depends: //' | sed 's/ but it is not installable//g' | sed 's/(.*)//' | sed 's/.*or \([^ ]*\) or.*/\1/' | xargs > cinnamon-package-dependencies-for-artful.txt
sed 's/ubuntu/cinnamon/' cinnamon-17.04-squashfs-root/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf > 50-ubuntu.conf 

As I had already copied the other required local package and script files into the directory I then respun the Artful ISO using the command above creating the following (abridged for readability) log file:

Script '/usr/local/bin/' called with '-i artful-desktop-amd64.iso -u -p wmctrl bluez-tools gnome-icon-theme-symbolic gir1.2-keybinder-3.0 gir1.2-javascriptcoregtk-3.0 gksu python-imaging python-gi-cairo python-pexpect st
reamer gnome-panel gnome-icon-theme gnome-icon-theme-symbolic inxi gist -p ssh openssh-server inxi -l google-chrome-stable_current_amd64.deb -l rtl8723bt_4.12.0_amd64.deb -f cinnamon-packages-isorespin/usr/src -f 50-ubuntu.conf -f l -f -f -f -c mv /usr/local/bin/src/*.deb /var/cache/apt/archives -c rm -rf /usr/loca
l/bin/src -c apt-get install -y /var/cache/apt/archives/*.deb -c rm -f /var/cache/apt/archives/*.deb -c mv /usr/local/bin/50-ubuntu.conf /usr/share/lightdm/lightdm.conf.d -c -c wrapper-linuxium- -c sed -i 's?/usr/share/themes/Adwaita/backgrounds/adwaita-timed.xml?/usr/share/backgrounds/warty-final-ubuntu.png?' /usr/share/glib-2.0/schemas/org.cinnamon.desktop.background.gschema.xml -c glib-compile
-schemas /usr/share/glib-2.0/schemas -s 200MB' ...
Work directory 'isorespin' used ...
ISO '/usr/src/development/linuxium/isorespin/test/v7.1.0/artful-desktop-amd64.iso' respun ...
Bootmanager 'rEFInd' added ...
Kernel updated with mainline kernel version '4.12.0-041200rc6-generic' ...
Package 'wmctrl' added ...
Package 'gist' added ...
Package 'ssh openssh-server inxi' added ...
Local package '/usr/src/development/linuxium/isorespin/test/v7.1.0/google-chrome-stable_current_amd64.deb' added ...
Local package '/usr/src/development/linuxium/isorespin/test/v7.1.0/rtl8723bt_4.12.0_amd64.deb' added ...
Directory '/usr/src/development/linuxium/isorespin/test/v7.1.0/cinnamon-packages-isorespin/usr/src' added ...
File '/usr/src/development/linuxium/isorespin/test/v7.1.0/50-ubuntu.conf' added ...
File '/usr/src/development/linuxium/isorespin/test/v7.1.0/' added ...
File '/usr/src/development/linuxium/isorespin/test/v7.1.0/' added ...
File '/usr/src/development/linuxium/isorespin/test/v7.1.0/' added ...
File '/usr/src/development/linuxium/isorespin/test/v7.1.0/' added ...
Command run ...
# mv /usr/local/bin/src/*.deb /var/cache/apt/archives
# rm -rf /usr/local/bin/src
# apt-get install -y /var/cache/apt/archives/*.deb
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  build-essential dpkg-dev fakeroot g++ g++-6 gcc gcc-6 gir1.2-gkbd-3.0
  python-pam python-pyinotify python-setproctitle python3-setproctitle
Suggested packages:
  cinnamon-screensaver-x-plugin cinnamon-screensaver-webkit-plugin
  python-pam-dbg python-pyinotify-doc
Recommended packages:
The following NEW packages will be installed:
  blueberry build-essential cinnamon cinnamon-common cinnamon-control-center
  python-pyinotify python-setproctitle python3-setproctitle xapps-common
0 upgraded, 75 newly installed, 0 to remove and 38 not upgraded.
Need to get 26.9 MB/44.4 MB of archives.
After this operation, 180 MB of additional disk space will be used.
Get:1 artful/main amd64 python-setproctitle amd64 1.1.10-1build1 [14.5 kB]
Get:42 artful/main amd64 policykit-1-gnome amd64 0.105-6ubuntu2 [24.0 kB]
Extracting templates from packages: 100%
Fetched 26.9 MB in 23s (1127 kB/s)
Selecting previously unselected package python-setproctitle:amd64.
(Reading database ... 204306 files and directories currently installed.)
Preparing to unpack .../00-python-setproctitle_1.1.10-1build1_amd64.deb ...
Unpacking python-setproctitle:amd64 (1.1.10-1build1) ...
Preparing to unpack .../74-policykit-1-gnome_0.105-6ubuntu2_amd64.deb ...
Unpacking policykit-1-gnome (0.105-6ubuntu2) ...
Setting up libquadmath0:amd64 (7.1.0-6ubuntu2) ...
Processing triggers for dbus (1.10.10-1ubuntu2) ...
# rm -f /var/cache/apt/archives/*.deb
# mv /usr/local/bin/50-ubuntu.conf /usr/share/lightdm/lightdm.conf.d
./ Extracting UCM files ...
./ Installing UCM files ...
./ Reloading UCM driver ...
./ Installation of UCM finished 
./ Extracting Broadcom files ...
./ Installing Broadcom files ...
./ Reloading Broadcom driver ...
./ Installing Broadcom bluetooth service ...
./ Starting Broadcom bluetooth service ...
Running in chroot, ignoring request.
./ Installation of Broadcom finished 
# sed -i 's?/usr/share/themes/Adwaita/backgrounds/adwaita-timed.xml?/usr/share/backgrounds/warty-final-ubuntu.png?' /usr/share/glib-2.0/schemas/org.cinnamon.desktop.background.gschema.xml
# glib-compile-schemas /usr/share/glib-2.0/schemas
Persistence partition of '200MB' added ...
Respun ISO created as 'linuxium-persistence-v4.12-rc6-artful-desktop-amd64.iso'.

As you can see I used my '' script four times in total adding repos, installing packages, adding and running scripts, adding files and directories, downloading packages, running commands, outputting directories and of course respinning the ISO.

Please donate if you find the script useful using the following link as everything helps with development costs.


  1. Did you already see this patch:
    This could fix a bug I find in the dmesg currently.
    [RTL8723BS: ERROR sd_recv_rxfifo: alloc recvbuf FAIL!]

    I am currently using your last respin:
    linuxium-v4.12-rc4-ubuntu-17.04-desktop-amd64.iso on a Lenovo Ideapad 100S-11iby and it works pretty well. I am running it off of an SD-card, so I can keep Windows in case I need the Microsoft Office Suite. One bug I have though, is that since I think kernel version 4.12 my battery LED is blinking white while the Laptop is running and the battery indication seems to be wrong (37% all the time). It also keeps blinking, when the laptop is off, but then the color turns to orange. Do you have any idea, as to what this might be related to? Can you help me troubleshoot this?
    Thanks for all the work you put into this project!

    1. I saw the original post and I'm hoping that Tomas posts a patch as it reads like he is working on one.

      I can't test the battery indicator as I don't have an Intel Atom based laptop or device but I can't find any bug reported on it. Have you tried reporting it on bugzilla?

    2. Thanks for your reply, no I have not, but I have just verified, that it changes from kernel 4.11 to 4.12, as I installed 4.11.6 and don't see the "problem". No blinking and also the battery gets reported correctly. Maybe I'll just give your latest respin a go and see if it has already been fixed, before I report the bug. One thing I haven't figured out yet, is where I can find all the files required for respinning, but maybe I ll just have to search a bit. I currently need the laptop to be productive in linux at the university, so my time to fiddle around is rather limited. But if I find a fix to my problems, I ll certainly post them here and let you know. Maybe you can integrate them in future builds then.
      Forget what I just said. I found the files along with your great tutorial! I really appreciate it. I once made a similar tutorial on xda and know how much time you have to put into it! Once I am done with university, you ll certainly be among the first persons to get a financial thanks ;)

  2. Thanks ever so much for this! Much appreciated! Going to try it right now

  3. Can you send normal iso not dd one?

    1. I don't understand what you mean. Can you rephrase your question?

    2. ISO is brouken. Not working on Virtual box and no possible to open it showing mestake.

    3. ISO works! And working in VirtualBox!

      First create a raw 'vmdk' file from the ISO using the command 'VBoxManage internalcommands createrawvmdk -rawdisk linuxium-persistence-v4.12-rc6-artful-desktop-amd64.iso -filename linuxium-persistence-v4.12-rc6-artful-desktop-amd64.vmdk'. Next create your VM and for 'Hard disk' use your existing virtual hard disk file (i.e. the newly created linuxium-persistence-v4.12-rc6-artful-desktop-amd64.vmdk) and then under 'Settings' and 'System' check the 'Enable EFI (special OSes only)' box and then 'OK'. Finally boot by clicking 'Start'.

    4. DD iso not allow edit files inside USB, but i need edit grub.cfg to add set timeout=10
      set default=0

    5. As it is a 'live' ISO I haven't included the ability to modify the ISO 'grub.cfg' other than to add Kernel Boot Parameters using the '-g' option which I will extend to including in '/etc/default/grub' in the next release (v7.1.2).

  4. This comment has been removed by a blog administrator.

    1. Comments with advertising links are not allowed.

  5. I installed v4.12-rc6 on my tablet teclast x90hd (Intel Bay Trail z3735d, 2GB Ram). The system runs slightly slower than the windows 10. Touch screen, wifi, sound work well. Brightness adjustment of the screen, bluetooth, card reader, accelerometer and screen rotation do not work. Sometimes after exiting the standby mode when idle, the devices connected via usb otg do not work (reconnect do not help) and sound stopped working (device not found), after reboot - all ok.

    1. как сделал тач и звук? остальное нельзя завести?

    2. Тач и звук завелся сразу без проблем

  6. I haven't tried this varient out but I love the look of the Cinnamon desktop environment and I have used quite a few of your modified Ubuntu distros and I love how they get better over time. I will try this one when I'm on wifi.

  7. hm, writing the iso to usb with unetbootin and i only end up with 5 files not a whole install session, did i do something wrong?

    1. I using recommend 'dd' (or 'Rufus' if on Windows).

    2. got it, thanks so much !

  8. Good day! Thx for your work!
    I have ezbook 3 and in bios there no options to boot linux but when i boot with rEFInd installation end success but abter reboot system do tot boot and stuck on bootloader ( Grub ) maybe you can make ISO that have rEFInd on installed system?

    1. The rEFInd boot manager isn't included within an official Ubuntu ISO and so you have to manually install it as a post-installation activity.

  9. Works great on Pipo X7 (tv box) - Z3735F with 2GB of ram. WiFi and sound work. Did not check BT (I'm sure it does too). However, playing YouTube at 720p makes video choppy. I have installed proprietary drivers in repository, whatever was available, but that did not solve the problem. Could this be due to running this from a USB stick? Also, ram usage was 1.3GB in idle (1.6GB during YouTube payback at 720p - Chrome) which is shocking as:
    1) I have only 1.9xxGB of physical memory
    2) Win10 32bit takes only 0.9GB in idle (1.2GB during YouTube payback at 720p - Edge).

    For me, the main idea going Linux is to drop the extra weight and squeeze every bit of performance out of these Atom boxes.

    Since I'm am a Linux noob, and respinning to me is bit like voodoo, would it be possible for you to do your respinning magic but with Lubuntu 16.04 LTS?

    Just a suggestion. Thanks in advance.

    1. The speed of the USB might impact performance but certainly using Lubuntu with Firefox works well.

      Respinning an ISO is quite easy and for the Pipo X7 you'll only need as a minimum my RTL8723BS package, the UCM script and to upgrade the kernel so the command would be './ -i lubuntu-17.04-desktop-amd64.iso -u -l rtl8723bs_4.12.0_amd64.deb -f -f -c' and you would just need to download the files and the ISO first.

    2. Thanks for the info. I will go back to one of your tutorials and re-read it, but my last attempt ended in an epic fail (I couldn't even get your spinner script to work). Yes, I am a point-and-click user and command lines are just not for me. "sudo apt-get update" is the limit of my knowledge :). Yes, I use Windows on a daily basis.

      Going back to re-spinning ISOs. Since we are slipping in latest kernel and drivers, it doesn't matter which version I use, correct? For example (L)UBUNTU 16.04LTS vs (L)UBUNTU 17.10. My only reason going LTS are the updates. I don't want to be re-spinning new ISO's every 12 months. Also, since I am hopeless with the Terminal, is there a way to visually slip in these drivers into the appropriate folders in the ISO? For example, doing this in WIN 10, you would mount the Linux ISO, then open the appropriate folders and just copy/paste the needed drivers?

    3. You can use either 16.04 or 17.10 although 16.04.2 may be better for you from your explanation.

      If you just type '' it will open the script with a GUI which may be easier for you.

      Finally what device do you have and what do you want to get from the respun ISO as I can suggest the best command for you to run if that helps?

  10. I have a Pipo X7 (Z3736F - mistake above), which is a Chinese box with supposedly genuine Intel guts.

    It is hooked up via HDMI to my semi-smart TV (HDMI works in your respin as well) and is the main "brain" for multimedia. I use it primarily to watch Netflix and Youtube and listen to online radio. Win10 works great on this box but I am tired of MS forcing updates on you, some of which change the feel of the OS, and in general want something different. Something simple (like Android), robust and easy on the sys. hardware. I am also hoping that the switch will provide me with smooth Netflix playback in Chrome. Right now (in Win 10) I use Edge as it is the only browser not choking. Firefox, Chrome, Opera, all start studdering during Netflix playback after about 10-15 mins - which is a mystery on its own. And yes, I have done everything under the sun to remedy the problem and came to the conclusion that either Win8/10 32bit torpedoes the operation of the competing browsers, or the Z3736F platform isn't powerful enough (but yet HD playback is smooth using VLC or Edge), or the guts are not genuine Intel. Anyhow, going off topic here.

    So this is my project, making a Linux (Lubuntu?) smart TV box to remedy my video "studdering" problem. I have Ubuntu on two other older laptops and have been using Ubuntu on/off in my spare time for the past 2 years or so. The Windows realm I know inside and out, but Linux is a new beast that I would like to master.

    1. So to respin an ISO for the Pipo X7 based on what you describe you'll need to download '', 'rtl8723bs_4.12.0_amd64.deb', '' and '' from '' and the 'lubuntu-16.04.2-desktop-amd64.iso' ISO from '' and then run the command './ -i lubuntu-16.04.2-desktop-amd64.iso -u -l rtl8723bs_4.12.0_amd64.deb -f -f -c'. Write the respun ISO to a USB using 'dd' and then boot your Pipo X7 from it.

  11. Fantastic, I'll give it a go on the weekend and will report back. BTW, can I just copy/paste your commands without the ' '? Also, should I leave my downloads in the "downloads" folder or can I keep them on my desktop (Ubuntu)? Originally your file was on my desktop and pasting into the terminal didn't do anything.

    1. If you leave the downloads in you 'Downloads' directory but change directory to there before trying to run the script (i.e. first enter 'cd ~/Downloads') you can just copy/paste the commands (without the '').

    2. I have tried and no-go. Per your suggestion, I had all the files, including the Lubuntu ISO, in my Downloads folder. I have navigated to 'cd ~/Downloads' and copy/pasted your commands without the ''.

      1st error
      bash: ./ Permission denied

      So I run it with sudo before the ./xxxxxx. Punched in my sudo password and I got...

      2nd error
      sudo: ./ command not found

      Since I am hopeless with the Terminal, how do I get your GUI working?

    3. It seems the permissions changed on the script after you downloaded it. Open a terminal windows and enter:
      cd ~/Downloads
      sudo chmod 755
      ./ -i lubuntu-16.04.2-desktop-amd64.iso -u -l rtl8723bs_4.12.0_amd64.deb -f -f -c

    4. error:
      Please ensure package 'xorriso' or equivalent for your distro is installed.

      But I think we might be getting closer.

      BTW, I also installed Lubuntu on my laptop just to see if this exercise makes even sense:
      Intel® Pentium(R) Dual CPU T3200 @ 2.00GHz × 2
      RAM 2.9 GB
      Mobile Intel® GM45 Express Chipset

      ... and I found out that:
      1. Lubuntu after loading in idle takes half the RAM memory than Ubuntu. 4xxMB vs 8xxMB
      2 Netflix playback in Chrome takes 1-1.1GB of RAM in Lubuntu, vs 1.4-1.5GM of RAM in Ubuntu
      3. Lubuntu loads, and shuts down way quicker. Chrome loads faster and things are snappy. Yes, the GUI is not as polished as Ubuntu and it is not loaded with the Ubuntu "gizmos", but it is not bad looking.

      Still interested in loading Lubuntu on the Atom box, but if not, I will use one of your patched Ubuntu distros which I have already downloaded.

    5. The error is as as expected if required packages are missing. So now run the following commands to install everything (just in case some others are missing):

      sudo apt-get update
      sudo apt-get install -y bc losetup ip isoinfo mkdosfs mksquashfs rsync unsquashfs unzip wget xargs xorriso

      and then you should be able to run the script now with:

      cd ~/Downloads
      ./ -i lubuntu-16.04.2-desktop-amd64.iso -u -l rtl8723bs_4.12.0_amd64.deb -f -f -c

    6. "sudo apt-get install -y bc losetup ip isoinfo mkdosfs mksquashfs rsync unsquashfs unzip wget xargs xorriso"

      ..did not work but...

      "sudo apt-get install xorriso"

      ..did. Then I ran your script above...

      "cd ~/Downloads
      ./ -i lubuntu-16.04.2-desktop-amd64.iso -u -l rtl8723bs_4.12.0_amd64.deb -f -f -c"

      ..and in my Downloads folder now I have...

      I will see if it works and post back my results. Thanks for your help and patience!

    7. Yes I should have suggested the packages and not the commands themselves making the installation command 'sudo apt install -y bc klibc-utils iproute2 genisoimage dosfstools squashfs-tools rsync unzip wget findutils xorriso' but it didn't matter as my script correctly checks for them and normally you only need to additionally install 'xorriso' and/or 'squashfs-tools' if respinning on Ubuntu.

      So did your respun ISO work?

    8. Yes, the ISO worked! In the same way I have also made an Ubuntu 16.04LTS ISO. Both of them worked - WIFI, sound, HDMI all works in both spins (did not test BT).

      Installed both. Overall I like the feel and look of Ubuntu as I am used to it, but it is so resource heavy. 1080p video in Youtube still studders which really puzzles me. I partially think this is due to the WIFI drivers, because the same video played tad better via USB WIFI... and partially because the onboard video card is just weak. Pretty much the same hardware powers my Asus T100TA netbook and I have no video problems there. Saying this, Asus runs on 1368x768 resolution (not 1920x1080).

      Lubuntu in video playback is better but still studders on the same Youtube 1080p video via the same USB WIFI stick. However, with system taxed, RAM usage stayed under 1GB vs 1.5GB in Ubuntu. I had to decrease desktop resolution to 1368x768 in order to remedy the problem. Videophones will probably frown on this but I can't tell the difference in picture quality.

      So this is it for anyone who has the same Pipo X7 using it for a similar purpose. Ubuntu will run with the scripts and files found on this website, and you can probably respin any Ubuntu flavour.

      Thanks for your help!

    9. Great and good to know everything works now using my script.

  12. i really love this build, but run into a problem. i use it as a live-stick, but after some updates it boots into the artful-desktop and not into the cinnamon-desktop. when i try to login in the wished desktop i am forced for a user and a password. could you please help?

    1. Right now Cinnamon 3.4 isn't officially supported for Ubuntu 17.10 so you may experience anomalies. Have you tried selecting the Cinnamon desktop by clicking on the small logo icon to the right of your username on the login screen?

  13. thank you for relpying. yes i tried all the logos but i didn't get access. never mind, i installed it new ....

  14. I'm owner of a EzBook 3 Pro und i try install this ISO on it. At first i install the rEFInd boot manager usin Windows.
    The boot process stuck always with the message:
    Starting grubx64.efi
    Using load options ''
    I have no idea how it should go on.

    1. Try a later ISO like the one from

  15. hi linuxium

    thanks heaps for your informative blog! I was just about to give up on my cube iwork 5x ever running linux before I tried one of your ISO's. It works great and all the hardware is supported (besides some weird issue where the touchpad works but not the builtin buttons - though you can click with it).

    I have a question though, how would I replicate this with manjaro linux (as that is the OS which i was trying to install initially) - there does not seem to be much information out there about how to replace grub on a livecd?

    I only need it for an apollo lake pc (from your post it seems to be the simpler of the two to make the iso for ubuntu).

    any assistance would be greatly appreciated, and i would not mind dropping you a donation to express my gratitude ;)

    1. Manjaro is based on Arch and I've only looked at Ubuntu/Ubuntu based ISOs so I can't really comment.

    2. do any of your posts detail what exactly the apollo lakes require though? my machine doesnt seem to need any special drivers (wireless etc) but i know your script changes some of the boot parameters to aid booting.

      i have refind installed as my windows bootloader so thats one problem solved (finds and boots linux as well)

    3. Apollo Lake is so new and as I've only got one device it is very difficult to generalize what might be necessary. So far I've found that if the BIOS does not explicitly support Linux and booting an official ISO does not work then booting using the rEFInd boot manager is possible. Therefore at this stage I just add the rEFInd boot manager by default for Apollo Lake support and will extend as necessary as more is learnt about devices with the Apollo Lake SOC.

    4. ah so the only change which is made to the iso by using the -apollo flag is to replace grub with the refind boot manager?

    5. Currently yes. And whilst not exactly complicated it makes it easier to respin ISOs for specific SOCs without having to remember what is actually required.

  16. hello,
            When i execute
           spript '/usr/local/bin/' called with '-i artful-desktop-amd64.iso -u -p wmctrl bluez-tools gnome-icon-theme-symbolic gir1.2-keybinder-3.0 gir1.2 -javascriptcoregtk-3.0 gksu python-imaging python-gi-cairo python-pexpect st
    reamer gnome-panel gnome-icon-theme gnome-icon-theme-symbolic inxi gist -p ssh openssh-server inxi -l google-chrome-stable_current_amd64.deb -l rtl8723bt_4.12.0_amd64.deb -f cinnamon-packages-isorespin / usr / src -f 50-ubuntu.conf -fl -f -f -f -c mv / usr / local / bin / src / *. deb / var / cache / apt / archives -c rm -rf / usr / loca
    l / bin / src -c apt-get install -y /var/cache/apt/archives/*.deb -c rm -f /var/cache/apt/archives/*.deb -c mv / usr / local / bin / 50-ubuntu.conf /usr/share/lightdm/lightdm.conf.d -c -c wrapper-linuxium- -c sed -i 's? /usr/share/themes/Adwaita/backgrounds/adwaita-timed.xml? /usr/share/backgrounds/warty-final-ubuntu.png?' / usr /share/glib-2.0/schemas/org.cinnamon.desktop.background.gschema.xml -c glib-compile
    -schemas /usr/share/glib-2.0/schemas -s 200MB '

         script: invalid option - i

        What is the problem?


    1. It is probably miss-interpreting the 'sed' command as you have to be very careful with quotes and double quotes. The solution I recommend is to write and include 'wrapper' scripts to prevent issues with quotes and glob patterns.

    2. hello, linuxium, i copy your code to the terminal, but when i run, he will prompt
      'script: invalid option - i', do you have a simpler way? What is script?

    3. What command did you enter?

    4. Hello, I follow the steps above to get ISO, but he can not recognize wifi and bluetooth.

    5. Wifi requires kernel v4.12 or v4.13.2 and later or v4.14-rc1. Bluetooth requires a patch that is still waiting for review so if required means compiling your own kernel.

  17. I obtain the following error:
    Cannot add PPA: 'ppa:~embrosyn/ubuntu/cinnamon'.
    ERROR: '~embrosyn' user or team does not exist.

    1. Hey lifedj, shouldn't this be 'sudo add-apt-repository ppa:embrosyn/cinnamon' instead?

    2. The problem after the execution of the second command: -i ubuntu-17.04-desktop-amd64.iso -r "ppa:embrosyn/cinnamon" -p cinnamon -p blueberry

      The complete log is the following:

      created 112482 files
      created 16964 directories
      created 27397 symlinks
      created 7 devices
      created 0 fifos
      Extracting isorespin files ...
      Processing bootloader/bootmanager ...
      Adding repositories ...
      WARNING:root:system-image-cli failed, using defaults: [Errno 13] Permission denied: '/dev/null'
      WARNING:root:system-image-cli failed, using defaults: [Errno 13] Permission denied: '/dev/null'
      WARNING:root:system-image-cli failed, using defaults: [Errno 13] Permission denied: '/dev/null'
      Cannot add PPA: 'ppa:~embrosyn/ubuntu/cinnamon'.
      ERROR: '~embrosyn' user or team does not exist.
      ./ Adding repository 'ppa:embrosyn/cinnamon' failed.

    3. Comment notification failed recently so I have a backlog of comments to read and reply to hence the delay with this response.

      The 'ubuntu-17.04-desktop-amd64.iso' ISO is EOL. Use the '17.10.1' one as this works as the repo is valid for the release.

  18. Hi,
    I would like to respin Ubuntu 16/18 image on Ubuntu 16. I got:
    ubuntu-18.04.1-desktop-amd64.iso --atom
    Extracting ISO ...
    Parallel unsquashfs: Using 4 processors
    140111 inodes (157326 blocks) to write

    [===========================================================================================================-] 157326/157326 100%

    created 112666 files
    created 16997 directories
    created 27412 symlinks
    created 7 devices
    created 0 fifos
    Extracting isorespin files ...
    Processing bootloader/bootmanager ...
    cp: failed to preserve ownership for 'mnt/efi/boot/bootx64.efi': Operation not permitted
    cp: failed to preserve ownership for 'mnt/efi/boot/grubx64.efi': Operation not permitted
    cp: failed to preserve ownership for 'mnt/efi/boot': Operation not permitted
    cp: failed to preserve ownership for 'mnt/efi': Operation not permitted
    Installing local packages ...
    /bin/bash: line 12: gdebi: command not found
    /usr/local/bin/ Local package 'rtl8723bt_4.12.0_amd64.deb' failed to install correctly.

    I have installed gdebi, but it does not helps. I am using latest 8.2.6

    1. I have read

      I have just recognised it will work only with Ubuntu 17..

    2. The current (latest) version of the script works on Ubuntu 16.04 LTS.