Skip to content
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

Modifications needed for iPXE to run #32

Open
NetworkTest opened this issue Jul 23, 2022 · 5 comments
Open

Modifications needed for iPXE to run #32

NetworkTest opened this issue Jul 23, 2022 · 5 comments

Comments

@NetworkTest
Copy link

Thanks for the pve-iso-2-pxe script, which worked fine.

The iPXE bootscript would not run without two modifications:

  1. The script should set a "webserver" variable instead of "ipserver" since the script calls "${webserver}" later on.

set webserver http://192.168.1.1

  1. The iPXE client loaded initrd OK but then returned file-not-found errors when trying to load linux26 with options. I think the syntax, with spaces, is an issue. My workaround was to change the "opts" value into the form of a PHP query, starting with a "?" and then delimiting each key/value pair with an "&" character:

set opts "?vga=791&video=vesafb:ywrap,mtrr&ramdisk_size=16777216&rw&quiet&initrd=initrd"
..
set kernel "${webserver}/proxmox/${pveversion}/linux26${opts}&splash=silent

Note the lack of spaces in the "set kernel" line.

Thanks again.

@moubctez
Copy link

The example boot script should look like this:

#!ipxe
dhcp
set webserver http://192.168.1.1
set opts ?vga=791&video=vesafb:ywrap,mtrr&ramdisk_size=16777216&rw&quiet&initrd=initrd
menu Please choose an operating system to boot
    item normal Install Proxmox
    item debug Install Proxmox (Debug Mode)
choose --default normal --timeout 5000 target && goto ${target}
:debug
    set kernel ${webserver}/pxeboot/linux26${opts}&splash=verbose&proxdebug
    goto init
:normal
    set kernel ${webserver}/pxeboot/linux26${opts}&splash=silent
    goto init
:init
initrd ${webserver}/pxeboot/initrd
chain ${kernel}

@morph027
Copy link
Owner

just tried with latest ipxe and PVE 8.2, for me it still works without the quoting and just spaces like this:

#!ipxe

set base-url http://....

menu Installer
item --gap --
item pve PVE
choose target && goto ${target}

:pve
set pve-version 8.1
initrd ${base-url}/proxmox/${pve-version}/initrd.iso.img
chain ${base-url}/proxmox/${pve-version}/linux26 vga=791 video=vesafb:ywrap,mtrr ramdisk_size=16777216 rw quiet splash=silent initrd=initrd.iso.img
boot

@truatpasteurdotfr
Copy link

@morph027 same setup with an uefi boote machine and proxmox-ve_8.2-2.iso but my zfs single disk manual installation is failing to complete with: popup in GUI:

bootloader setup errors:
- unable to update boot loader config

and ctrl-alt-F2

/sbin/grub-mkconfig: 1: /etc/default/grub.d/installer.cfg: : Permission denied
bootloader setup errors:
- unable to update boot loader config

@truatpasteurdotfr
Copy link

truatpasteurdotfr commented Oct 24, 2024

I have been able to install 8.1-2 manually from the pve-iso-2-pxe generated files although the bootloader installation complains but it did install (with zfs).

ymmv, with the embeded iso I had just had to type "exit" at the command line prompt. The machine will proceed to umount/reboot and is funtionnal after.

@zerocarbthirty
Copy link

I have no doubt that it would work in the event that your drivers are satisfied by the initrd and not whatever process the installer uses when it says: "installing additional hardware drivers". I noticed that part doesn't take place when you PXE boot the image.. which is what I was asking about.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants