summaryrefslogtreecommitdiff
path: root/roles/setup-root-partition/tasks/main.yml
blob: 57ba5ae756d06ddfea56790ec2077a3937a4d147 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
- name: Partition disk
  become: true
  command:
      cmd: "sgdisk -a1 -n1:34:2047 -t1:EF02 -n2:2048:+256M -t2:EF00 -n3:0:0:+100% -t3:8300 {{ vyos_raw_img }}"

- name: Reread partitions from image and mount to loopback
  become: true
  shell: "kpartx -av {{ vyos_raw_img }} | awk '{ print $3 }'"
  register: loop_partitions
  
- name: Find loop device path
  become: true
  shell: "losetup -l -O NAME,BACK-FILE | awk '{ if (match($2, \"{{ vyos_raw_img }}\")) print $1}'"
  register: loop_device

- name: Set vyos_target_drive fact
  set_fact:
    vyos_target_drive: "{{ loop_device.stdout | regex_replace('^/dev/(loop.*)$', '/dev/mapper/\\1') }}"

- name: Create a fileystem on EFI partition
  become: true
  filesystem:
    fstype: "vfat"
    device: "{{ vyos_target_drive }}p2"
    opts: "-n EFI -F 32 -s 1"
 
- name: Create a fileystem on root partition
  become: true
  filesystem:
    fstype: "{{ vyos_root_fstype }}"
    device: "{{ vyos_target_drive }}p3"
    opts: "-L persistence"

- name: Mount root partition
  become: true
  mount:
    name: "{{ vyos_write_root }}"
    src: "{{ vyos_target_drive }}p3"
    fstype: "{{ vyos_root_fstype }}"
    state: mounted