Generate arm64 efi disks

This commit is contained in:
Antony Messerli 2019-12-19 01:18:11 +00:00 committed by Ryan Kuba
parent 57f1c3ed21
commit f6d0d2b585
6 changed files with 62 additions and 6 deletions

View file

@ -36,6 +36,9 @@ checksums_filename: "{{ site_name }}-sha256-checksums.txt"
# bootloader options
generate_disks: true
generate_disks_legacy: true
generate_disks_efi: true
generate_disks_arm: false
bootloader_https_enabled: true
bootloader_http_enabled: true
bootloader_disks:

View file

@ -1,4 +0,0 @@
/* nap.h */
#undef NAP_EFIX86
#undef NAP_EFIARM
#define NAP_NULL

View file

@ -1,2 +0,0 @@
/* usb.h */
#define USB_EFI

View file

@ -9,3 +9,7 @@
- include: generate_disks_efi.yml
when:
- generate_disks_efi | default(true) | bool
- include: generate_disks_arm.yml
when:
- generate_disks_arm | default(false) | bool

View file

@ -0,0 +1,54 @@
---
- 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
# iPXE workaround
# http://lists.ipxe.org/pipermail/ipxe-devel/2018-August/006254.html
# apply patch to fix arm64 builds on amd64 builds
- name: iPXE Workaround for arm
shell: sed -i '/WORKAROUND_CFLAGS/d' arch/arm64/Makefile
args:
chdir: "{{ ipxe_source_dir }}/src"
tags:
- skip_ansible_lint
- name: Compile iPXE bootloader for EFI arm64
shell: |
make clean
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 \
EMBED={{ bootloader_filename }} \
TRUST={{ trust_files }} \
bin-arm64-efi/snp.efi
args:
chdir: "{{ ipxe_source_dir }}/src"
tags:
- skip_ansible_lint
- name: Copy iPXE arm64 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-arm64-efi/snp.efi", dest: "{{ bootloader_filename }}-arm64.efi" }

View file

@ -7,6 +7,7 @@ bootloader_disks:
- "netboot.xyz"
- "netboot.xyz-packet"
generate_signatures: true
generate_disks_arm: true
sigs_dir: "{{ netbootxyz_root }}/sigs"
sigs_location: "http://${boot_domain}/sigs/"
cert_dir: "/ansible/certs"