|
@@ -13,31 +13,52 @@
|
|
|
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: "{{ item }}"
|
|
|
- with_items:
|
|
|
- - make clean
|
|
|
- - make EMBED={{ bootloader_filename }} bin-x86_64-efi/ipxe.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: "{{ item }}"
|
|
|
- with_items:
|
|
|
- - 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
|
|
|
+ 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 }}"
|
|
@@ -46,3 +67,4 @@
|
|
|
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" }
|