12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- ---
- - 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
- 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: "ipxe-efi.eiso", dest: "{{ bootloader_filename }}-efi.iso" }
- - { src: "ipxe-efi.usb", dest: "{{ bootloader_filename }}-efi.usb" }
|