mirror of
https://github.com/netbootxyz/netboot.xyz.git
synced 2025-08-07 06:16:58 +02:00
77 lines
2.7 KiB
YAML
77 lines
2.7 KiB
YAML
---
|
|
|
|
- name: Copy netboot.xyz local EFI iPXE configs
|
|
ansible.builtin.copy:
|
|
src: "ipxe/local/{{ item }}"
|
|
dest: "{{ ipxe_source_dir }}/src/config/local/{{ item }}"
|
|
with_items:
|
|
- colour.h
|
|
- console.h
|
|
- crypto.h
|
|
|
|
- name: Copy netboot.xyz general.h.efi iPXE config
|
|
ansible.builtin.copy:
|
|
src: "ipxe/local/general.h.efi"
|
|
dest: "{{ ipxe_source_dir }}/src/config/local/general.h"
|
|
|
|
- name: Set trust file to ipxe ca
|
|
ansible.builtin.set_fact:
|
|
trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
|
|
when: not generate_signatures
|
|
|
|
- name: Combine trust files if set
|
|
ansible.builtin.set_fact:
|
|
trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
|
|
when: generate_signatures | bool
|
|
|
|
- name: Compile iPXE bootloader for EFI
|
|
ansible.builtin.shell: |
|
|
make clean
|
|
make -j{{ make_num_jobs }} \
|
|
EMBED={{ bootloader_filename }} \
|
|
TRUST={{ trust_files }} \
|
|
bin-x86_64-efi/ipxe.efi \
|
|
bin-x86_64-efi/snp.efi \
|
|
bin-x86_64-efi/snponly.efi
|
|
args:
|
|
chdir: "{{ ipxe_source_dir }}/src"
|
|
when: ipxe_debug_enabled | bool == false
|
|
|
|
- name: Compile iPXE bootloader for EFI with debug flags
|
|
ansible.builtin.shell: |
|
|
make clean
|
|
make -j{{ make_num_jobs }} \
|
|
EMBED={{ bootloader_filename }} \
|
|
DEBUG={{ ipxe_debug_options }} \
|
|
TRUST={{ trust_files }} \
|
|
bin-x86_64-efi/ipxe.efi \
|
|
bin-x86_64-efi/snp.efi \
|
|
bin-x86_64-efi/snponly.efi
|
|
args:
|
|
chdir: "{{ ipxe_source_dir }}/src"
|
|
when: ipxe_debug_enabled | bool
|
|
|
|
- name: Generate iPXE floppy images for EFI
|
|
ansible.builtin.shell: |
|
|
truncate -s 1440k bin-x86_64-efi/ipxe.efi.dsk
|
|
mformat -i bin-x86_64-efi/ipxe.efi.dsk -f 1440 ::
|
|
mmd -i bin-x86_64-efi/ipxe.efi.dsk ::EFI
|
|
mmd -i bin-x86_64-efi/ipxe.efi.dsk ::EFI/BOOT
|
|
cp bin-x86_64-efi/ipxe.efi.dsk bin-x86_64-efi/snp.efi.dsk
|
|
mcopy -i bin-x86_64-efi/ipxe.efi.dsk bin-x86_64-efi/ipxe.efi ::EFI/BOOT/BOOTX64.EFI
|
|
mcopy -i bin-x86_64-efi/snp.efi.dsk bin-x86_64-efi/snp.efi ::EFI/BOOT/BOOTX64.EFI
|
|
args:
|
|
chdir: "{{ ipxe_source_dir }}/src"
|
|
|
|
- name: Copy iPXE EFI builds to http directory
|
|
ansible.builtin.copy:
|
|
src: "{{ ipxe_source_dir }}/src/{{ item.src }}"
|
|
dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
|
|
remote_src: true
|
|
with_items:
|
|
- {src: "bin-x86_64-efi/ipxe.efi", dest: "{{ bootloader_filename }}.efi"}
|
|
- {src: "bin-x86_64-efi/snp.efi", dest: "{{ bootloader_filename }}-snp.efi"}
|
|
- {src: "bin-x86_64-efi/snponly.efi", dest: "{{ bootloader_filename }}-snponly.efi"}
|
|
- {src: "bin-x86_64-efi/ipxe.efi.dsk", dest: "{{ bootloader_filename }}.efi.dsk"}
|
|
- {src: "bin-x86_64-efi/snp.efi.dsk", dest: "{{ bootloader_filename }}-snp.efi.dsk"}
|