Modifying ISO for Automated Installation

mpit

New Member
Nov 10, 2025
2
1
3
Hello,

I am currently working on creating ProxmoxVE Installation Media to automatically install and configure three of our nodes.

Following https://pve.proxmox.com/wiki/Automated_Installation I came up with a combination of answerfile.toml and firstboot.sh script to accomplish:

* Install base system on the first two disks (ZFS RAID1)
* After the installation and reboot, execute firstboot.sh to identify the machine (using system-serial-number) and apply the correct hostname and IP configuration.
* Finally, another reboot is executed to apply these changes and the node is ready for use.

This works as intended.

The issue I have come across is that I want to deploy an OVS configuration for my network, but am missing the necessary packages within the PVE installation media. I have thought about modyfing pve-base.squashfs and adding these packages, but it's easy to be caught up in dependency hell here.

Installing these packages manually (or deploy within firstboot.sh after the installation) is not an option as we do not even have reachable Apt Mirrors on the machines at this point. One option I see is adding a custom local Apt repository within my installation media containing the openvswitch Packages, but that seems needlessly complicated.

Suggestions on how to modify the PVE ISO in the most elegant way?

Thanks and regards
Martin
 
  • Like
Reactions: jtru
Hello,

Maybe you can try to do something with proxmox-offline-mirror tool and put the data on a removable drive with multiple partition (by using ventoy for example ?)

https://pom.proxmox.com/offline-media.html#:~:text=the target system.-,Using a Medium¶,-After syncing a
Thank you for the suggestion!

Looking at the openvswitch-common and openvswitch-switch packages after `apt download`, they are only a few MB in size (without dependencies) and using proxmox-offline-mirror seems to accomplish the same thing I mentioned in my first post (creating a custom local Apt repository), but using a lot of unnecessary disk space in the process.

The main problem with this idea is that there are no free USB ports and no internet access on these hosts, everything must reside on the installation media. So if I want to go that route, I could prepare a local repository within squashfs at a defined location (e.g. "/var/tmp/repo"), but as mentioned, that seems a bit complicated for what I am trying to achieve.
 
Last edited:
We made a video of doing that in our youtube channel
https://youtube.com/live/08jGpjTjh18?feature=share

It uses a answerfile served by an apache for automated installation and after install, with ansible you can to install openvswicth and test if openvswitch is installed and running and test it

Feel free to remove vmbr0, install etc.
 

Attachments