summaryrefslogtreecommitdiff
path: root/roles/installer/openbsd/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/installer/openbsd/tasks/main.yml')
-rw-r--r--roles/installer/openbsd/tasks/main.yml43
1 files changed, 41 insertions, 2 deletions
diff --git a/roles/installer/openbsd/tasks/main.yml b/roles/installer/openbsd/tasks/main.yml
index e7196258..c6317284 100644
--- a/roles/installer/openbsd/tasks/main.yml
+++ b/roles/installer/openbsd/tasks/main.yml
@@ -11,7 +11,46 @@
loop_control:
label: "openbsd-{{ item.0.version }} {{ item.1 }}"
get_url:
- url: "{{ openbsd_installer_url }}/{{ item.0.version }}/{{ item.1 }}/install{{ item.0.version | replace('.', '') }}.iso"
- dest: "{{ installer_path }}/openbsd-{{ item.0.version }}/{{ item.1 }}/install.iso"
+ url: "{{ openbsd_installer_url }}/{{ item.0.version }}/{{ item.1 }}/cd{{ item.0.version | replace('.', '') }}.iso"
+ dest: "{{ installer_path }}/openbsd-{{ item.0.version }}/{{ item.1 }}/cd.iso"
mode: 0644
force: "{{ openbsd_installer_force_download }}"
+
+- name: install xorriso
+ apt:
+ name: xorriso
+ state: present
+
+## TODO: only do this if images have been updated
+- name: extract boot.conf from original iso image
+ loop: "{{ openbsd_versions | subelements('arch') }}"
+ loop_control:
+ label: "openbsd-{{ item.0.version }} {{ item.1 }}"
+ command: xorriso -osirrox on -dev cd.iso -extract etc/boot.conf boot.conf
+ args:
+ chdir: "{{ installer_path }}/openbsd-{{ item.0.version }}/{{ item.1 }}"
+
+- name: change boot.conf to switch to com0 as main tty
+ loop: "{{ openbsd_versions | subelements('arch') }}"
+ loop_control:
+ label: "openbsd-{{ item.0.version }} {{ item.1 }}"
+ lineinfile:
+ path: "{{ installer_path }}/openbsd-{{ item.0.version }}/{{ item.1 }}/boot.conf"
+ regexp: '^set\s+tty\s'
+ line: "set tty com0"
+
+- name: make sure target image does not exist
+ loop: "{{ openbsd_versions | subelements('arch') }}"
+ loop_control:
+ label: "openbsd-{{ item.0.version }} {{ item.1 }}"
+ file:
+ path: "{{ installer_path }}/openbsd-{{ item.0.version }}/{{ item.1 }}/cd-com0.iso"
+ state: absent
+
+- name: generate target iso image
+ loop: "{{ openbsd_versions | subelements('arch') }}"
+ loop_control:
+ label: "openbsd-{{ item.0.version }} {{ item.1 }}"
+ command: xorriso -indev "cd.iso" -outdev "cd-com0.iso" -boot_image any keep -pathspecs on -add /etc/boot.conf=boot.conf
+ args:
+ chdir: "{{ installer_path }}/openbsd-{{ item.0.version }}/{{ item.1 }}"