diff options
Diffstat (limited to 'roles/setup-root-partition/tasks/main.yml')
-rw-r--r-- | roles/setup-root-partition/tasks/main.yml | 42 |
1 files changed, 37 insertions, 5 deletions
diff --git a/roles/setup-root-partition/tasks/main.yml b/roles/setup-root-partition/tasks/main.yml index 57ba5ae..bf183f3 100644 --- a/roles/setup-root-partition/tasks/main.yml +++ b/roles/setup-root-partition/tasks/main.yml @@ -1,7 +1,38 @@ -- name: Partition disk +- name: Partition disk (MBR) + become: true + command: + cmd: "sfdisk -q -X dos {{ vyos_raw_img }}" + stdin: "3,+,L,*" + when: vyos_parttable_type == "mbr" + +- name: Partition disk (GPT) + become: true + command: + cmd: "sgdisk -a1 -n1:34:+256M -t1:EF00 -n2:0:0:+100% -t2:8300 {{ vyos_raw_img }}" + when: vyos_parttable_type == "gpt" + +- name: Partition disk (hybrid) 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 }}" + when: vyos_parttable_type == "hybrid" + +- name: Set partition numbers for next actions (MBR) + set_fact: + partition_num_root: 1 + when: vyos_parttable_type == "mbr" + +- name: Set partition numbers for next actions (GPT) + set_fact: + partition_num_efi: 1 + partition_num_root: 2 + when: vyos_parttable_type == "gpt" + +- name: Set partition numbers for next actions (hybrid) + set_fact: + partition_num_efi: 2 + partition_num_root: 3 + when: vyos_parttable_type == "hybrid" - name: Reread partitions from image and mount to loopback become: true @@ -21,20 +52,21 @@ become: true filesystem: fstype: "vfat" - device: "{{ vyos_target_drive }}p2" + device: "{{ vyos_target_drive }}p{{ partition_num_efi }}" opts: "-n EFI -F 32 -s 1" - + when: partition_num_efi is defined + - name: Create a fileystem on root partition become: true filesystem: fstype: "{{ vyos_root_fstype }}" - device: "{{ vyos_target_drive }}p3" + device: "{{ vyos_target_drive }}p{{ partition_num_root }}" opts: "-L persistence" - name: Mount root partition become: true mount: name: "{{ vyos_write_root }}" - src: "{{ vyos_target_drive }}p3" + src: "{{ vyos_target_drive }}p{{ partition_num_root }}" fstype: "{{ vyos_root_fstype }}" state: mounted |