diff options
author | Christian Pointner <equinox@spreadspace.org> | 2019-12-26 23:25:02 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2019-12-26 23:25:02 +0100 |
commit | 74684fb93e26e2c9f37f699a84eb94acaf93c07a (patch) | |
tree | b514b605b934a6ee074a200e75f918ba05ad109e /roles/installer/openbsd/autoinstall/tasks/main.yml | |
parent | nextcloud: upgrade all instances and add occ script (diff) | |
parent | base role supports openbsd now too (diff) |
Merge branch 'topic/openbsd-test'
Diffstat (limited to 'roles/installer/openbsd/autoinstall/tasks/main.yml')
-rw-r--r-- | roles/installer/openbsd/autoinstall/tasks/main.yml | 63 |
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 |