From 7b1e504b8b17b0e1e3caf1de3f1a3ac5cc0f3f17 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 5 Jul 2020 23:28:12 +0200 Subject: renovate usb-install --- roles/installer/debian/usb/tasks/main.yml | 52 +++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) (limited to 'roles/installer/debian/usb') diff --git a/roles/installer/debian/usb/tasks/main.yml b/roles/installer/debian/usb/tasks/main.yml index 60c2dfd5..faf240ad 100644 --- a/roles/installer/debian/usb/tasks/main.yml +++ b/roles/installer/debian/usb/tasks/main.yml @@ -1,4 +1,14 @@ --- +- name: check if usb drive mountpoint exists + stat: + path: "{{ usb_install_path }}" + register: usb_install_mountpoint + +- name: fail if usb drive mountpoint does not exist + assert: + that: usb_install_mountpoint.stat.exists + msg: the path to the usb drive does not exist + - block: - name: download installer vars: @@ -21,13 +31,51 @@ import_role: name: installer/debian/preseed - - name: Copy the preseed initramfs to the artifacts directory + - name: Copy the preseed initramfs to the usb drive copy: src: "{{ tmpdir.path }}/initrd.preseed.gz" - dest: "{{ artifacts_dir }}/" + dest: "{{ usb_install_path }}/initrd.{{ install_hostname }}.gz" always: - name: Cleanup temporary workdir file: path: "{{ tmpdir.path }}" state: absent + +- name: Copy linux kernel image to the USB drive + copy: + src: "{{ global_cache_dir }}/debian-installer/{{ install_distro }}-{{ install_codename }}/{{ install.arch | default('amd64') }}/linux" + dest: "{{ usb_install_path }}/" + +- name: Generate syslinux configuration for BIOS boot + copy: + dest: "{{ usb_install_path }}/syslinux.cfg" + content: | + DEFAULT {{ install_hostname }} + TIMEOUT 100 + PROMPT 1 + SAY SYSLINUX booting an automated installer for {{ install_hostname }}... + + LABEL {{ install_hostname }} + KERNEL linux + INITRD initrd.{{ install_hostname }}.gz + APPEND install {{ (install.kernel_cmdline | default([])) | join(' ') }} + +- name: create EFI boot directory + file: + path: "{{ usb_install_path }}/EFI/boot" + state: directory + +- name: Generate syslinux configuration for UEFI boot + copy: + dest: "{{ usb_install_path }}/EFI/boot/syslinux.cfg" + content: | + DEFAULT {{ install_hostname }} + TIMEOUT 100 + PROMPT 1 + SAY SYSLINUX booting an automated installer for {{ install_hostname }}... + + LABEL {{ install_hostname }} + KERNEL ../../linux + INITRD ../../initrd.{{ install_hostname }}.gz + APPEND install {{ (install.kernel_cmdline | default([])) | join(' ') }} -- cgit v1.2.3