-
Notifications
You must be signed in to change notification settings - Fork 56
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
Force HTTP protocol in pxelinux-style configuration auto-discovery #100
Comments
Not really - the payload paths currently need to be interpreted in the context of the original configuration file. This means we resolve any non-absolute URIs under the base URI where we fetched the config. Doing otherwise may introduce security issues, where unexpected payloads may be loaded against the intention of the original config. Can you provide a little more detail on your use-case? You say you don't have access to the DCHP and TFTP servers (and hence the boot config?) but you do have access to the HTTP service - on the same machine? |
Unfortunately, I don't have any control on the HTTP server. I'm trying to improve the compatibility between Single Board Computers and MaaS (https://maas.io/). The only way I see, is having the possibility to customize the behavior of Petitboot, but your point (security) makes sense. Please, let me know if you have any other suggestion. Thank you. |
By far the cleanest & easiest way here is to get MaaS to serve a config that refers to boot payloads on the HTTP server. Or, even better, serve the config itself over HTTP, by setting DHCP option 210 to a I'm not sure what you mean by "the problem in this thread" though; is there a problem with loading the payloads from the same source (and protocol) as the config? |
In maas, I can create DHCP snippets (https://maas.io/docs/how-to-enable-dhcp#heading--dhcp-snippets). ... and the efi file causes a problem on Petitboot (Couldn't load kernel image from http://172.16.7.2:5248/images/bootaa64.efi) if option arch = 00:13 { I see a new line in the available Network boots when Petitboot starts called "execute". root@server:~# curl tftp://172.16.7.2/ppc64el/pxelinux.cfg/01-00-1e-06-51-02-9a LABEL execute KERNEL ubuntu/arm64/hwe-20.04-edge/focal/candidate/boot-kernel.odroidm1 and also this: root@server:~# curl http://172.16.7.2:5248/ppc64el/pxelinux.cfg/01-00-1e-06-51-02-9a LABEL execute KERNEL ubuntu/arm64/hwe-20.04-edge/focal/candidate/boot-kernel.odroidm1 But MaaS doesn't provide the protocol and Url in the KERNEL and INITRD lines and Petitboot automatically uses TFTP (which is much slower than HTTP). At the moment, I do not understand what happens in Petitboot if a path-prefix is different than "/". Note: These are defined by default in MaaS Thank you. |
If the
The If you set path-prefix to
Of course, if you specify a path prefix that does not contain the correct file structure, petitboot won't be able to find the config files, and not show your Alternatively, you can just set the conf-file directly (using DHCP option 209 instead), and that allows you to specify the config URL itself, without all of those separate discovery requests. |
Hi,
according to this, in a "syslinux configuration" file, " If a full URL is given, then petitboot will use that as-is. Supported protocols are currently http, ftp, tftp and nfs. If only a path is given, petitboot will assume the TFTP protocol".
Is there any way to force Petitboot to use HTTP instead of TFTP?
I don't have any control over the dhcp/tftp server and I'd like to use HTTP.
Thank you.
Regards,
Marco
The text was updated successfully, but these errors were encountered: