1
0

generate_disks_efi.yml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. ---
  2. - name: Copy netboot.xyz local EFI iPXE configs
  3. copy:
  4. src: "ipxe/local/{{ item }}"
  5. dest: "{{ ipxe_source_dir }}/src/config/local/{{ item }}"
  6. with_items:
  7. - colour.h
  8. - crypto.h
  9. - name: Copy netboot.xyz general.h.efi iPXE config
  10. copy:
  11. src: "ipxe/local/general.h.efi"
  12. dest: "{{ ipxe_source_dir }}/src/config/local/general.h"
  13. - name: Compile iPXE bootloader for EFI
  14. shell: "{{ item }}"
  15. with_items:
  16. - make clean
  17. - make EMBED={{ bootloader_filename }} bin-x86_64-efi/ipxe.efi
  18. args:
  19. chdir: "{{ ipxe_source_dir }}/src"
  20. tags:
  21. - skip_ansible_lint
  22. - name: Generate iPXE EFI ISO Disk
  23. shell: "{{ item }}"
  24. with_items:
  25. - mkdir -p efi_tmp
  26. - dd if=/dev/zero of=efi_tmp/ipxe.img count=2880
  27. - mformat -i efi_tmp/ipxe.img -m 0xf8 -f 2880
  28. - mmd -i efi_tmp/ipxe.img ::efi ::efi/boot
  29. - mcopy -i efi_tmp/ipxe.img bin-x86_64-efi/ipxe.efi ::efi/boot/bootx64.efi
  30. - genisoimage -o ipxe-efi.eiso -eltorito-alt-boot -e ipxe.img -no-emul-boot efi_tmp
  31. args:
  32. chdir: "{{ ipxe_source_dir }}/src"
  33. warn: false
  34. tags:
  35. - skip_ansible_lint
  36. - name: Copy iPXE EFI builds to http directory
  37. copy:
  38. src: "{{ ipxe_source_dir }}/src/{{ item.src }}"
  39. dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
  40. remote_src: True
  41. with_items:
  42. - { src: "bin-x86_64-efi/ipxe.efi", dest: "{{ bootloader_filename }}.efi" }
  43. - { src: "ipxe-efi.eiso", dest: "{{ bootloader_filename }}-efi.iso" }