Thursday 24 August 2017

Installing 'isorespin.sh' ISOs on Apollo Lake devices

UpdateThis work is superseded by a new release of my 'isorespin.sh' script which can respin an official ISO suitable for use on Intel Apollo devices. See 'Running and installing Ubuntu and Ubuntu flavours on Apollo Lake devices'.


Previously installation on Intel Apollo Lake devices without explicit Linux support in the BIOS required the rEFInd boot manager to be installed manually. Following a number of requests I've now updated my 'isorespin.sh' script to add this automatically to the respun ISO making it transparent duing the installation of the ISO.

I've also changed the script so that it no longer requires the removal of any 'isorespin.log' file first as it will now simply overwrite it. Instead the respun ISO now includes a README file which details how the ISO was spun.



Also the latest Ubuntu Artful 17.10 build includes an Ubuntu fork of the Dash to Dock extension as Ubuntu Dock. So I've respun the daily build from 21st August and added the v4.13-rc6 kernel and the rEFInd boot manager and anyone who want to see how it looks on an Apollo Lake device can download the ISO from here (ISO removed due to Lenovo BIOS issues) and the upgraded script can be downloaded from 'isorespin.sh'.

Please donate if you find the script useful using the following link http://goo.gl/nXWSGf.





57 comments:

billP said...

A question. I tried respinning the same 21-aug distro with 13-rc6 for my atom (T100HA). I came up in wayland, even though I tried to login with the "ubuntu" option from the login screen. Wayland, as near as I can tell, doesn't yet support screen rotation, which is a problem with the T100HA as it comes up rotated 90 deg right by default.

Is there a way around wayland for these early 17.10 releases? Thanks.

billP said...

