--- - 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 # iPXE workaround # http://lists.ipxe.org/pipermail/ipxe-devel/2018-August/006254.html # apply patch to fix arm64 builds on amd64 builds - name: Workaround in iPXE for arm ansible.builtin.shell: sed -i '/WORKAROUND_CFLAGS/d' arch/arm64/Makefile args: chdir: "{{ ipxe_source_dir }}/src" - name: Compile iPXE bootloaders for EFI arm64 ansible.builtin.shell: | make clean make -j{{ make_num_jobs }} \ CROSS_COMPILE=aarch64-linux-gnu- \ ARCH=arm64 \ EMBED={{ bootloader_filename }} \ TRUST={{ trust_files }} \ bin-arm64-efi/ipxe.efi \ bin-arm64-efi/snp.efi \ bin-arm64-efi/snponly.efi args: chdir: "{{ ipxe_source_dir }}/src" when: ipxe_debug_enabled | bool == false - name: Compile iPXE bootloader for EFI arm64 with debug flags ansible.builtin.shell: | make clean make -j{{ make_num_jobs }} \ CROSS_COMPILE=aarch64-linux-gnu- \ ARCH=arm64 \ DEBUG={{ ipxe_debug_options }} \ EMBED={{ bootloader_filename }} \ TRUST={{ trust_files }} \ bin-arm64-efi/snp.efi args: chdir: "{{ ipxe_source_dir }}/src" when: ipxe_debug_enabled | bool - name: Copy iPXE arm64 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-arm64-efi/ipxe.efi", dest: "{{ bootloader_filename }}-arm64.efi"} - {src: "bin-arm64-efi/snp.efi", dest: "{{ bootloader_filename }}-arm64-snp.efi"} - {src: "bin-arm64-efi/snponly.efi", dest: "{{ bootloader_filename }}-arm64-snponly.efi"}