Add support for iPXE hybrid disks

Combins EFI and Legacy into one disk
This commit is contained in:
Antony 2021-01-13 20:49:25 -06:00 committed by Antony Messerli
parent c955194722
commit 802501cc85
5 changed files with 59 additions and 0 deletions

View file

@ -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

View file

@ -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"

View file

@ -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

View file

@ -34,6 +34,26 @@ exit
Powered by <a href=https://netboot.xyz>netboot.xyz</a>
</p>
{% if generate_disks_hybrid == true %}
<p>Hybrid iPXE Bootloaders - Legacy/EFI</p>
<table style="width:100%">
<!-- table header -->
<tr>
<th> Type </th>
<th> Bootloader </th>
<th> Description </th>
</tr>
<!-- table rows -->
{% for item in bootloaders.hybrid %}
<tr>
<td> {{ item.type }} </td>
<td> <a href="ipxe/{{ site_name }}{{ item.output_bin }}">{{ site_name }}{{ item.output_bin }}</a> </td>
<td> {{ item.desc }} </td>
</tr>
{% endfor %}
</table>
{% endif %}
{% if generate_disks_legacy == true %}
<p>Legacy (PCBIOS) iPXE Bootloaders</p>
<table style="width:100%">

View file

@ -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