diff --git a/roles/netbootxyz/defaults/main.yml b/roles/netbootxyz/defaults/main.yml index e366e204..612b8ffd 100644 --- a/roles/netbootxyz/defaults/main.yml +++ b/roles/netbootxyz/defaults/main.yml @@ -11,6 +11,15 @@ bootloaders: ipxe_bin: snp.efi output_bin: -arm64.efi type: DHCP-snp + hybrid: + - desc: Used for CD/DVD, Virtual CDs, DRAC/iLO, VMware, Virtual Box + ipxe_bin: ipxe.iso + output_bin: .iso + type: ISO + - desc: Used for creation of USB Keys + ipxe_bin: ipxe.usb + output_bin: .usb + type: USB legacy: - desc: Used for CD/DVD, Virtual CDs, DRAC/iLO, VMware, Virtual Box ipxe_bin: ipxe.iso @@ -79,6 +88,7 @@ generate_checksums: true generate_disks: true generate_disks_arm: false generate_disks_efi: true +generate_disks_hybrid: false generate_disks_legacy: true generate_disks_rpi: false generate_menus: true diff --git a/roles/netbootxyz/tasks/generate_disks.yml b/roles/netbootxyz/tasks/generate_disks.yml index 5751aea8..7232c5ff 100644 --- a/roles/netbootxyz/tasks/generate_disks.yml +++ b/roles/netbootxyz/tasks/generate_disks.yml @@ -18,3 +18,10 @@ when: - generate_disks_rpi | default(false) | bool - bootloader_filename == "netboot.xyz" + + - include: generate_disks_hybrid.yml + when: + - generate_disks_hybrid | default(false) | bool + - generate_disks_legacy | default(true) | bool + - generate_disks_efi | default(true) | bool + - bootloader_filename == "netboot.xyz" diff --git a/roles/netbootxyz/tasks/generate_disks_hybrid.yml b/roles/netbootxyz/tasks/generate_disks_hybrid.yml new file mode 100644 index 00000000..c351a712 --- /dev/null +++ b/roles/netbootxyz/tasks/generate_disks_hybrid.yml @@ -0,0 +1,21 @@ +--- + + - name: Generate hybrid ISO image + shell: | + ./util/genfsimg -o {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-hybrid.iso \ + {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.efi \ + {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn + args: + chdir: "{{ ipxe_source_dir }}/src" + tags: + - skip_ansible_lint + + - name: Generate hybrid USB image + shell: | + ./util/genfsimg -o {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-hybrid.usb \ + {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.efi \ + {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn + args: + chdir: "{{ ipxe_source_dir }}/src" + tags: + - skip_ansible_lint diff --git a/roles/netbootxyz/templates/index.html.j2 b/roles/netbootxyz/templates/index.html.j2 index ebd621c7..56c32130 100644 --- a/roles/netbootxyz/templates/index.html.j2 +++ b/roles/netbootxyz/templates/index.html.j2 @@ -34,6 +34,26 @@ exit Powered by netboot.xyz

+{% if generate_disks_hybrid == true %} +

Hybrid iPXE Bootloaders - Legacy/EFI

+ + + + + + + + + {% for item in bootloaders.hybrid %} + + + + + + {% endfor %} +
Type Bootloader Description
{{ item.type }} {{ site_name }}{{ item.output_bin }} {{ item.desc }}
+{% endif %} + {% if generate_disks_legacy == true %}

Legacy (PCBIOS) iPXE Bootloaders

diff --git a/script/netbootxyz-overrides.yml b/script/netbootxyz-overrides.yml index 30dedea4..9d5d14d9 100644 --- a/script/netbootxyz-overrides.yml +++ b/script/netbootxyz-overrides.yml @@ -2,6 +2,7 @@ sigs_menu: true sigs_enabled: true generate_disks_arm: true +generate_disks_hybrid: true generate_disks_rpi: true generate_version_file: true bootloader_multiple: true