One other question (while I'm here). What is the difference between the rtl8723bs_4.12.0_amd64.deb and rtl8723bt_4.12.0_amd64.deb (bs vs. bt)? Does is matter? Thanks.

milda said...

Hello. Can you help me? I have PC 2 in 1 (Intel Atom) with WIN 10. I would like to install Ubuntu 16.04. Can you write me, how do i do it step by step? Thank you.

Linuxium said...

'rtl8723bs_4.12.0_amd64.deb' includes the wifi firmware so it should be used on releases up to 17.04 and 'rtl8723bt_4.12.0_amd64.deb' doesn't thereby allowing it to install correctly on 17.10 and later. Both packages include the bluetooth firmware and userspace files.

Linuxium said...

Try the following on an Ubuntu PC:

1. Read 'http://linuxiumcomau.blogspot.com.au/2017/06/customizing-ubuntu-isos-documentation.html'
2. Download Ubuntu 16.04.3 64-bit desktop ISO from 'http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso'.
3. Download 'isorespin.sh' script from 'https://goo.gl/ZnUd6H'.
4. Make the script executable ('chmod 755 isorespin.sh'
5. Install any required dependencies (typically 'sudo apt-get install -y squashfs-tools xorriso curl zenity' should surfice).
6. Respin your ISO ('./isorespin.sh -i ubuntu-16.04.3-desktop-amd64.iso -u --atom').
7. Plug in a USB and note which device it is (say '/dev/sdX').
8. Unmount and mounted file systems from the USB ('sudo umount /dev/sdX*').
9. Write your respun ISO to the USB ('sudo dd if=linuxium-v4.13-rc6-ubuntu-16.04.3-desktop-amd64.iso of=/dev/sdX bs=4M').
10. Boot your Intel Atom 2 in 1 PC from the USB.

Obviously modify the commands with any required paths and any required file name changes.

If you only have Windows then first download and install Oracle's VirtualBox on Windows and then create a Linux VM from the same Ubuntu 64-bit desktop ISO and install to a VDI of fixed size (minimum 20GB). Start the new Ubuntu VM and install 'Oracle VM VirtualBox Extension Pack'. You can then start from step 3 and respin the Ubuntu ISO which you should make available through a shared folder (hint: Google 'How to Share Your Computer’s Files With a Virtual Machine'). By installing the extension pack you will also be able to write the respun ISO to a USB using 'dd' from within the Ubuntu VM.

Don't forget to donate on http://goo.gl/nXWSGf if you are happy with the result.

Linuxium said...

17.10 has switched to Wayland and GDM however 'The Xorg session will still be available alongside' ('https://didrocks.fr/2017/08/03/ubuntu--guadec-2017-and-plans-for-gnome-shell-migration/'). Apparently it is just 'a click or two away' ('http://www.omgubuntu.co.uk/2017/08/ubuntu-confirm-wayland-default-17-10') so in theory you should still be okay until 18.04 but I haven't looked into this in any detail at the moment so I can't suggest solution yet.

milda said...

Uff. I'm newbie for do it. Please, can I download some already edited iso somewhere? I once downloaded the modified iso, but I can not find it now. Thank you.

billP said...

Thanks. I'm going to wait 17.10 out a bit more. Wayland seemed slow and a bit buggy, but the rotation is a real issue. There is plenty of info that Wayland rotation is driver dependent but even then rotation is an issue. Hopefully better in the next few months. Perhaps they will change their minds (again)?

billP said...

That info was probably published elsewhere but I appreciate repeating it succinctly here.

Unknown said...

i get these two errors when trying the steps above and wonder if you could tell me what i'm doing wrong

/bin/bash: line 12: gdebi: command not found

./isorespin.sh: Local package 'rtl8723bs_4.12.0_amd64.deb' failed to install correctly.

Linuxium said...

Are you connected (or still connected) to the internet when you run the 'isorespin.sh' script? If so what OS are you running on and what was the script command used?

Linuxium said...

BTW the headphone audio patch for the ASUS T100HA has just been applied so should be included in v4.14-rc1 which will be available in around 4 to 6 weeks time.

Unknown said...

I am connected to the internet, my OS is server Ubuntu 17.04 with unity desktop. And I just copied the steps above exactly ./isorespin.sh -i ubuntu-16.04.3-desktop-amd64.iso -u --atom. I also tryed 17.04 with the same result. Thank you very much for your the help and all the time you put into this

Unknown said...

I'll try it with a different system

Linuxium said...

I can't reproduce this error. It seems that 'apt-get install -y gdebi' must be failing on your setup but I don't know why. Moving to a different system, perhaps a desktop based installation, hopefully will fix it for you.

Linuxium said...

Try respinning a daily build with the following command:

isorespin.sh -i artful-desktop-amd64.iso -u --apollo -c "sed -i 's/^#WaylandEnable=false/WaylandEnable=false/' /etc/gdm3/custom.conf"

which should force the login screen to use Xorg and disable Wayland.

DarkLord said...

Thanks for the awesome script and it's super helpful to install Linux on China devices. However I'm facing a strange issues after upgraded to isorespin v7.3, where all respun ISO can't bootup, and details here:

- I tried many different flavor of Ubuntu, and their checksum are valid
- I'm doing respin for apollo-lake, use only args "-u --apollo -i"
- Using VMware to test
- Respun ISO wouldn't boot, saids "Operating System not found", wile origin ISO successfully boot.
- USB wouldn't boot, same error "Operating System not found"
- I use DD or rufus to write ISO to usb stick, where rufus will refuse to create bootable disk with error "Image does not have an x86 Master Boot Record"

Before using v7.3, I had 2 bootable respun ISO made by previous version of isorespin(although configure with -u only). However I overwrite the script with the latest version, and I can't compare with.

Would be glad if you can give a hand here, also can I ask for previous version of isorespin? Thank you.

Linuxium said...

I don't use VMware so I cannot help with anything specific. However why do you need to test? Surely the 'test' will be to boot the respun ISO on your Apollo device?

I have just tried a VirtualBox 'test' which involved:

1. write the respun ISO to a USB using Rufus
2. create a 'vmdk' file from the USB
3. create a VM using the 'vmdk' file for storage
4. select 'Enable EFI' under settings for 'system'

See 'https://goo.gl/8jGYXP' for an image that shows this process. Can you do similar under VMware?

DarkLord said...

By using VMware to test a respun ISO save me a lot of time from creating usb stick and test on my notebook.

Since using the latest isorespin, all apollo-lake respun iso will cause Rufus to complain about missing master boot record and fail to create boot disc in ISO mode. If I force using DD mode, both VMware & apollo-lake notebook wouldn't boot.

Virutalbox doesn't support native usb boot unless doing special drive configure, which might be increasing unknown factor and complicate the test, so given up on it.

As you suggested, I tried VirutalBox again with "enable EFI" and a few self-respun iso, including your latest v4.13-rc6-210817artful-desktop-amd64.iso. All of them boot into a EFI shell and stuck at the shell prompt, and didn't show the UEFI graphical menu.

Also, I notice that writing your artful ISO with Rufus, it see a boot record and happily wrote a usb stick that can boot on my notebook. So I guess now the questions are:
- Why rufus saids no master boot record on the my respun ISOs?
- What's the different between your artful iso and my respun ISOs?
- Would be glad if I can compare with an older version of isorespin

Thanks.

Linuxium said...

It sounds like you omitted step 2 'create a "vmdk" file from the USB' and/or possibly step 3. You can see the command for step 2 (and select the 'PhysicalDrive' number specific to your setup) and all the versions of software I used in the screen shot referenced above using the ISO 'linuxium-v4.13-rc6-210817-artful-desktop-amd64.iso'.

Unknown said...

I'm having the same issue, "Local package 'rtl8723bs_4.12.0_amd64.deb' failed to install correctly."
Installed gdebi manually, it didn't help.
I'm running a VM on Oracle VirtualBox, running Ubuntu 17.10.

DarkLord said...

Well I try again in Virutalbox by creating rawdisk vmdk pointing to the usb stick.
-The usb stick with your "artful" ISO bootup successfully.
- All my respun ISOs doesn't. Rufus complain missing MBR again, and if write with DD they will all boot into a UEFI shell which I don't know what to do with.

When using Rufus to write my respun ISOs, why it keeps complaint about missing master boot record? The respin completed without errors. Any ideas?

Linuxium said...

What is the full text of the error message and what is the 'isorespin.sh' script command you entered?

Linuxium said...

What is the 'md5sum' for your 'isorespin.sh' script? It should be '5028e434331fee08a568c8d14d5bd4c5'.

billP said...

Getting the same problem (pastebin below). I am using 8-28 artful and the latest isorespin.sh. I redownloaded isorespin, rtl8723bt_4.12.0 and artful to check. I also downloaded some earlier isorespin.sh version to check. Same problem. If I remove the *bt*.deb it works fine. I am on a zesty linux box. The bit about the dangling symlink is also new. I have installed both gdebi and gdebi-core on the linux box.

https://paste.ubuntu.com/25424378/

DarkLord said...

My checksum match yours.
However when inspecting the script, there're some unknown stuffs starting from line 3546. as shown in http://goo.gl/Rc6hct. Is it expected?

billP said...

I should add that the linux box is indeed on the internet.

Linuxium said...

@everyone: The following command should fix the 'gdebi' problem which is caused by a the latest 'artful' ISO having a 'dangling' file:

sudo sed -i 's?if \[ -f \(iso-chroot/etc/resolv.conf[^ ]*\) ]; then?if \[ -f \1 -o -h \1 ]; then?' isorespin.sh

Just open a terminal and change directory to where you have put the 'isorespin.sh' script then 'copy & paste' the command. Everything should then work. I'll look at uploading an updated version of the script tomorrow (i.e. later today).

Linuxium said...

See earlier comment for workaround.

billP said...

Yep, that fixed it. Just updated the 8-29 artful with v4.13-rc7. Thanks as always.

Linuxium said...

Thanks. Updated script (i.e. with fix for 'gdebi') now available from the same URL as before ('https://goo.gl/ZnUd6H').

Linuxium said...

The 'unknown stuffs' are the included files required for respinning so if the 'md5sum' matches then everything should be okay.

Can you check that your version of Rufus is the same as mine (refer to the earlier screenshot)?

Unknown said...

Hi, I have a cherry trail with nau88l24 codec and sound is not working. Do you know if the patch for this will be included soon?

DarkLord said...

Busy for days and sorry for not getting back.
Guess what...I try again your script on another fresh install of Ubuntu 16.04 Budgie, and problem solved!! Every respun iso works! Jesus that's a waste of both our time... Thanks & sorry for bothering you.

One last question...16.04 Budgie is rejected by the script. Is it intentionally? :)

Linuxium said...

It should have been included in v4.12.

Linuxium said...

Yes as Budgie joined Ubuntu as a flavour only from 17.04.

Martin said...

Hi, trying to boot from the USB, only a black screen appears with the text:
Starting grubx64.efi
Using load options ''

Y have the Notebook Jumper EzBook 3 Pro with Intel Apollo Lake N3450.

rEFInd instaled from Windows.

I follow your steps:
1. Read 'http://linuxiumcomau.blogspot.com.au/2017/06/customizing-ubuntu-isos-documentation.html'
2. Download Ubuntu 16.04.3 64-bit desktop ISO from 'http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso'.
3. Download 'isorespin.sh' script from 'https://goo.gl/ZnUd6H'.
4. Make the script executable ('chmod 755 isorespin.sh'
5. Install any required dependencies (typically 'sudo apt-get install -y squashfs-tools xorriso curl zenity' should surfice).
6. Respin your ISO ('./isorespin.sh -i ubuntu-16.04.3-desktop-amd64.iso -u --atom').
7. Plug in a USB and note which device it is (say '/dev/sdX').
8. Unmount and mounted file systems from the USB ('sudo umount /dev/sdX*').
9. Write your respun ISO to the USB ('sudo dd if=linuxium-v4.13-rc6-ubuntu-16.04.3-desktop-amd64.iso of=/dev/sdX bs=4M').
10. Boot your Intel Atom 2 in 1 PC from the USB.

./isorespin.sh -i ubuntu-16.04.3-desktop-amd64.iso -u --apollo

Anonymous said...

Hello,

I tried to compile Lubuntu 17.04 with isorespin.sh (for mini pc AP42 Kodlix) with the following command with virtualbox on mac :

./isorespin.sh -i /pathtomyiso -u --apollo
or
./isorespin.sh -i /pathtomyiso --apollo

Have you already compiled an iso for this version of lubuntu?

I have no error, I get the ISO file generated by isorespin.
But when I want to copy the iso with rufus, it does not recognize the iso (kernel control problem?)
So I used a lot of software (ex: Linux usb builder, unetbootin) but the mini pc does not start ...
On mac or ubuntu, the command dd gives the same result, the key does not boot (whether in UEFI mode or Legacy mode)
So I think the problem with the copy on the usb key ...
Would you have any advice to give me?

Thank you in advance !

Anonymous said...

Hi,
I have the same problem with an AP42 (Apollo lake N4200)
(I'm trying to install lubuntu)

This version of this iso worked for me : https://drive.google.com/file/d/0B99O3A0dDe67cUJDaElkaGYzaG8/edit
You just have to copy with rufus (it's simpler than with the dd command)

Martin said...

It doesn't working.

Linuxium said...

Post a link to the contents of the 'isorespin.log' file using 'pastebinit' or similar.

Linuxium said...

I'd try using 'dd' to write the ISO provided above to your USB to see if there is any problem with how you are creating the USB.

Martin said...

isorespin.log -> https://pastebin.com/YFSQq6x5

Martin said...

Ok, now works.

Anonymous said...

This does not work with "dd" either unfortunately. Black screen at startup with fixed cursor

Linuxium said...

When you boot make sure you choose the USB partition as you want to boot using rEFInd and not GRUB.

Linuxium said...

Great, good to hear.

simon said...

Oh linuxium thank you so much for doing this, having all these complaints must drive you nuts but what you are doing is important. So here I go to add to the complaints, sorry. I haven't succeeded yet, I always get a message about running grub64 with '' parameters (sorry to paraphrase). I have a chinese apollo lake laptop and by god it just wont boot linux, depsite my including the -u --atom and the refind thing as well. I used dd in ubuntu to make the iso.
The edition is ubuntu 17.10 Mate. I guess this might be just a computer doomed to run windows, but thank you for your work.

Linuxium said...

You should use '--apollo' not '--atom'.

Unknown said...

Hi,

First thank you for all your work. I have been struggling 24 hours to make your isorespin script work but i can't pass that error:

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
/bin/bash: line 12: gdebi: command not found

I searched and found one of your reply to that error

sudo sed -i 's?if \[ -f \(iso-chroot/etc/resolv.conf[^ ]*\) ]; then?if \[ -f \1 -o -h \1 ]; then?' isorespin.sh

and did the command a dozen time, even changing the location of the script just to see but it still happen. I tried with Ubuntu 17.10 iso but also with 16.04 so i'm kinda lost here.

Thx

Linuxium said...

Which version of 'isorespin.sh' are you using? Enter 'isorespin.sh -v' if unsure.

Unknown said...

I'd Followed what you've said ran the code in a clean VM and then transferred the respun iso to my windows PC where I wrote it too a USB with Rufus it still won't book just a black screen same as before. I'm stumpted

Linuxium said...

What is the context ... which ISO are you respinning with what options and what is the target device for booting?

Unknown said...

I've tried repining ubuntu 16.04 using the UI to select the apollo lake parameters. Then I tried booting it on my Jumper Ezbook pro 3 and it just goes to a black screen after posting, same as if I try to boot a non respun iso

Linuxium said...

If you are only selecting the 'Apollo Lake parameter' then try respinning without the GUI but from the CLI using just the '--apollo' option together with the '-i '. If that doesn't work then include the log files so I can look in more detail.

Unknown said...

Hi! I've just tried to respin xubuntu 18.04.1 for Chuwi Surbook (apollo lake) and, after booting from the usb drive, it didn't work. Command was "isorespin.sh -i xubuntu.iso --apollo". Any help? Thanks

Linuxium said...

This post is superseded so did you read http://linuxiumcomau.blogspot.com/2017/11/running-and-installing-ubuntu-and.html? If so, what didn't work (did you check the size of the EFI partition for example) and then reply against that post.

Post a Comment