arch: begin bootstrapping role
This commit is contained in:
parent
8a0c0a6476
commit
48e010a847
12
roles/arch/README.md
Normal file
12
roles/arch/README.md
Normal file
@ -0,0 +1,12 @@
|
||||
# ArchLinux role
|
||||
|
||||
Bootstraps an arch linux install to a given device. The whole block device is wiped in the process!
|
||||
|
||||
## Requirements:
|
||||
|
||||
`pacman -Syu parted cryptsetup wipefs lsblk blkid`
|
||||
|
||||
Collections:
|
||||
|
||||
- `community.general`
|
||||
- `community.crypto`
|
13
roles/arch/defaults/main.yml
Normal file
13
roles/arch/defaults/main.yml
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
|
||||
arch_device: ~
|
||||
arch_hostname: cookie
|
||||
|
||||
arch_part_label_base: "{{ arch_hostname }}"
|
||||
arch_part_efi_size: "512MiB"
|
||||
arch_part_root_size: "95%"
|
||||
arch_lvm_name: "{{ arch_part_label_base }}"
|
||||
|
||||
arch_luks_device: "{{ arch_device }}2"
|
||||
arch_luks_passphrase: "super_secure!"
|
||||
arch_luks_container_name: "{{ arch_hostname }}"
|
46
roles/arch/tasks/filesystems.yml
Normal file
46
roles/arch/tasks/filesystems.yml
Normal file
@ -0,0 +1,46 @@
|
||||
---
|
||||
|
||||
- name: Warn user that the blockdevice will be wiped
|
||||
debug:
|
||||
msg: "Warning! Continueing will wipe {{ arch_device }}!"
|
||||
|
||||
- name: Give user the ability to abort
|
||||
pause:
|
||||
prompt: "You can safely abort now if you want, or continue and wipe {{ arch_device }}"
|
||||
|
||||
- name: Create empty GPT
|
||||
community.general.parted:
|
||||
device: "{{ arch_device }}"
|
||||
label: gpt
|
||||
name: "{{ arch_part_label_base }}"
|
||||
|
||||
- name: Create EFI system partition
|
||||
community.general.parted:
|
||||
device: "{{ arch_device }}"
|
||||
state: present
|
||||
part_end: "{{ arch_part_efi_size }}"
|
||||
number: 1
|
||||
name: "{{ arch_part_label_base }}-efi"
|
||||
|
||||
- name: Create partition for luks
|
||||
community.general.parted:
|
||||
device: "{{ arch_device }}"
|
||||
state: present
|
||||
part_end: "{{ arch_part_root_size }}"
|
||||
number: 2
|
||||
name: "{{ arch_part_label_base }}-main"
|
||||
|
||||
- name: Create luks device on main partition
|
||||
community.crypto.luks_device:
|
||||
device: "{{ arch_luks_device }}"
|
||||
passphrase: "{{ arch_luks_passphrase }}"
|
||||
state: present
|
||||
|
||||
- name: Open luks device
|
||||
community.crypto.luks_device:
|
||||
device: "{{ arch_luks_device }}"
|
||||
passphrase: "{{ arch_luks_passphrase ]]"
|
||||
state: "opened"
|
||||
name: "{{ arch_luks_container_name }}"
|
||||
|
||||
|
8
roles/arch/tasks/main.yml
Normal file
8
roles/arch/tasks/main.yml
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
|
||||
- name: Format disks
|
||||
import_tasks: filesystems.yml
|
||||
|
||||
- name: pacstrap
|
||||
|
||||
- name: Bootloader
|
Loading…
Reference in New Issue
Block a user