diff options
Diffstat (limited to 'roles/raspios/image/tasks')
-rw-r--r-- | roles/raspios/image/tasks/main.yml | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/roles/raspios/image/tasks/main.yml b/roles/raspios/image/tasks/main.yml index 284b24a4..86373da6 100644 --- a/roles/raspios/image/tasks/main.yml +++ b/roles/raspios/image/tasks/main.yml @@ -15,20 +15,36 @@ state: directory register: tmpdir - - name: build the raspios image - command: >- - bash -c "cp '{{ raspios_download_dir }}/{{ raspios_download_image_base_name }}.zip' '{{ tmpdir.path }}/output.zip'; echo 'TODO: extract image...'" - register: raspios_build + - name: extract image + environment: ### TODO: remove once this lands in ansible: https://github.com/ansible/ansible/pull/76542 + LANGUAGE: en_US.utf8 + unarchive: + src: "{{ raspios_download_dir }}/{{ raspios_download_image_base_name }}.zip" + remote_src: yes + dest: "{{ tmpdir.path }}" + + - name: read partition layout from image + command: "sfdisk -q -r -J '{{ tmpdir.path }}/{{ raspios_download_image_base_name }}.img'" + register: sfdisk_result + + - debug: + var: sfdisk_result.stdout | from_json + + ## TODO: + # udisksctl loop-setup -o {{ partitions[1].start * 512 }} -s {{ partitions[1].start * 512 }} -f '{{ tmpdir.path }}/{{ raspios_download_image_base_name }}.img' + # udisksctl mount -b /dev/loop??? + # + # do customizations.... (needs root?) - name: copy newly built raspios image copy: - src: "{{ tmpdir.path }}/output.zip" - dest: "{{ raspios_output_dir }}/{{ raspios_output_image_base_name }}.zip" + src: "{{ tmpdir.path }}/{{ raspios_download_image_base_name }}.img" + dest: "{{ raspios_output_dir }}/{{ raspios_output_image_base_name }}.img" - name: set output image names set_fact: output_images: - - "{{ raspios_output_dir }}/{{ raspios_output_image_base_name }}.zip" + - "{{ raspios_output_dir }}/{{ raspios_output_image_base_name }}.img" always: - name: save stdout build-log to output directory |