User-definable templates

Here you can provide suggestions on how to improve the product, website, etc.
Post Reply
ltwilliams58
Posts: 3
Joined: 24. Oct 2018, 18:44

User-definable templates

Post by ltwilliams58 »

Sorry if this has already been requested, but I didn't see a relevant post.

I would like the ability to create templates for my own use. Not only for making individualized icons, but for setting defaults for, say, Slackware, Mint, LFS and other non-included flavors and their variants. This could be accomplished with a UI option, or a change in the code to move the templates into an editable file so that template changes don't require recompiling the entire host.

Thanks, and please ignore if this has already been asked.
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: User-definable templates

Post by socratis »

ltwilliams58 wrote:but for setting defaults for, say, Slackware, Mint, LFS and other non-included flavors and their variants
What settings would you have in mind? I can tell you what the templates do on-the-surface right now, there are tweaks in the run-time code as well. Here are the basic categories:
  1. Fam.
  2. Family
  3. Name
  4. Full Name
  5. VBOXOSTYPE
  6. RAM
  7. VRAM
  8. HD
  9. NetworkAdapterType
  10. HDStorageControllerType
  11. HDStorageBus
  12. DVDStorageControllerType
  13. DVDStorageBus
  14. ChipsetType
  15. AudioControllerType
  16. AudioCodecType
  17. 64BIT
  18. PAE
  19. HWVIRTEX
  20. IOAPIC
  21. RTCUTC
  22. USBTABLET
  23. FLOPPY
  24. NOUSB
  25. TFRESET
  26. EFI
  27. USBHID
  28. HPET
  29. USB3
  30. X2APIC
That doesn't include the icon, and the VBOXOSTYPE is a really sensitive to run-time decisions... ;)
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
klaus
Oracle Corporation
Posts: 1115
Joined: 10. May 2007, 14:57

Re: User-definable templates

Post by klaus »

While this has been requested repeatedly it's a useful one and it will happen eventually. If only it were just as much work as most people seem to think :)

It will need (to some extent, which makes it more difficult to design) separating the templates from the "hard fact" parts of a guest OS type, making a specific guest OS work well. Some power users might want to modify the disk and RAM size defaults to simplify their frequent creation of a certain VM to match their preferences.
ltwilliams58
Posts: 3
Joined: 24. Oct 2018, 18:44

Re: User-definable templates

Post by ltwilliams58 »

socratis wrote:What settings would you have in mind? I can tell you what the templates do on-the-surface right now, there are tweaks in the run-time code as well. Here are the basic categories:
There are several parameters in that list that I would like to customize, even within the presets for various OS types, as sort-of new defaults, such as RAM, VRAM, NetworkAdaptorType, erc. But my desire would be to allow custom icons and custom and editable OS type names so that I can get more granular and unique with each guest. FerenOS, for example, is (currently) a derivative of LinuxMint, which is (currently) a derivative of Ubuntu, which is (currently) a derivative of Debian. I would like to set a custom OS type for FerenOS, and have the ability to alter the default types when things like derivatives or system requirements change. Sanity code could be employed to prevent a user from setting incompatible or out-of-range parameters.

Tweaking run-time code would work in the interim, though, and I appreciate your input on that.

Larry
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: User-definable templates

Post by socratis »

ltwilliams58 wrote:But my desire would be to allow custom icons and custom and editable OS type names
That's the thing, when people talk about "custom templates" it mostly boils down to 1) custom icon, 2) custom name, mainly from the FOSS distros so that they can be easier distinguished from the rest of the bunch and say "Hey, we're supported in VirtualBox!". The rest of the parameters are pretty much non-essential to the "custom templates" movement. The funny thing? Those are the two most "useless" features for having a client working, they are just for show ;)

Case in point: do you see a Mint custom icon and name? One of the most used distros over time doesn't have its own icon/name. Why? Not really needed. Mint clearly states and follows Ubuntu, it's not like the Ubuntu-Debian relationship, once joined in the hip now several generations apart.
ltwilliams58 wrote:There are several parameters in that list that I would like to customize, even within the presets for various OS types, as sort-of new defaults, such as RAM, VRAM, NetworkAdaptorType, erc.
Parameters that would allow a guest to boot or not? To install or not? To have networking or not? Because if you're thinking "I'm going to increase the template RAM to 8 GB because I can afford it/works better in my system", that shouldn't be the criterion. The criteria should be such that are allow a guest to boot successfully and have networking out of the box. That's pretty much it. Customization and enhanced performance should not be part of the template IMHO; the minimum requirements should be.

