Custom ISO is a simple project consisting of a few bash scripts. The scripts take an official ISO as input and output an ISO that will launch with a preseed.cfg file. This allows you to configure the image to have predefined values in the preseed.
Warning
Please note: the scripts have only been tested with debian-13.0.0-amd64-netinst.iso.
git clone https://github.com/6C656C65/custom_iso.gitFirst you need a preseed.cfg file. Here is an official example for Debian.
An image must also be personalized. Here for the official iso of debian 13.0.
The build.sh script requires sudo.
bash build.sh --in <source_iso> --out <modified_iso> --preseed <preseed_file> [--debug] [--checksum]
# or with key=value style:
bash build.sh in=<source_iso> out=<modified_iso> preseed=<preseed_file> [debug] [checksum]<source_iso>can be a local path or a remote URL starting withhttps://.- You can use the
--checksumoption to calculate and display the checksums of the newly generated ISO. - The
--debugoption displays detailed messages during the build process.
You can clean up the files that were created during generation with the command below.
bash clear.shThere are also upload scripts to drop the generated iso onto a hypervisor.
Warning
It is important that the token_id is enclosed in single quotes ' because it contains a !.
bash upload/proxmox.sh --url <host> --nodes <nodes> --iso <path> --token-id '<id>' [--token-secret <secret>] [--debug]
# or with key=value style:
bash upload/proxmox.sh url=<host> nodes=<nodes> iso=<path> token-id=<id> [token-secret=<secret>] [debug]An Ansible role is available to automate the process of building and uploading a custom ISO to a Proxmox server, as well as creating virtual machines from it.
➡️ You can find the role here: https://github.com/6C656C65/ansible_roles/tree/main/proxmox