From: Hannes Duerr <h.duerr@proxmox.com>
To: Christoph Heiss <c.heiss@proxmox.com>, pve-devel@lists.proxmox.com
Subject: Re: [PATCH installer] assistant: add support for splitting ISO into (i)PXE-compatible files
Date: Mon, 16 Feb 2026 17:23:16 +0100 [thread overview]
Message-ID: <0e6560b3-c65c-4296-9c20-102a5b94b46d@proxmox.com> (raw)
In-Reply-To: <20260204121025.630269-1-c.heiss@proxmox.com>
Hi thanks for tackling this!
Tested the patch with tftp and tftp+http chain loading(which requires
small changes to the generated boot.ipxe), works smooth.
1. Noticed that when you don't pass any option to `--pxe` it always
assumes the next argument as input for the flag, even if the next
argument is clearly a flag it self.
This is not a big issue as long as there is not another flag with the
same behaviour which could be combined with `--pxe` but still a bit
annoying as you have to position the flag at the end of the command.
I assume this has to be fixed in our pico args handling and is not
really related to this patch. Still wanted to mention it here.
2. While testing i noticed that the VM which should be booted with ipxe
has to have atleast 6GB RAM, 4GB is not sufficient.
Already discussed this with @Chris and the assumption is that `ISO(1.7
GiB) + unpacked initramfs + unpacked installer live system` which has to
be loaded into RAM exceeds 4GB in size.
This limitation is not catastrophic, but it is certainly annoying,
especially because in environments where installation is fully
automated, the VMs can often be smaller (e.g., anything-a-a-S related
stuff).
We came up with the following two workarounds:
a) In addition to our ISO, offer another net-boot ISO that contains
almost no system packages, making it significantly smaller.
b) Remove the live installer part from the ISO when --pxe is used. This
would mean that you could then only install automatically and no longer
with TUI or GUI.
Both approaches definitely mean more effort.
Does anyone else have a good idea for a workaround?
Also one small nit inline.
On 2/4/26 1:10 PM, Christoph Heiss wrote:
[...]
> @@ -291,6 +331,7 @@ OPTIONS:
> --output <OUTPUT>
> Path to store the final ISO to, defaults to an auto-generated file name depending on mode
> and the same directory as the source file is located in.
> + If '--pxe' is specified, the path must be a directory.
>
> --fetch-from <FETCH_FROM>
> Where the automatic installer should fetch the answer file from.
> @@ -323,6 +364,15 @@ OPTIONS:
>
> Must be appropriately enabled in the answer file.
>
> + --pxe [<TYPE>]
> + Instead of producing an ISO file, generate a 'initrd.img' and 'vmlinuz' file for use with
> + (i)PXE servers. The '--output' option must point to a directory to place these files in.
> +
> + <TYPE> is optional. Possible value are 'syslinux', 'ipxe'. If <TYPE> is specified, a
syslinux should be removed since it is not yet supported.
> + configuration file is produced for the specified loader.
> +
> + [default: off]
> +
> -h, --help Print this help
> -V, --version Print version
next prev parent reply other threads:[~2026-02-16 16:23 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-04 12:09 Christoph Heiss
2026-02-16 16:23 ` Hannes Duerr [this message]
2026-02-18 19:23 ` Alwin Antreich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0e6560b3-c65c-4296-9c20-102a5b94b46d@proxmox.com \
--to=h.duerr@proxmox.com \
--cc=c.heiss@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.