1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- ---
- - name: Copy netboot.xyz local EFI iPXE configs
- copy:
- src: "ipxe/local/{{ item }}"
- dest: "{{ ipxe_source_dir }}/src/config/local/{{ item }}"
- with_items:
- - colour.h
- - crypto.h
- - name: Copy netboot.xyz general.h.efi iPXE config
- copy:
- src: "ipxe/local/general.h.efi"
- dest: "{{ ipxe_source_dir }}/src/config/local/general.h"
- - name: Set trust file to ipxe ca
- set_fact:
- trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
- when: not generate_signatures
- - name: Combine trust files if set
- set_fact:
- trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
- when: generate_signatures | bool
- - name: Compile iPXE bootloader for EFI
- shell: |
- make clean
- make 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"
- tags:
- - skip_ansible_lint
- - name: Generate iPXE EFI ISO Disk
- shell: |
- mkdir -p efi_tmp
- dd if=/dev/zero of=efi_tmp/ipxe.img count=2880
- mformat -i efi_tmp/ipxe.img -m 0xf8 -f 2880
- mmd -i efi_tmp/ipxe.img ::efi ::efi/boot
- mcopy -i efi_tmp/ipxe.img bin-x86_64-efi/ipxe.efi ::efi/boot/bootx64.efi
- genisoimage -o ipxe-efi.eiso -eltorito-alt-boot -e ipxe.img -no-emul-boot efi_tmp
- args:
- chdir: "{{ ipxe_source_dir }}/src"
- warn: false
- tags:
- - skip_ansible_lint
- - name: Generate iPXE EFI USB image
- shell: |
- truncate -s 3MiB ipxe-efi.usb
- mkfs.vfat ipxe-efi.usb
- mmd -i ipxe-efi.usb "::/efi"
- mmd -i ipxe-efi.usb "::/efi/boot"
- mcopy -i ipxe-efi.usb bin-x86_64-efi/ipxe.efi "::/efi/boot/bootx64.efi"
- args:
- chdir: "{{ ipxe_source_dir }}/src"
- warn: false
- tags:
- - skip_ansible_lint
- - name: Copy iPXE EFI builds to http directory
- 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: "ipxe-efi.eiso", dest: "{{ bootloader_filename }}-efi.iso" }
- - { src: "ipxe-efi.usb", dest: "{{ bootloader_filename }}-efi.usb" }
- when: bootloader_filename != "netboot.xyz-packet"
- - name: Copy iPXE EFI builds to http directory for packet
- 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" }
- when: bootloader_filename == "netboot.xyz-packet"
|