PS. You can already have a custom icon for a VM that you distribute, just use the command:
  • 
    VBoxManage modifyvm "<VM_name>" --iconfile "<Full_path_to_less_than_256KB_PNG>"
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
ltwilliams58
Posts: 3
Joined: 24. Oct 2018, 18:44

Re: User-definable templates

Post by ltwilliams58 »

socratis wrote:Case in point: do you see a Mint custom icon and name? One of the most used distros over time doesn't have its own icon/name. Why? Not really needed. Mint clearly states and follows Ubuntu, it's not like the Ubuntu-Debian relationship, once joined in the hip now several generations apart.
In this particular instance, there is talk of Mint changing its base OS, and flavors such as Manjaro have already changed the base OS, but that change isn't reflected in VBox. Yet. I hope that such migrations are addressed and updates provided.
socratis wrote:Parameters that would allow a guest to boot or not? To install or not? To have networking or not? Because if you're thinking "I'm going to increase the template RAM to 8 GB because I can afford it/works better in my system", that shouldn't be the criterion. The criteria should be such that are allow a guest to boot successfully and have networking out of the box. That's pretty much it. Customization and enhanced performance should not be part of the template IMHO; the minimum requirements should be.
Opinion noted. I respectfully disagree. I believe it should be up to the end user to make their own customizations, and it would be nice if Oracle dropped in some sanity code to keep the changes within reason
socratis wrote:PS. You can already have a custom icon for a VM that you distribute, just use the command:
  • 
    VBoxManage modifyvm "<VM_name>" --iconfile "<Full_path_to_less_than_256KB_PNG>"
Thank you for that. I will have to check the documentation to see what other holes I can jam my fingers.
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: User-definable templates

Post by socratis »

ltwilliams58 wrote:there is talk of Mint changing its base OS, and flavors such as Manjaro have already changed the base OS
And why would VirtualBox care? I'm providing the hardware. I couldn't care less about the kernel type and/or the update mechanism, let alone the icon :D

There are 29 categories in the "Linux" family, mostly for show. All of them could be consolidated down to:
  1. RAM : Between 64 (Linux 2.2) and 1024 (the newest ones). A 1024 MB would cover everything.
  2. VRAM : 4 (Linux 2.2), 16 the rest. A 16 MB value would cover everything.
  3. DVD: IDE/PIIX4. Linux has issues with SATA DVDs.
  4. HD: IDE/PIIX4 (Linux 2.2/2.4, Other), SATA/AHCI the rest.
  5. Audio: AC97/STAC9700 (Other 64-bit), AC97/AD1980 the rest.
  6. Network: Am79C973 (Linux 2.2/2.4, Other 32-bit) I82540EM the rest.
Or in summary, two categories are enough[1]:
  1. Linux 2.2/2.4/Other.
  2. The rest...
And that's pretty much how it goes for the rest of the "families", but for new-users' sake, they include more categories. Not the kitchen sink, but a lot...
ltwilliams58 wrote:but that change isn't reflected in VBox. Yet. I hope that such migrations are addressed and updates provided.
How exactly would it be reflected? Which part of VirtualBox would care specifically about the underlying mechanism that an OS relies upon? Would Acer/Apple/Dell/HP/Lenovo change their offerings based on that?
ltwilliams58 wrote:I believe it should be up to the end user to make their own customizations, and it would be nice if Oracle dropped in some sanity code to keep the changes within reason
Couldn't agree more. Otherwise most VM settings would be disabled! The VM templates are suggestion/hints, about the minimum setup required to get you up and running, not your specific use case. That varies, and it varies a lot, hence the VM settings...

The bottom line is that even if custom templates are used, you'd somehow have to pass them on to the VirtualBox End-User. And other that each distro/app having a template that says:
Hey, download this for a VirtualBox custom icon/name/RAM/Disk and add it to such-and-such a directory so that next time VirtualBox starts, they're read and applied
I don't see a generally easily applied mechanism that's going to be distributed as default by VirtualBox.

[1]: I'm oversimplifying a little bit here, leaving parameters which are not really crucial, like bitness, PAE, I/O APIC, X2APIC and PS/2 or USB mouse.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Post Reply