1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- ---
- - 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: iPXE Workaround for arm
- shell: sed -i '/WORKAROUND_CFLAGS/d' arch/arm64/Makefile
- args:
- chdir: "{{ ipxe_source_dir }}/src"
- tags:
- - skip_ansible_lint
- - name: Compile iPXE bootloaders for EFI arm64
- shell: |
- make clean
- make 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"
- tags:
- - skip_ansible_lint
- when: ipxe_debug_enabled | bool == false
- - name: Compile iPXE bootloader for EFI arm64 with debug flags
- shell: |
- make clean
- make 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"
- tags:
- - skip_ansible_lint
- 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"}
- when: bootloader_filename != "netboot.xyz-metal"
- - name: Copy iPXE arm64 EFI builds to http directory for Equinix Metal
- 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/snp.efi", dest: "{{ bootloader_filename }}-arm64.efi"}
- when: bootloader_filename == "netboot.xyz-metal"
|