netboot.xyz/roles/netbootxyz/tasks/generate_disks_arm.yml
Markus Reil d30223014f Support make -j switch.
* Introduce new variable "make_num_jobs" to user_overrides.yml (default
  value is 1).
* Use new variable in each task that uses "make".
2023-12-08 16:46:41 +07:00

73 lines
2.4 KiB
YAML

---
- 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: Workaround in iPXE for arm
ansible.builtin.shell: sed -i '/WORKAROUND_CFLAGS/d' arch/arm64/Makefile
args:
chdir: "{{ ipxe_source_dir }}/src"
- name: Compile iPXE bootloaders for EFI arm64
ansible.builtin.shell: |
make clean
make -j{{ make_num_jobs }} \
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"
when: ipxe_debug_enabled | bool == false
- name: Compile iPXE bootloader for EFI arm64 with debug flags
ansible.builtin.shell: |
make clean
make -j{{ make_num_jobs }} \
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"
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"}