Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Install Ubuntu from ISO on IPv6-only KVM Server in SolusIO
New on LowEndTalk? Please Register and read our Community Rules.

Install Ubuntu from ISO on IPv6-only KVM Server in SolusIO

This article is originally published on yoursunny.com blog https://yoursunny.com/t/2021/SolusIO-IPv6-ISO/

I recently obtained a KVM virtual server on SolusIO platform, and I want to install Ubuntu 20.04 Server from the official ISO image.
This is not as easy as I hoped, but I figured it out.

Note: if you are in a hurry, skip the "Background" and start from "Part 1" section.

Background: SolusIO cannot Mount ISO Image

SolusIO is a virtual infrastructure management solution published by Plesk International Gmbh, the same company behind the popular SolusVM software.
They describe SolusIO to be the successor of SolusVM, with more focus on the self-service approach for end users.

SolusIO inherits the same clean user interface from SolusVM, and is easy to use.
However, as a power user, I notice several features are missing in SolusIO.
One of these features is the ability to install the operating system from an ISO image.

Presently, SolusIO only supports installing operating systems from the provided templates.
While a template installation is convenient, I prefer to install from official ISO images so that I can have better control over what goes into my system, and avoid vulnerabilities such as the debianuser backdoor.

An easy way to load a ISO installer is through netboot.xyz, a hosted service that can boot a server over the Internet and download the installer of many Linux and BSD distributions.
Even if the VPS hosting platform does not support mounting ISO images, it is possible to install iPXE bootloader per Tip: Install OS via netboot.xyz without ISO support, and then start netboot.xyz from there.

However, this method did not work for me.
The iPXE package, as distributed in most operating systems, only supports IPv4.
To make it work on my IPv6-only server, I would have to recompile iPXE with IPv6 enabled, which could be a complicated task.
I need another way.

Part 1: Boot from ISO on Hard Disk

I thought: can I download the ISO image and load it from hard disk, and start the installer, just like netboot.xyz does, but without going through the network?
I searched for "how to boot ISO from hard disk", and found a helpful guide from Ubuntu documentation site: Grub2/ISOBoot.
Piecing together the information, I found the exact steps to start the Ubuntu installer.

  1. Install Debian 10 from SolusIO template.

    As much as I love Ubuntu, it does not work for some reason.

  2. SSH into the server as root, and download official Ubuntu ISO image.

    wget https://releases.ubuntu.com/focal/ubuntu-20.04.2-live-server-amd64.iso
    
  3. Modify /etc/grub.d/40_custom file, and append the following text:

    Section omitted because it's being blocked by the excessive Cloudflare security settings of this forum, please see original article on yoursunny.com blog https://yoursunny.com/t/2021/SolusIO-IPv6-ISO/

  4. Run update-grub.

    This command generates /boot/grub/grub.cfg that is directly used by the GRUB bootloader.
    It would include the menuentry entered in the last step.

  5. Open VNC window in SolusIO.

  6. Type reboot in SSH session.

  7. A blue screen titled "GNU GRUB" should appear in VNC, but only for 3 seconds.
    Quickly press the ⬇️ key, select "Ubuntu 20.04 ISO" menu, and press ENTER.

    GNU GRUB version 2.02, Debian GNU/Linux, Advanced Options for Debian GNU/Linux, Ubuntu 20.04 ISO

  8. You might see a message:

    error: no such module.

    Press any key to continue..._

    This is harmless, and you can press ENTER to bypass it.

  9. A minute later, the Ubuntu installer should start, and display the "Please choose you preferred language" screen.

Part 2: Install Ubuntu from In-Memory ISO

Now that we have the installer started, but we need to take care of one more detail before proceeding.

  1. On the very first "Please choose you preferred language" screen, press F2 key, which opens a shell.

  2. Type the following commands:

    losetup -d /dev/loop0
    umount /isodevice
    

    These commands umount the ISO image, so that the same hard drive can be used as an installation target.

  3. Type exit to return to the installer.

  4. The installer would attempt to detect the network, and it will probably fail because the KVM server is IPv6-only and the network does not support IPv6 autoconfiguration.

    Here I select "Continue without network", because the downloaded ISO image contains all the essential packages.

    Network connections, Configure at least one interface this server can use to talk to other machines, and which preferably provides sufficient access for updates, Continue without network

  5. The rest of installation process is same as any other Ubuntu Server installation.

  6. The installed system will be without network configuration.
    It's necessary to login via VNC, add IP address and routes with ip addr add and ip route add commands, before I can SSH into the server and upload my expertly written Netplan configuration.

Common Errors

Temporary failure in name resolution

Section omitted because it's being blocked by the excessive Cloudflare security settings of this forum, please see original article on yoursunny.com blog https://yoursunny.com/t/2021/SolusIO-IPv6-ISO/

/etc/grub.d/40_custom: menuentry: not found

Section omitted because it's being blocked by the excessive Cloudflare security settings of this forum, please see original article on yoursunny.com blog https://yoursunny.com/t/2021/SolusIO-IPv6-ISO/

Block probing did not discover any disks

The Ubuntu installer fails with this message:

Guided storage configuration

Block probing did not discover any disks. Unfortunately this means that
installation will not be possible.

This is because I did not run the commands to umount the ISO, so that the installer is unable to write to the hard drive that contains the ISO image.
Apparently this is a decade old bug.

To resolve the error, restart the server, enter the installer again, and remember to run the umount commands in a shell on the first screen.

Final Words

This article describes how to install Ubuntu 20.04 Server from the official ISO image on an IPv6-only KVM server managed by SolusIO platform.
The steps are verified on Hosterlabs IPv6 only servers - IPv6 Plus plan.

Thanked by 1cold

Who involucrated my cupon?

Sign In or Register to comment.