Wednesday 29 March 2017

Running Ubuntu with an Upstream Kernel on Intel Bay and Cherry Trail Devices

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


In the past Intel Atom based mini PCs with Bay Trail and Cherry Trail SOCs required customized kernels to provide HDMI audio. As of version 4.11 the mainline kernel will include support for HDMI audio on Intel Atom SoCs and early release candidates are already available. The latest mainline kernel also includes a number of other patches including AXP288, I2C and the latest anti-freeze patches. Canonical build upstream kernels based on these release candidates and they have just released 'deb' packages using the first Ubuntu version 4.11 kernel configuration file.

In anticipation that the v4.11 kernel will be included in Ubuntu 17.10 thereby removing the basic need for customized kernels, I am now providing an interim migration path that allows the latest v4.11 Ubuntu kernel build to be used with Ubuntu ISOs.



Using a script that I've developed you can respin an existing Ubuntu ISO so that you can boot it from a device with either a 32-bit bootloader or a 64-bit bootloader and optionally update it with the latest Canonical Ubuntu build of an upstream kernel.

Update: 
Linux Mint ISOs are now supported using the updated latest version of the script isorespin.sh

To respin an existing Ubuntu ISO you will need to use a Linux machine with 'squashfs-tools' and 'xorriso' installed (e.g. 'sudo apt install -y squashfs-tools xorriso') and a working internet connection with at least 10GB of free space. Having downloaded an ISO (for example 'ubuntu-16.04.2-desktop-amd64.iso' simply download my (latest version of the) script isorespin.sh and run with the ISO as a parameter (e.g. './isorespin.sh ubuntu-16.04.2-desktop-amd64.iso'). Or to respin and update the kernel include a '-u' or '--update' option (e.g. './isorespin.sh --update ubuntu-16.04.2-desktop-amd64.iso'). Note: if you get the unexpected error 'File must be an Ubuntu ISO ... exiting.' when running the script on a non-Ubuntu platform then make the following one-off update to the script by running the command 'sed -i "49,53d;59d" isorespin.sh' which should then enable it to run without issue.

You can respin the latest available ISOs include the recently released 17.04 Beta 2 of any flavour including Ubuntu, Lubuntu, Xubuntu etc, as well as respinning earlier releases such as 16.04.2 or 14.04.5 for example.



As some wifi/bluetooth driver and userspace files are still required I've provided additional scripts to support RTL8723BS and various Broadcom chipsets as well as the ALSA UCM files for some audio chipsets used for headphones. The scripts can be run whilst using the ISO as a 'LiveCD' to provide wifi connectivity (assuming they have been previously downloaded and are accessed from USB or similar). Once an ISO has been installed the scripts can be run to install the additional functionality.

For the RTL8723BS chipset your first option is to download and run linuxium-install-rtl8723bs.sh which will build the wifi and bluetooth drivers from source and this requires a working internet connection. Alternatively you can download and run linuxium-install-rtl8723bs-binaries-for-4.11.0-rc4.sh (see Update: below for the latest version) which installs prebuilt binaries from the same source but does not require the internet. This second script only works for the Ubuntu built upstream kernel defined by the script name.

For Broadcom chipsets you can download and run linuxium-install-broadcom-drivers.sh which should get wifi and bluetooth working for most of the popular Broadcom chipsets (as I don't have the devices to do extensive testing unfortunately). If you run this script with an internet connection it will also update the Broadcom firmware with the latest upstream firmware from Google's ChromiumOS which may help for other Broadcom based devices.

Note that in both cases the bluetooth service requires 'systemd' (as used by 17.04 and 16.04) so earlier Ubuntu versions will need a manual configuration to run the service.

Finally for updating the UCM files where you have a headphone jack you will need an internet connection before downloading and running linuxium-install-UCM-files.sh which provides audio for devices with the 5640 and 5640 chipsets.

A new kernel release candidate is released each week prior to the final version and you can go to http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D to check the latest version which will be displayed first.

If you want to respin ISOs with a release candidate later than 'rc4' simply edit 'isorespin.sh' and change the first couple of lines
MAINLINE_BRANCH="v4.11-rc4"
MAINLINE_KERNEL_VERSION="4.11.0-rc4"
to match the required version.

Update:
Mainline kernel v4.11-rc5 includes a new patch for the RTL8723BS wifi driver that improves speed and reliability. So I've uploaded an updated version of my script isorespin.sh preconfigured for v4.11-rc5 together with a new script linuxium-install-rtl8723bs-binaries-for-4.11.0-rc5.sh which installs the prebuilt wifi and bluetooth binaries compiled for v4.11-rc5. This version of the script now additionally supports Linux Mint ISOs.

Finally if you find my work useful then please donate using the following link http://goo.gl/nXWSGf as everything helps with development costs.

120 comments:

yannickmodahgouez said...

Thank you ! I was struggling with my broadcom bt driver last night so this post comes just at the right time.
Some feedback here : in linuxium-install-broadcom-drivers.sh you're missing a check on 'unzip'. If it is not present on the system it will fail without an error.

Linuxium said...

Thanks for the feedback. I designed it to fail without error to allow the script to install the Broadcom driver without an initial internet connection. Because it is a kind of 'chicken and egg' problem. After running the script you should get working wifi. However if the Broadcom wifi driver still doesn't work I recommend connecting to the internet (using a dongle if required) and re-running the script to see if the latest upstream Broadcom firmware fixes wifi.

Unknown said...

This script seems to depend closely on specific versions of some utilities. Running it on debian testing fails with "File must be an Ubuntu ISO ... exiting". adding a "set -x" at the start of the file shows the problem :

charpent@asus16-ec:~/Temporaire/Linuxium$ ./isorespin.sh ubuntu-gnome-17.04-beta2-desktop-amd64.iso
+ MAINLINE_BRANCH=v4.11-rc4
+ MAINLINE_KERNEL_VERSION=4.11.0-rc4
+ MAINLINE_URL=http://kernel.ubuntu.com/~kernel-ppa/mainline
+ GET_ISO ubuntu-gnome-17.04-beta2-desktop-amd64.iso
+ UPDATE_KERNEL=false
+ case $# in
+ case "$1" in
+ ISO=ubuntu-gnome-17.04-beta2-desktop-amd64.iso
++ readlink -f ubuntu-gnome-17.04-beta2-desktop-amd64.iso
+ ISO=/home/charpent/Temporaire/Linuxium/ubuntu-gnome-17.04-beta2-desktop-amd64.iso
+ '[' '!' -f /home/charpent/Temporaire/Linuxium/ubuntu-gnome-17.04-beta2-desktop-amd64.iso ']'
++ file -b /home/charpent/Temporaire/Linuxium/ubuntu-gnome-17.04-beta2-desktop-amd64.iso
+ ISO_TYPE='DOS/MBR boot sector; partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 2814232, 4608 sectors'
+ '[' 'DOS/MBR boot sector; partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 2814232, 4608 sectors' '!=' 'x86 boot sector' ']'
+ echo './isorespin.sh: File must be an Ubuntu ISO ... exiting.'
./isorespin.sh: File must be an Ubuntu ISO ... exiting.
+ exit
Any suggestions ?

Unknown said...

I bypassed the difficulty by commenting out the problematic test.

I also had to install xorriso ; this should be mentioned in the post...

yannickmodahgouez said...

Where can I find the latest broadcom firmwares ?

Linuxium said...

Running the 'linuxium-install-broadcom-drivers.sh' script whilst connected to the internet should download them or you can browse them at https://chromium.googlesource.com/chromiumos/third_party/linux-firmware/+/upstream/master/brcm/ but note that the corresponding '.txt' files are not included and you will have to copy the relevant one for your device from your Windows installation (the Windows driver file is stored in NVRAM and the file should look something like '/sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113' so you would copy it using 'cat /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 > /lib/firmware/brcm/brcm/brcmfmac43241b4-sdio.txt' substituting the actual NVRAM filename on your device and the correct *sdio.txt name for your driver).

Linuxium said...

Thank you for your comments. I've updated the post with the requirement to have 'xorriso' installed ('sudo apt install -y xorriso').

The unexpected error 'File must be an Ubuntu ISO ... exiting.' is because the 'file' command appears to return a different result when running the script on a non-Ubuntu platform. As an alternative to your solution I've updated the post with instructions to make a one-off update to the script by running the command 'sed -i "49,53d;59d" isorespin.sh' which should then enable it to run without issue.

mitcoes said...

I installed Manjaro and the only thing not working was the broadcom bluetooth device. Are this scripts valid for arch based distros? and if not Are you going to add archs and rpms scripts?

thanks for your work

Unknown said...

Two things. First I found out that the hardware video encoding firmware is missing and that it can be downloaded from intels open source site 01.org
./tmp/kbl_guc_ver9_14.bin
./tmp/bxt_guc_ver8_7.bin
./tmp/kbl_huc_ver02_00_1810.bin
./tmp/bxt_huc_ver01_07_1398.bin
./tmp/skl_huc_ver01_07_1398.bin
and moved into /lib/firmware.

#2 Any reason your not using the drm-intel-next branch, and using the mainline. In my case the audio is still broken in the mainline.

Unknown said...

hello
Audio in hdmi is broken.
How to fix it?
Anymone know?

Unknown said...

First thanks for all this scripts, but on my case it does not work.

As I am not a software engineer just a software user, not managed to install the OS on the tablet.

Step that I proceed (On Ubuntu Mate Desktop, install Ubuntu Mate on Tablet)

1. download Ubunut Mate 17.04 amd64 iso Image from official site
2. download mentioned above isorespin.sh
3. execute 'sed -i "49,53d;59d" isorespin.sh'
4. install xoriso 'sudo apt install -y xorriso'
5. run linuxium script (as exmple) './isorespin.sh ubuntu-16.04.2-desktop-amd64.iso'
6. flash to USB the new image (as exmple) 'linuxium-ubuntu-16.04.2-desktop-amd64.iso'
7. move to tablet,.. select BIOS boot form flash, boot to created live image, and install without success.

Trying to respin and to flash the iso two times on USB and install for times(as one third time remain without battery) two without internet two with internet (with internet itakes ~2 hours each install before fail).

Install fail "The 'grub-efi-ia32' package failed to install into /target/...."

Any suggestion are welcomed

Linuxium said...

I've not tested them on distros other than Ubuntu so I can't answer whether they work or not.

Linuxium said...

#1: Yes you can download the firmware if you choose but as per the FAQ on https://01.org/linuxgraphics/downloads/firmware the warnings on missing firmware can be safely ignored for BYT and CHT devices.

#2: The reason is Canonical don't offer binaries based on the drm-intel-next branch but only mainline and this post is all about using distro and not customized software.

Linuxium said...

The official ISOs require internet whilst performing an installation on devices with 32-bit bootloaders. Added to this is the issue that currently devices with RTL8723BS wifi seem to randomly loose wifi after about an hour although a patch is queued for upstream. I recommend you try the installation again using an external USB ethernet adaptor.

Linuxium said...

On what device (manufacturer, make and model number)?

Unknown said...

Once the kernel gets updated to the new version that uses the firmware, it will get included. I have both CHT and BYT.

http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-next/2017-03-21/

:)

Also fyi I use xfce and but love the kde-connect ubuntu to android. Its tested and working on linuxium xen,yak,zes

git clone https://github.com/Bajoja/indicator-kdeconnect.git


(: Compiling kernels since 92, Its was not watching the paint dry. Its painting the house then watching the paint dry :)

Unknown said...

Ian, I switched to using refind to efi boot linux,win,android. I found that the wifi problems stopped. Before It would disconnect at a random interval under 5 mins.

Linuxium said...

But unfortunately the drm-intel-next branch config is still based on v4.10 so HDMI LPE audio isn't configured meaning to use drm-intel-next branch you would still need to manually compile the kernel (which equates to customized software as it is not directly provided by a distributor).

Unknown said...

Thanks Linuxium for pointing explicit the issue. I tried fifth time and I remain again without battery, but on 6 time it install successfully (in three hours). Probably the issue was on USB or ethernet improper connection on my ethernet dongle. In the end after 6 tries and in total of at least 10 hours with trying I succeed installing.
After updating the kernel and trying to install the Wi-fi and bluetooth I mange to make the system to 'complete lock' after finishing the boot and login, so it need another install ... maybe in another day.

Unknown said...

I tried your WiFi/BT patch in 14.04.5 w/ Kernel 4.4.0-71-generic.
WiFi installs correctly.
For BT I had to install systemd, but it still does not load the BT service with error message:
sudo systemctl start rtl8723bsbt.service
Failed to issue method call: Unit rtl8723bsbt.service failed to load: No such file or directory. See system logs and 'systemctl status rtl8723bsbt.service' for details.

Unknown said...

systemctl status rtl8723bsbt.service gives:

Failed to issue method call: No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/systemd1/unit/rtl8723bsbt_2eservice

Unknown said...

The previous 4.4.0-67-generic kernel loads BT as a bonus from installing it in 3.16 kernel.

Unknown said...

The reason I want this is because 4.4.0.xx recognises the sdcard reader.

Last query:

Do you have a pathc for the i915 audio for 4.4.0.xx at all? I can only get it from the Chestermills .debs specifically
oem-audio-i915-baytrail-dkms_0.20150605_all.deb
which are compile only for 3.16 kernel.

Unknown said...

Forget about BT, systemd needed a hard reboot to load BT. So remains a patch for i915 audio if available for Kernel 4.4.0.xx

Unknown said...

I found this git, it starts well the make process, but then chokes at the end.
Intel driver (graphic and HDMI audio) for Baytray Cherrytrail chipsets https://01.org/ubuntu-hdmi
oem-audio-i915-baytrail-0.20160401
https://github.com/mariodebian/oem-audio-i915-baytrail-dkms

As I am not a coder, I cannot fix this :(

Unknown said...

It chokes on this file when compiling:
/oem-audio-i915-baytrail-dkms/oem-audio-i915-baytrail-0.20160401/i915/intel_sprite.c

Linuxium said...

Try compiling the code from http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11-rc4/ with this patch https://patchwork.kernel.org/patch/6137291/ as it mentions the error you are getting.

krone said...

Having some problems running your script on raspbian. Installing the offical ubuntu iso caused the system to freeze on a T100HA, attempting to run the script (on raspbian) and install xubuntu now.

Errors on raspbian are:

$ sudo ./isorespin.sh --update xubuntu-16.04-desktop-amd64.iso
./isorespin.sh: line 49: isoinfo: command not found
./isorespin.sh: Extracting ISO ...
mkdir: missing operand
Try 'mkdir --help' for more information.
sudo: unsquashfs: command not found
mv: cannot stat ‘squashfs-root’: No such file or directory
./isorespin.sh: Fetching mainline debs ...

ISO compiles anyway. Testing if it will install without freeze.

krone said...

yea, that did not work. Installer doesn't even load. I will go back to the linuxium iso.

btw, Is there a way to download from google with wget?

Linuxium said...

I would install the missing programs first as I don't think it will work based on your output. Key Ubuntu packages (with command used) include: dosfstools (mkdosfs), genisoimage (isoinfo), rsync (rsync), squashfs-tools (unsquashfs & mksquashfs), unzip (unzip), wget (wget) and xorriso (xorriso) but note that other distros might package the commands differently.

Unknown said...

2891, The issue I have is if I do not boot first with refind. It gets to the ldm and the system hard locks. I switched to using refind and the system will boot and not hard lock. If your system hard locks first switch back from the rc kernel to the 4.10.10 linuxium kernel.

Unknown said...

You didn't get me, I wish to use 14.04.5 with Kernel 4.4.0-71 and the git is for HDMI audio as I lose audio without using Kernel 3.16.
Using 4.4.0-71, I can get WiFi, BT with your mods, but no audio.
The git I referred you to claims it can get HDMI audio with 4.4 kernels.
But it gives errors with one of the files: intel_sprite.c
I was hoping you could know how to correct the code.

Linuxium said...

The problem is that you want v4.4 as the SD card works but as your audio doesn't work you want to patch the v4.4 kernel however nobody is supporting the earlier HDMI audio patches primarily as an official patch is incorporated into v4.11 and you don't want to use v4.11 as the SD card works.

I haven't looked at the patch you suggested because basically it is history and the code has moved on. I still recommend compiling the v4.11 kernel with the patch I suggested to see if this fixes the SD card as that way you get ongoing support for HDMI audio and only have to worry about one patch for the SD card compared to worrying about continually porting a whole module for each kernel ABI change.

Unknown said...

OK I'll try.
Thanks.

Linuxium said...

An updated version of the 'isorespin.sh' script has been uploaded which removes the need to edit the file when running on non-Ubuntu platforms and also checks for package dependencies prior to running.

Also 4.11-rc5 binaries are now available so if you want to respin ISOs with the latest release candidate kernel then edit 'isorespin.sh' and change the first couple of lines to:

MAINLINE_BRANCH="v4.11-rc5"
MAINLINE_KERNEL_VERSION="4.11.0-rc5"

Linuxium said...

I've now uploaded an updated version of the script to handle these eventualities: there is now no need to run the 'sed' command on non-Ubuntu platforms and the script now checks for package dependencies.

Linuxium said...

Mainline kernel v4.11-rc5 includes a new patch for the RTL8723BS wifi driver that improves speed and reliability. So I've uploaded an updated version of my script 'isorespin.sh' preconfigured for v4.11-rc5 together with a new script 'linuxium-install-rtl8723bs-binaries-for-4.11.0-rc5.sh' which installs the prebuilt wifi and bluetooth binaries compiled for v4.11-rc5. See 'Update:' above for the links.

Hylli said...

Hi,

is it possible to get the Script work with Linux Mint ISOs. Linux Mint is an Ubuntu based system.
Hylli

Unknown said...

in your iso`s:
Aplay -l
placa 0: Audio [Intel HDMI/DP LPE Audio], dispositivo 0: HdmiLpeAudio [Intel HDMI/DP LPE Audio]
Subdispositivos: 1/1
Subdispositivo #0: subdevice #0

In lubuntu/ubuntu 17 no soudcard found.

Super909 said...

Hi Linuxium,

My Chuwi Hi10 is quite usable with your modified 4.10 kernel aside from audio and touch screen. I tried 4.11rc4 and 4.11rc5 but both halt before getting to the desktop. Is there anything I can do to get 4.11 working? Do you think kernel 4.11 will solve the remaining problems or is it better to wait for the final release 4.11?

Thanks!

Unknown said...

I compiled the 4.11-RC4 with the patch you suggested.
It worked the micro sdcard reader is recognised, and inserting a card shows up, so solved.
Audio is native so that solved.
No WiFi & no Bluetooth, I tried your sh script, it installs but cannot load either.
Getting the kernel source code, patching, compiling, etc took a day, so I don't look forward to do this again for RC5.
WiFi hadess doesn't work with RC4.
Will your RC5 WiFi/BT script work for RC4?

Unknown said...

The error I get for WiFi either with your script or hadess compilation is:
modprobe: ERROR: could not insert 'r8723bs': Exec format error

I had to modify your script because uname -r on compiled from source gives me: 4.11.0-rc2+

Anyway neither WiFI nor BT get laodaed with your RC4, though I used
git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v4.11-rc4
from http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11-rc4/
followed the patch instructions
then patched the irq8 corrective patch.

Linuxium said...

You should run 'linuxium-install-rtl8723bs.sh' which will build the wifi and bluetooth drivers from source because you have a custom kernel and a pre-built module will not load.

You will require a working internet connection to run the script so you'll temporarily need to use an usb ethernet adapter or similar.

If that is not feasible you will have to first download the sources, then copy them to the device with the custom kernel, then modify the script to omit downloading (comment the 'rm' and 'wget' after each 'Fetching' line) and pick up the new sources), then run the modified script.

Linuxium said...

I'm toying with the idea.

You could always use Ubuntu MATE in the interim and add Cinnamon from 'ppa' if you prefer (see http://www.omgubuntu.co.uk/2016/04/how-to-install-cinnamon-3-0-on-ubuntu).

Linuxium said...

I suppose there is a slight possibility v4.11 will work for you assuming your problem requires a late included fix however it is probably more likely v4.12 might work as new functionality will be included. Or v4.13!

Linuxium said...

Then don't use my ISOs but respin an official ISO.

Super909 said...


4.13! That sounds so far off.

What exactly is missing that is preventing the audio & touch from working? I assume that by now the Chuwis (chewy!), especially the Hi! series have been soundly investigated and employ only bog standard parts. I can't complain as at least I was able to ditch the highly unstable Windows 10 for an OS that has served me faithfully for years now on the desktop.

Is there any information I could collect from my machine that could possibly assist you in finding a solution? I'm using your 17.04 Linuxium ISO.

Thanks!

Linuxium said...

I was interested in exploring what might be required to get Linux working on the latest CHT/BYT laptops and tablets but it became apparent that as I don't have any devices, and because manufacturers and resellers don't want to provide them (at least to me when I've asked) for Linux development and testing, I was working blind.

It was also important to me to promote mainline kernels rather than custom ones to ensure ongoing support and security. So I've currently focused my effort in that direction and left the kernel building on hold for the time being.

Things change as well so whilst v4.13 seems a long way off a solution may come sooner.

Linuxium said...

Update: Linux Mint ISOs are now supported. Please see my new post http://linuxiumcomau.blogspot.com/2017/04/isorespinsh-now-with-mint-and-cinnamon.html for further details.

Super909 said...

Understood, and your efforts are greatly appreciated. I'm free of Windows now, and because of that, my focus is fully on Ubuntu/Linux now and my capabilities with it have improved significantly in just this short period. I'm already dispensing basic advice to others in need.

Since you mentioned security concerns with customized ISOs and kernels, are there any we should be aware of?

Unknown said...

The problem when installing new stuff is emplacement of the headers, when I compiled it from source, it expects them in /lib/modules/4.11.0-041100rc4-generic, but they were placed in /lib/modules/4.11.0-rc2+
As this is temporary I will wait until the final commit of 4.11 is released.
I might try to debug this in the meantime for RC4 in lib/modules/4.11.0-rc2+-
I posted stuff on twitter about this on my handle @inabster & tagged you @linuxium

billP said...

On a t100HA. I was mostly successful, both with the Unity 16.04 version and your Unity 17.04 version. If I run the broadcom script, being online via dongle, I get the Google code and wireless also runs. Sound appears to just work.

The bluetooth is not recognized. I believe it is a 43241B DIO chipset. I get the following errors if I bring the service down and then back up using your script as a guide. Any ideas appreciated.

Apr 4 22:08:54 ubuntu systemd[1]: Stopped Broadcomm Bluetooth daemon.
Apr 4 22:08:54 ubuntu systemd[1]: Starting Load/Save RF Kill Switch Status...
Apr 4 22:08:54 ubuntu systemd[1]: Started Load/Save RF Kill Switch Status.
Apr 4 22:08:58 ubuntu systemd[1]: Starting Broadcomm Bluetooth daemon...
Apr 4 22:08:58 ubuntu systemd[1]: Started Broadcomm Bluetooth daemon.
Apr 4 22:09:00 ubuntu kernel: [ 788.366065] Bluetooth: hci1 command 0xfc45 tx timeout
Apr 4 22:09:08 ubuntu kernel: [ 796.366846] Bluetooth: hci1: BCM: failed to write clock (-110)
Apr 4 22:09:10 ubuntu kernel: [ 798.415259] Bluetooth: hci1 command 0x0c03 tx timeout

Unknown said...

Installing on top of the already compiled RC4 kernel is successful, but since not patched, I have no microSD card reader detected.

Trying to install on top of patched from source kernel RC2+ (which is RC4 in fact) leads to these errors:
./linuxium-install-rtl8723bs.sh: Installing RTL8723BS drivers ...
./linuxium-install-rtl8723bs.sh: Fetching RTL8723BS driver source code ...
./linuxium-install-rtl8723bs.sh: 11: cd: can't cd to rtl8723bs-master
./linuxium-install-rtl8723bs.sh: Compiling RTL8723BS wifi driver ...
make: *** No targets specified and no makefile found. Stop.
./linuxium-install-rtl8723bs.sh: Installing RTL8723BS wifi driver ...
cp: cannot stat 'rtl8723bs_bt.bin': No such file or directory
cp: cannot stat 'rtl8723bs_ap_wowlan.bin': No such file or directory
cp: cannot stat 'r8723bs.ko': No such file or directory
./linuxium-install-rtl8723bs.sh: Fetching RTL8723BS driver source code ...
./linuxium-install-rtl8723bs.sh: Compiling RTL8723BS bluetooth driver ...
cc -c hciattach_rtk.c
cc -o rtk_hciattach hciattach.c hciattach_rtk.o
./linuxium-install-rtl8723bs.sh: Installing RTL8723BS bluetooth driver ...
./linuxium-install-rtl8723bs.sh: Creating RTL8723BS bluetooth service ...
./linuxium-install-rtl8723bs.sh: 41: ./linuxium-install-rtl8723bs.sh: cannot open .././linuxium-install-rtl8723bs.sh: No such file
./linuxium-install-rtl8723bs.sh: Installing RTL8723BS bluetooth service ...
cp: cannot stat 'rtl8723bsbt.service': No such file or directory
ln: failed to create symbolic link '/etc/systemd/system/multi-user.target.wants/rtl8723bsbt.service': File exists
./linuxium-install-rtl8723bs.sh: Starting RTL8723BS bluetooth service ...
Job for rtl8723bsbt.service failed because the control process exited with error code. See "systemctl status rtl8723bsbt.service" and "journalctl -xe" for details.
./linuxium-install-rtl8723bs.sh: Installation of RTL8723BS drivers finished.

Unknown said...

This section explains well the problems I faced
https://kernelnewbies.org/KernelHeaders
So I need your next releases to include the irq8 patch which I just tested works.
Would you like the dmesg of RC2+?

Unknown said...

Solved I think, I forgot I needed a separate command to build the headers.
In root tree of kernel source -
sudo make headers_install INSTALL_HDR_PATH=/usr/include
then your sh script installs.
rebooting will show if real soved ;)

Unknown said...

I ran the rtl8723bs script successfuly by adding the source compiled RC2+ headers, but no luck, no WiFi, no BT.
Still error-
modprobe: ERROR: could not insert 'r8723bs': Exec format error

So I get the sdcard but lose BT & WiFi

NikeL said...
This comment has been removed by the author.
NikeL said...

Sorry for this off-topic comment.

I was reading Your post 'Unofficial "official" Ubuntu on Intel Z3735F devices'. It is very useful to me right now.

I am used to test various linux distros on different hardware, and everytime I can not use WiFi or ethernet, I use my android mobile as a "USB WiFi device" using usb tethering.

Great posts. I'll read them soon.

bilal said...

Thanks for all your hard work. here is my experience
Hardware: Tronsmart Ara-X5 (not plus)

Respun both ubuntu 16.04 & lubuntu 16.04 with the --update option, the OS seems to install fine, however when i reboot the box with either OS the system simply goes into the BIOS.
I installed the original OS without re spinning and the OS loads fine. I think there is an issue with the script.

Secondly I am a bit lost about the respinning with and without the --update option, I thought the respinning is needed to add the updated kernel, if that is the case then what does the --update flag do additionally?

Unknown said...

Excellent job! this worked out perfectly for me, thank you!

hurior said...

This patch works for the audio in a Chuwi LapBook?
I tried it but I don't have any difference...
Thanks!!

bilal said...

update: the difference between the --update and without it is that with --update it will install the 4.11 rc5 kernel, and without the --update you will get 4.10.

For me the updated kernel patch did not resolve the freeze problem on Ara-x5. I have tried all available options so far but I have been able to freeze both my Ara x5 boxes consistently.

Unknown said...

Well, I have problems on my Asus T102HA tablet-cum-keyboard (nice pocket machine, BTW).

A while back, I installed the 17.04 beta1 image. Most things worked, with limitations on backlight controls (I had to run xrandr) and some unrecognized ACPI keys (e.g. sound keys, backlights keys).

So, I respun various 17.04 beta2 images, and ended up installing an Ubuntu 17.04 beta 1 image. In the process, I lost the possibility to suspend successfully (the machine suspends, but won't wake-up : I have to force a hard shiudown by a looooong action on the power button). I also note that the sound drivers setup is unstable : I sometimes boot with no sound drivers visible in the "sound' panel of the system menu, but they happen to be activated (for unscrutable reasons..). I note that, when I see no sound drivers, I can't play Youtube videos (an image appears, but playing does no start).

The dmesg is here : https://drive.google.com/file/d/0B1gfn4_V_wm3Mi1oblVFSUxaU2M/view?usp=sharing

For comparison, when I boot on a 17.04 beta 1 usb, I get the folloing dmesg : https://drive.google.com/file/d/0B1gfn4_V_wm3Sy12VEFGUjRhUTQ/view?usp=sharing

Lacking suspend on this pocket machine is a *huge* drawback for the intended use of this machine. Lacking sound is *also* a drawback.

I think that I may have a drivers conflict ; I may benefit of blacklisting drivers or forcing the order of insertion of some drivers ; however, I have been unable to emit an hypothesis about this order.

Any advice ?

Unknown said...

When trying to respin, i get a permission denied error. What is the cause of this?

Unknown said...

You have got to make the script executable before respinning

Unknown said...

Got it, thank you. I'm a beginner. I installed Ubuntu on the Minix Neo Z83-4 with linuxium's modifications and this worked great. I now have working Audio through HDMI, this is amazing!

Unknown said...

Hello,

How hard would it be to get this working for Ubuntu server?

I tried removing the check for the ISO file and with both Ubuntu 16.04 and 16.10 and they both built and correctly installed and I got no errors from the script, except I don't know how to install the Wifi driver.

Ubuntu server says it could not detect any network cards, and I can't seem to get it to autodetect the Wifi card...

Any tips? I'm gonna run my own setup with X-server and Chromium for kiosk setup.

Unknown said...

Install both Lubuntu 17.04 daily and also 16.04.2 in both cases no audio and neither bluetooth with this scripts.
Previous struggle with Ubuntu Mate install witch take a huge amount of time to install (if it is connected to internet) and in the end after 10 hours of struggling succeeded, but it locks after boot.

The conclusion:
- Half a year ago 16.04 linuxium images work perfect on tablet but no power level, audio, wi-fi and bluetooth.
- latest linuxium images, have all power level (with no value update after boot), audio, wi-fi and bluetooth working, but screen out of sync on boot, and touchpad working little bad (because of mainline kernel)
- using this scripts at least for lubuntu (I will try maybe others) no audio (ALC5640), no bluetooth (RTL8723BS), screen out of sync on boot, and tuchpad unusable with V4.11 RC5
So in the end if touchpad is not working (RC5 is working like shit) tablet is almost useless, and I do not have any solution to make simultaneously the power level and others, as I can use linuxium premade images but power level is not updating, or I can use this scripts but no audio (witch is important) and bluetooth.
So maybe I should wait couple of months, maybe a year and hope that I can have an os usable on my tablet, or I should switch back to windows as the os is far for being ok on tablet.

Unknown said...

Got errors during respin of ubuntu-16.04.2-desktop-amd64.iso:

./isorespin.sh: Installing mainline kernel ...
cp: cannot stat ‘iso-chroot/boot/vmlinuz-4.11.0-*’: No such file or directory
cp: cannot stat ‘iso-chroot/boot/initrd.img-4.11.0-*’: No such file or directory
./isorespin.sh: Spinning ISO ...
chroot: failed to run command ‘dpkg-query’: Exec format error

Image was created, but I believe 4.8 kernel is there.

Unknown said...

Thanks for the tip, RC2 work OK but RC4 not, I will test rc6

Jazqa said...

Just wanted to drop by and tell you how much I appreciate your work. I had almost given up on my Lenovo Miix 2 10" until I stumbled upon your project. I had tried installing multiple distributions with bootia32.efi but none supported the wireless drivers on the laptop. Today I found your modified .isos and the wifi works perfectly! I'll still have to keep dual-boot as brightness and sound do not work, but from now on I'll mostly be on Linux because the work I use the laptop for requires neither.

Thank you.

Unknown said...

I am pleased to say that I got myself a BBEN cherrytrail stick, as it is 64bit uefi, and they use only Intel drivers for BT, WiFi & audio, all problems are solved as opposed the Hannspree 32bit uefi.
I posted dmesg on twitter @inabster & @menabster accounts.

Rockstar said...

The official Ubuntu 17.04 release is out, as of the 13th of this month. Is this working out of the box with these devices?

Linuxium said...

Only that you either have to implicitly trust the source of the kernel binaries or go through the source code line by line and recompile it manually to guarantee a level of security against backdoors, malware or other nastinesses that could have covertly been included perhaps whilst wearing a tin foil hat and glancing over your shoulder!

Or rather more commonly the issue with custom kernels is that they often will not receive security updates or patches which places the user at risk.

Linuxium said...

Have you tried adding the 'intel_idle.max_cstate=1' boot command?

Linuxium said...

Great, good to know.

Linuxium said...

Unfortunately I don't own the hardware to test myself.

Linuxium said...

I can only recommend weekly respinning the new official 17.04 release with the latest mainline kernel and hoping that an upstream patch fixes the problem as I don't have the hardware to investigate myself.

Linuxium said...

An interesting question. When I get some time I'll take a look at the server ISOs. An interim solution would be to use a desktop ISO and then purge the desktop package but it might then wipe out the network commands you are familiar with meaning you would have to brush up on manually configuring networks.

Linuxium said...

Maybe a solution would be to stick with Windows but boot from USB as I've now rewritten my isorespin script to include persistence allowing you to use Linux occasionally just for the specific tasks you require.

Linuxium said...

Did you run out of space when respinning the ISO as you require quite a lot (say 10GB) for it to run successfully? I would also retry using my rewritten script posted on http://linuxiumcomau.blogspot.com.au/2017/04/creating-personalized-ubuntu-mint-and.html just to be sure.

Linuxium said...

Also the Intel wifi chip and driver are much better than the Realtek 8723BS chip and driver so you'll have a much better wifi experience as well.

Linuxium said...

17.04 doesn't solve many if not any of the issues most mini PCs current experience. 17.10 or later however will be a different story.

Unknown said...

No, it was enough space. I was respinning on ubuntu 15.10 (never upgraded) and but for some reason script was not able to create mnt directory, after upgrade this problem gone, but other wierd errors come like: "cp: missing destination file operand after ...". Then I have installed ubuntu 16.4.2 and script worked well.

Unknown said...

Thanks for excellent work

Unknown said...

Hi when trying to run the script ime getting the following error

./isorespin.sh: 33: ./isorespin.sh: Syntax error: "(" unexpected

its at the line where it shows supported OS.. Any ideas? using mint 18.1

Unknown said...

nvm got it

Unknown said...

Seems Daniel Drake's patches fixed audio issues.
Here is the link: https://bugzilla.kernel.org/show_bug.cgi?id=189261#c79

Joe K said...

Hello,
I am working on an up-board based device (http://www.up-board.org/up/specifications/) x5 z8350 Soc. All efforts so far did not solve a random system freeze.
current installation:
Lubuntu 16.04.2 Kernerl 4.11.1
Grub Setting :GRUB_CMDLINE_LINUX="intel_idle.max_cstate=1"
also we have set in sysctl kernel.panic = 60 to initiate a reboot if it freezes but this also is not working with the up freezes.

We have tested it also with the Ubilinux-Kernel for this board same issue.

Our Application is an mediaplayer for digital signage.

Any more suggestions to overcome the freezing issue are very much apprechiated.

Unknown said...

Hi,
Unfortunately the Google Drive link for the RTL8723BS script (https://goo.gl/ShwVxZ) makes me ask for permission to download it. Could someone post a valid link to the TL8723BS script please?

Thanks in advance!

milda said...
This comment has been removed by the author.
Linuxium said...

The RTL8723BS driver was included in the v4.11 kernel so take a look at http://linuxiumcomau.blogspot.com.au/2017/05/mainline-kernel-v412-rc2-now-with.html to see what options you have.

Linuxium said...

Use my 'isorespin.sh' script from the most recent post and respin a standard Ubuntu desktop amd64 ISO (e.g. 16.04.2 or 17.04) and select the option to upgrade the kernel. Write the resultant ISO to USB and try booting from it.

Mikhail Smirnov said...

Hi!
For several days I could not start WiFi on my Chuwi tablet with Broadcom BCM43430 chipset.
I tried different firmware versions.
I copied the nvram from the Windows partition (C: \ Windows \ System32 \ drivers \ 43430r0nvram.txt)
But this answer was very useful - https://www.mail-archive.com/netdev@vger.kernel.org/msg169652.html
Now WiFi work! Hope this helps someone else.

tier said...

Linuxium, I can't download linuxium-install-rtl8723bs.sh, it requires your permission for downloading the file. Can you make it publicly available?
Thank you

milda said...

Thank you for you best work. I have problem with sound on Ubuntu 16.04 on Trekstor Surfftab 11.6. I installed your *iso, wi-fi and BT work excellent, but sound doesn't play. Any soulution for this problem? Thank you.

Linuxium said...

It is superseded as RTL8723BS wifi support is now in v4.12 (currently as RC)

Linuxium said...

Have you run my UCM script (whilst connected to the internet)?

tier said...

v4.12 is *very* unstable. tested it with 16.04.2 and 17.10(daily).
so pls share this script again for using it with older kernels.
thank you

Linuxium said...

The script has been superseded as the source code has been removed (by the owner) because it is included in the mainline kernel (from v4.12).

tier said...

So there's no way to build rtl8723bs drivers for pre-4.12 kernels?

Linuxium said...

You can extract the RTL8723BS module source from mainline source and compile as a module. But then you would have to continually check for patches to keep it updated.

Byteman3D said...

I have a reeder a8i quad tablet running on quad core atom 1.83 ghz cpu. I want to use it with linux as a window computer to browse the web an watch online movies. Is there a newbie tutorial for someone who has no knowledge on linux?

Linuxium said...

Have you read my documentation ('https://linuxiumcomau.blogspot.com.au/2017/06/customizing-ubuntu-isos-documentation.html')?

Unknown said...

What was the solution? I'm experiencing this error as well.

Unknown said...

Resolved the syntax error. For those wondering, run the command like this:
bash isorespin.sh

Linuxium said...

Or make the script executable ('chmod 755 isorespin.sh') and then execute with './isorespin.sh'. You can also 'install' the script by copying it to '/usr/local/bin' and then after making it executable you can run anywhere by simply entering 'isorespin.sh'.

Unknown said...

hi Linuxium
i've tried your script with various systems but i'm didn't get one success
i'm trying to make a z3735 8gb compute stick fully compatible ubuntu 16.04 iso but without success !
i tried with the gui and with command line :

sudo ./isorespin.sh -i ubuntu-16.04.3-desktop-amd64.iso -l rtl8723bs_4.12.0_amd64.deb -f linuxium-install-UCM-files.sh -f wrapper-linuxium-install-UCM-files.sh -c wrapper-linuxium-install-UCM-files.sh


the error i have :Updating bootloader/bootmanager ...
chroot: failed to run command 'apt-cache': Exec format error
chroot: failed to run command 'apt-cache': Exec format error
mv: cannot stat 'iso-chroot/usr/src/grub-efi-ia32-bin*.deb': No such file or directory
mv: cannot stat 'iso-chroot/usr/src/grub-efi-ia32*.deb': No such file or directory
chroot: failed to run command 'apt-cache': Exec format error
chroot: failed to run command 'apt-cache': Exec format error
Installing local packages ...
Adding files/directories ...
Running commands ...
cat: iso-chroot/root/.command.log: No such file or directory
Spinning ISO ...
chroot: failed to run command 'dpkg-query': Exec format error


do you know what can i do about this ?

thanks a lot !


Linuxium said...

What OS and version are you running the script on?

Unknown said...

i'm on ubuntu 16.04 virtualised with 40gb of HDD

but i've also tried into a live usb

and also directly from the ubuntu 14.04 of the intel compute stick

Linuxium said...

Try using the '-w' option to specify a working directory on your virtual disk or external media. See ' http://linuxiumcomau.blogspot.com.au/2017/06/customizing-ubuntu-isos-documentation.html' for more information on the option if required.

Unknown said...

Thanks for your time i finally make the process working but i'm not sure what was precisely the solution
i've made 2 things

i changed from virtualbox to vmware
thanks to that change i could use a 64bits iso (instead of a 32bits iso due to virtualbox support)

so it might be some kind of a solution if someone have the same problem than me !

just a last question do you know the best settings into your tool i should use to make my intel compute stick works the best?
by board :
intel compute stick model STCK1A8LFC
CPU z3735
ram 1gb
emmc: 8gb


Linuxium said...

I've seen the error before when running the script on a 32-bit Linux but when you mentioned that you had also tried on the Ubuntu 14.04 of the Intel Compute Stick I thought I'd recommend something else first.

The best Ubuntu based OS for the STCK1A8LFC is actually Lubuntu. Due to the limited RAM I wouldn't suggest Ubuntu with Unity. So I'd recommend downloading a Lubuntu ISO and respinning with the '--atom' option. You should also run a kernel of at least v4.12 to get wifi and audio working so I'd either add the '-u' option to get the latest kernel, the '-k v4.12.X' option to specify the target kernel you prefer, or use a rolling kernel specific to your release. For the last scenario you can run the script with just '--rolling-list' to see which kernel and then respin accordingly. All this is covered in the documentation link from the previous post above.

Unknown said...

hi ! i've followed your instructions and everything is working fine and really fast (thanks to lubuntu )
thank you for your help ! :D

Linuxium said...

Good to hear.

Unknown said...

Anyone still having issues in 2018?

Linuxium said...

Why? Are you?

Unknown said...

I've installed Linuxium 16.04.4 on my Old Tronsmart Ara X5 (not plus). WiFi is fine but No audio. what should i do ?

Unknown said...

That's most likely an issue with Ubuntu 16.04's support for your hardware. I had a lot of those same hardware issues you mentioned on 16.04 which cleared up for me after I moved to 17.10. You may have some luck manually updating your Linux kernel too if you want to try that before updating. Although, with a Live-USB you should see right away if 17.10 resolves your issues.

Linuxium said...

@Unknown: Use 'pastebinit' to post links to your 'isorespin.log' and 'dmesg' after booting.

Post a Comment