Add additional OS installer images
- Debian 11, Ubuntu 20.04, and OpenBSD 7.0 images
- Menu is too long, so added pxeboot_boot_images list to determine
which images to download/include in menu
- Update versions and checksums downloaded for existing images, and use
version specific paths where applicable.
- Update boot parameters to better support EFI booting
- Update galaxy metadata
Change-Id: Iab6d4385489458ff0e4491c4b1de544b442c2622
diff --git a/tasks/main.yml b/tasks/main.yml
index a261517..f3a8f20 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -26,11 +26,61 @@
group: "{{ pxeboot_groupname }}"
mode: "0755"
-# create boot targets
-- include_tasks: "memtest.yml"
-- include_tasks: "ubuntu1804.yml"
-- include_tasks: "debian10.yml"
+# Download syslinux/memdisk, used by multiple images
+- name: Create utils dir in webroot
+ file:
+ state: directory
+ path: "{{ pxeboot_web_root }}/utils"
+ owner: "{{ pxeboot_username }}"
+ group: "{{ pxeboot_groupname }}"
+ mode: "0755"
+
+- name: Download syslinux archive (contains memdisk)
+ get_url:
+ url: >
+ https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-{{ pxeboot_syslinux_version }}.zip
+ checksum: "{{ pxeboot_syslinux_checksum }}"
+ dest: "{{ pxeboot_dist_dir }}/syslinux-{{ pxeboot_syslinux_version }}.zip"
+ owner: "root"
+ group: "root"
+ mode: "0644"
+ register: syslinux_dl
+
+- name: Create syslinux unarchive dir
+ file:
+ state: directory
+ path: "{{ pxeboot_dist_dir }}/syslinux-{{ pxeboot_syslinux_version }}"
+ owner: "root"
+ group: "{{ pxeboot_groupname }}"
+ mode: "0755"
+
+- name: Unarchive syslinux
+ unarchive:
+ remote_src: true
+ src: "{{ pxeboot_dist_dir }}/syslinux-{{ pxeboot_syslinux_version }}.zip"
+ dest: "{{ pxeboot_dist_dir }}/syslinux-{{ pxeboot_syslinux_version }}"
+ owner: "root"
+ group: "root"
+ mode: "0644"
+
+- name: Copy memdisk from syslinux
+ copy:
+ remote_src: true
+ src: "{{ pxeboot_dist_dir }}/syslinux-{{ pxeboot_syslinux_version }}/memdisk/memdisk"
+ dest: "{{ pxeboot_web_root }}/utils/memdisk"
+ owner: "{{ pxeboot_username }}"
+ group: "{{ pxeboot_groupname }}"
+ mode: 0644
+
+# create boot targets
+- name: Include boot images
+ include_tasks: "{{ pxeboot_boot_image }}.yml"
+ loop: "{{ pxeboot_boot_images | flatten(levels=1) }}"
+ loop_control:
+ loop_var: pxeboot_boot_image
+
+# create menu
- name: Create iPXE menu chainboot script from template
template:
src: "boot.ipxe.j2"