summaryrefslogtreecommitdiff
path: root/roles/installer/openbsd/autoinstall/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/installer/openbsd/autoinstall/tasks/main.yml')
-rw-r--r--roles/installer/openbsd/autoinstall/tasks/main.yml63
1 files changed, 63 insertions, 0 deletions
diff --git a/roles/installer/openbsd/autoinstall/tasks/main.yml b/roles/installer/openbsd/autoinstall/tasks/main.yml
new file mode 100644
index 00000000..cb9975de
--- /dev/null
+++ b/roles/installer/openbsd/autoinstall/tasks/main.yml
@@ -0,0 +1,63 @@
+---
+- name: create temporary directories
+ loop:
+ - files/etc
+ - files/sets
+ - site/
+ file:
+ path: "{{ obsd_autoinstall_tmpdir }}/{{ item }}"
+ state: directory
+
+- name: extract installer files from iso
+ iso_extract:
+ image: "{{ installer_path }}/openbsd-{{ obsd_autoinstall_version }}/{{ obsd_autoinstall_arch }}/install.iso"
+ dest: "{{ obsd_autoinstall_tmpdir }}/files"
+ files:
+ - "{{ obsd_autoinstall_version }}/{{ obsd_autoinstall_arch }}/cdbr"
+ - "{{ obsd_autoinstall_version }}/{{ obsd_autoinstall_arch }}/cdboot"
+ - "{{ obsd_autoinstall_version }}/{{ obsd_autoinstall_arch }}/bsd.rd"
+
+- name: generate bootloader and installer configuration
+ loop:
+ - auto_install.conf
+ - boot.conf
+ template:
+ src: "{{ item }}.j2"
+ dest: "{{ obsd_autoinstall_tmpdir }}/files/etc/{{ item }}"
+
+- name: generate random seed
+ shell: "head -c512 < /dev/random > {{ obsd_autoinstall_tmpdir }}/files/etc/random.seed"
+
+- name: extract file-sets from iso
+ vars:
+ set_names:
+ - bsd
+ - bsd.rd
+ - "INSTALL.{{ obsd_autoinstall_arch }}"
+ - "{{ obsd_autoinstall_file_sets | product([obsd_autoinstall_version_short+'.tgz']) | map('join') | list }}"
+ iso_extract:
+ image: "{{ installer_path }}/openbsd-{{ obsd_autoinstall_version }}/{{ obsd_autoinstall_arch }}/install.iso"
+ dest: "{{ obsd_autoinstall_tmpdir }}/files/sets"
+ files: "{{ [obsd_autoinstall_version+'/'+obsd_autoinstall_arch+'/'] | product(set_names | flatten) | map('join') | list }}"
+
+- name: generate install.site script
+ template:
+ src: install.site.j2
+ dest: "{{ obsd_autoinstall_tmpdir }}/site/install.site"
+ mode: 0755
+
+- name: generate site tarball
+ archive:
+ path: "{{ obsd_autoinstall_tmpdir }}/site/"
+ dest: "{{ obsd_autoinstall_tmpdir }}/files/sets/site{{ obsd_autoinstall_version_short }}.tgz"
+
+- name: generate host specific installer image
+ command: 'genisoimage -RTLldDN -o "install.iso" -no-emul-boot -b "cdbr" -c "boot.catalog" files/'
+ args:
+ chdir: "{{ obsd_autoinstall_tmpdir }}/"
+
+- name: set additional installer info
+ set_fact:
+ installer_manual_steps_msg: |
+ * at the installer prompt select: (S)hell
+ * # mount_cd9660 /dev/cd0c /mnt && cp /mnt/etc/auto_install.conf / && autoinstall