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
+| Type | +Bootloader | +Description | +
|---|---|---|
| {{ item.type }} | +{{ site_name }}{{ item.output_bin }} | +{{ item.desc }} | +
Legacy (PCBIOS) iPXE Bootloaders