Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some of the new definitions may be a bit too restrictive. #48

Open
ShaneMcC opened this issue Jul 22, 2023 · 3 comments
Open

Some of the new definitions may be a bit too restrictive. #48

ShaneMcC opened this issue Jul 22, 2023 · 3 comments

Comments

@ShaneMcC
Copy link

I'm trying to build a proxmox image that can be deployed using either virtio or scsi for the block device, which I believe to be possible if the os-device-type is set to generic (from looking at mkinitfs-functions)

However, the script firstly doesn't allow --os-device-type generic, but also then the proxmox definitions don't allow it.

Similar for --console-type - proxmox can support normal_and_serial but the script doesn't allow it. (normal console type is useful because it preserves history - the serial console discards any console history prior to you opening the console)

@dermotbradley
Copy link
Owner

I'm trying to build a proxmox image that can be deployed using either virtio or scsi for the block device, which I believe to be possible if the os-device-type is set to generic (from looking at mkinitfs-functions)

scsi or virtio-scsi?

As you're creating a VM disk image (whether for proxmox or another hypervisor) I am not expecting scsi to used, only virtio-blk, virtio-scsi, or nvme (as there is no virtio equivalent of nvme). Firstly scsi will be far less performant than virtio-scso. Secondly why use scsi for a VM at all? If you want scsi then why not create a physical machine image, rather than a VM image?

However, the script firstly doesn't allow --os-device-type generic, but also then the proxmox definitions don't allow it.

Yeah originally generic was only intended for use by the "generic" cloud/physical/virtual types. I have since started extending it for other situations. I have some local code changes for this that I will push shortly.

Similar for --console-type - proxmox can support normal_and_serial but the script doesn't allow it. (normal console type is useful because it preserves history - the serial console discards any console history prior to you opening the console)

I've made some changes to the proxmox definition file(s) but haven't pushed them yet. I'll add a note here when I have done so.

What would be useful info is details of what are the default Proxmox settings used for created VMs in terms of console type (i.e. serial or normal), storage driver, etc.

@ShaneMcC
Copy link
Author

Yes, sorry, virtio-scsi is what I'm wanting which is the default for newly created VMs, and this is their recommended driver rather than virtio-blk. (https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines)

Though it does allow emulating others (It's just QEMU under the hood) and perhaps some configurations may use others or may have raw device pass through. Allowing people to always pick --os-device-type generic lets them make that choice if they want if the more opinioned options don't work.

The default display for new vms is QEMU's "std" vga card but it also has options for a variety of other cards and/or serial.

@dermotbradley
Copy link
Owner

Hi. I've just merged a PR where I've rewritten a lot of the "generic" handling.

I've also updated/tweaked the proxmox definitions files.

So currently virtio-scsi is defaulted to as the type of device for the rootfs but you can use "--os-device-type generic" to override this, and you can also use "--console-device-type normal_and_serial" for both console types as well (I renamed the "--console-type" option to "--console-device-type").

The default display for new vms is QEMU's "std" vga card but it also has options for a variety of other cards and/or serial.

For BIOS disk images for Proxmox the script will use VGA Text output (setting CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text") and for UEFI will use graphics output as UEFI does not support text output.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants