Ver código fonte

Merge pull request #992 from netbootxyz/expand_arm_imgs

Add additional arm64 iPXE images
Antony Messerli 3 anos atrás
pai
commit
facccbf797

+ 1 - 0
CHANGELOG.md

@@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file.
 #### Added
 - Support for Harvester
 - Support for MemTest86 Free
+- Adds additional options for arm64 iPXE binary downloads
 
 ## [2.0.47] - 2021-08-30
 #### Fixes

+ 9 - 1
roles/netbootxyz/defaults/main.yml

@@ -7,10 +7,18 @@ bootloader_http_enabled: true
 bootloader_https_enabled: true
 bootloaders:
   arm:
+  - desc: DHCP EFI boot image file, uses built-in iPXE NIC drivers
+    ipxe_bin: ipxe.efi
+    output_bin: -arm64.efi
+    type: DHCP
   - desc: EFI w/ Simple Network Protocol, attempts to boot all net devices
     ipxe_bin: snp.efi
-    output_bin: -arm64.efi
+    output_bin: -arm64-snp.efi
     type: DHCP-snp
+  - desc: EFI w/ Simple Network Protocol, only boots from device chained from
+    ipxe_bin: snponly.efi
+    output_bin: -arm64-snponly.efi
+    type: DHCP-snponly
   hybrid:
   - desc: Used for CD/DVD, Virtual CDs, DRAC/iLO, VMware, Virtual Box
     ipxe_bin: ipxe.iso

+ 16 - 2
roles/netbootxyz/tasks/generate_disks_arm.yml

@@ -34,14 +34,16 @@
       tags:
       - skip_ansible_lint
 
-    - name: Compile iPXE bootloader for EFI arm64
+    - name: Compile iPXE bootloaders 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
+             bin-arm64-efi/ipxe.efi \
+             bin-arm64-efi/snp.efi \
+             bin-arm64-efi/snponly.efi
       args:
         chdir: "{{ ipxe_source_dir }}/src"
       tags:
@@ -64,9 +66,21 @@
       when: ipxe_debug_enabled | bool
 
     - 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/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" }
+      when: bootloader_filename != "netboot.xyz-packet"
+
+    - name: Copy iPXE arm64 EFI builds to http directory for packet
       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" }
+      when: bootloader_filename == "netboot.xyz-packet"