The officially official Devuan Forum!

You are not logged in.

#1 2020-02-21 01:56:50

bgstack15
Member
Registered: 2018-02-04
Posts: 205  

Installing Devuan Ascii 2.1 with virt-install

The branding of the ISO file was updated sometime after the devuan_ascii_2.0.0-beta_amd64_DVD.iso, so that it shows "Devuan GNU/Linux" as shown below.

$ isoinfo -J -i devuan_ascii_2.0.0-beta_amd64_DVD.iso -x /.disk/info
Debian GNU/Linux 2.0.0-beta "Ascii" - Official amd64 DVD Binary-1 20180213-18:54
$ isoinfo -J -i devuan_ascii_2.1_amd64_dvd-1.iso -x /.disk/info
Devuan GNU/Linux 2.1 (ascii) amd64 DVD1 - 2019-12-21 07:24:54 UTC

When this branding changed, virt-install could no longer identify this iso file as a Debian (or derivative) distro, so it could not pull from a built-in list of initrd and kernel files to load.

On my virtualization server (CentOS 7, virt-install-1.5.0-7.el7.noarch), I patched /usr/share/virt-manager/virtinst/urlfetcher.py to handle a Devuan disc.

--- /usr/share/virt-manager/virtinst/urlfetcher.py.2020-02-20.01	2020-02-20 21:06:53.515076802 -0500
+++ /usr/share/virt-manager/virtinst/urlfetcher.py	2020-02-20 21:41:17.649056883 -0500
@@ -1279,6 +1279,33 @@
         logging.debug("Didn't find any known codename in the URL string")
         return self.os_variant
 
+class DevuanDistro(DebianDistro):
+    name = "Devuan"
+    urldistro = "devuan"
+    def _is_install_cd(self):
+        # For install CDs
+        if not self._check_info(".disk/info"):
+            return False
+
+        if self.arch == "x86_64":
+            kernel_initrd_pair = ("linux",
+                                  "initrd.gz")
+        elif self.arch == "i686":
+            kernel_initrd_pair = ("install.386/vmlinuz",
+                                  "install.386/initrd.gz")
+        elif self.arch == "aarch64":
+            kernel_initrd_pair = ("install.a64/vmlinuz",
+                                  "install.a64/initrd.gz")
+        elif self.arch == "ppc64le":
+            kernel_initrd_pair = ("install/vmlinux",
+                                  "install/initrd.gz")
+        elif self.arch == "s390x":
+            kernel_initrd_pair = ("boot/linux_vm", "boot/root.bin")
+        else:
+            kernel_initrd_pair = ("install/vmlinuz", "install/initrd.gz")
+        self._hvm_kernel_paths += [kernel_initrd_pair]
+        self._xen_kernel_paths += [kernel_initrd_pair]
+        return True
 
 class UbuntuDistro(DebianDistro):
     # http://archive.ubuntu.com/ubuntu/dists/natty/main/installer-amd64/

It looks like upstream virt-manager has moved in from virt-manager 1.5 and has refactored the code, but file https://github.com/virt-manager/virt-ma … ldetect.py is the one that could be patched to include Devuan disc info.

Do you expect that the initrd and kernel file names on the install media will be stable? I would not mind submitting a patch to upstream. I have no relationship with them, but I want Devuan to be easier to install on virtualization platforms!


This space intentionally left blank.

Offline

#2 2020-02-21 20:58:38

chris2be8
Member
Registered: 2018-08-11
Posts: 264  

Re: Installing Devuan Ascii 2.1 with virt-install

Which package contains isoinfo? And is there a way to search for packages containing a particular file?

Chris

Offline

#3 2020-02-22 00:09:20

Head_on_a_Stick
Member
From: London
Registered: 2019-03-24
Posts: 3,125  
Website

Re: Installing Devuan Ascii 2.1 with virt-install

chris2be8 wrote:

Which package contains isoinfo? And is there a way to search for packages containing a particular file?

empty@E485:~ $ apt-file search /usr/bin/isoinfo                                          
genisoimage: /usr/bin/isoinfo             
empty@E485:~ $

https://pkginfo.devuan.org/stage/ascii/ … 3.1.4.html


Brianna Ghey — Rest In Power

Offline

#4 2020-02-22 17:57:24

chris2be8
Member
Registered: 2018-08-11
Posts: 264  

Re: Installing Devuan Ascii 2.1 with virt-install

Thanks, got it installed now, and apt-file installed as well.

Chris

Offline

Board footer