vmware / photon-os-installer

Photon OS Installer
Other
12 stars 18 forks source link

virtio disk not supported #23

Open hadmut opened 10 months ago

hadmut commented 10 months ago

Describe the bug

Hi, I am not really sure whether this is a bug or an intentional company decision.

Today I read a recommendation to use Photon OS, wanted to try it, and found, that it is not possible to install it in a virtual machine: It just does not find the disk device /dev/vda to install on.

The reason is, that

/usr/lib/python3.11/site-packages/photon_installer/device.py

calls lsblk to look for disks with option '-I', '7,8,179,202,254,259', which keeps /dev/vda (major 253) out of the list.

I wonder if this is intentionally restricted to vmware environments, has technical reasons, or is just an unintentional omission.

regards

Reproduction steps

  1. run the iso installer image in kvm/qemu with virtual disk, if=virtio
  2. try to install it
  3. notice that photon-installer fails and aborts because no disk can be found. ...

Expected behavior

Installation

Additional context

No response

dcasota commented 10 months ago

Hi, the virtual hardware of the boot media must be sata. See https://github.com/vmware/photon/issues/1393

oliverkurth commented 10 months ago

Thanks for reporting! This is most likely an oversight, I don't think we intentionally exclude KVM. I can give it a try by adding 253 to the list. I am not familiar with KVM though.

@dcasota IIUC, this is about finding the hard disk to install to, not the CD device to install from.

YustasSwamp commented 10 months ago

Hi @hadmut , thanks for raising this. /dev/vda device driver uses dynamic major number allocation. It can be anything in the range [240-254] as mentioned here https://www.kernel.org/doc/Documentation/admin-guide/devices.txt Seems like in your case 254 is already occupied by some other device. I remember we already added 254 for the same reasons (for vda support), probably it makes sense to include entire range or at least last N elements. And we are always open for external contributions))

YustasSwamp commented 10 months ago

@oliverkurth we should be less restrictive in block device discovery mask.

YustasSwamp commented 10 months ago

Let's remove a mask ("-I 7,8,179,202,254,259") and allow user to pick any disk.

hadmut commented 10 months ago

@dcasota: Good hint. Providing the disk as sata makes the installation run.

Unfortunately, just calling qemu/kvm and omitting the if= parameter doesn't make the disk a sata disk. It takes the parameter -M q35 to emulate a particular hardware model, which makes my machine complain about a missing CPU feature, but runs. Nevertheless, virtio should be supported.

oliverkurth commented 10 months ago

I have it fixed locally. I will push the fix soon, and give some instructions how to use it.

oliverkurth commented 10 months ago

I have created a PR with a fix, and instructions on building your own ISO: https://github.com/vmware/photon-os-installer/pull/24