소스 검색

Add arm64 image generation and allow for independent image generation (#1349)

* allow independent generation arm64/multiarch images

* add arm64 image build

* add efi dependency
Nick 1 년 전
부모
커밋
550a33e322
2개의 변경된 파일42개의 추가작업 그리고 4개의 파일을 삭제
  1. 1 4
      roles/netbootxyz/tasks/generate_disks.yml
  2. 41 0
      roles/netbootxyz/tasks/generate_disks_hybrid.yml

+ 1 - 4
roles/netbootxyz/tasks/generate_disks.yml

@@ -33,7 +33,4 @@
   ansible.builtin.include_tasks: generate_disks_hybrid.yml
   when:
     - generate_disks_hybrid | default(false) | bool
-    - generate_disks_legacy | default(true) | bool
-    - generate_disks_efi | default(true) | bool
-    - generate_disks_arm | default(false) | bool
-    - bootloader_filename == "netboot.xyz"
+    - bootloader_filename == "netboot.xyz"

+ 41 - 0
roles/netbootxyz/tasks/generate_disks_hybrid.yml

@@ -8,6 +8,11 @@
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn
   args:
     chdir: "{{ ipxe_source_dir }}/src"
+  when: 
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_legacy | default(true) | bool
+    - generate_disks_efi | default(true) | bool
+
 
 - name: Generate hybrid ISO multiarch image
   ansible.builtin.shell: |
@@ -18,6 +23,22 @@
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.efi
   args:
     chdir: "{{ ipxe_source_dir }}/src"
+  when:
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_legacy | default(true) | bool
+    - generate_disks_arm | default(false) | bool
+    - generate_disks_efi | default(true) | bool
+
+- name: Generate hybrid ISO arm64 image
+  ansible.builtin.shell: |
+    ./util/genfsimg -o {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.iso \
+      -s {{ bootloader_filename }} \
+      {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.efi
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  when:
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_arm | default(false) | bool
 
 - name: Generate hybrid USB x86_64 image
   ansible.builtin.shell: |
@@ -27,6 +48,10 @@
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn
   args:
     chdir: "{{ ipxe_source_dir }}/src"
+  when:
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_legacy | default(true) | bool
+    - generate_disks_efi | default(true) | bool
 
 - name: Generate hybrid USB multiarch image
   ansible.builtin.shell: |
@@ -37,3 +62,19 @@
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.efi
   args:
     chdir: "{{ ipxe_source_dir }}/src"
+  when:
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_legacy | default(true) | bool
+    - generate_disks_arm | default(false) | bool
+    - generate_disks_efi | default(true) | bool
+
+- name: Generate hybrid USB arm64 image
+  ansible.builtin.shell: |
+    ./util/genfsimg -o {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.img \
+      -s {{ bootloader_filename }} \
+      {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.efi
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  when:
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_arm | default(false) | bool