aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/roles/kernel/tasks/systemd-boot.yml
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-10-25 03:56:20 +0300
committerEgor Tensin <egor@tensin.name>2026-10-25 03:56:20 +0300
commite5a6c44a98f23e0bef231f413de9fdcc6dd2663b (patch)
treeec88fc041ed6cb41fa60094a740efd4d011e4a11 /roles/kernel/tasks/systemd-boot.yml
parentv8.1.1 (diff)
downloadinfra-ansible-e5a6c44a98f23e0bef231f413de9fdcc6dd2663b.tar.gz
infra-ansible-e5a6c44a98f23e0bef231f413de9fdcc6dd2663b.zip
import roles kernel & microcode from infra-metal
Diffstat (limited to 'roles/kernel/tasks/systemd-boot.yml')
-rw-r--r--roles/kernel/tasks/systemd-boot.yml53
1 files changed, 53 insertions, 0 deletions
diff --git a/roles/kernel/tasks/systemd-boot.yml b/roles/kernel/tasks/systemd-boot.yml
new file mode 100644
index 0000000..2f40163
--- /dev/null
+++ b/roles/kernel/tasks/systemd-boot.yml
@@ -0,0 +1,53 @@
+- name: Get default command line options
+ ansible.builtin.setup:
+ gather_subset:
+ - cmdline
+
+- name: Current command line
+ ansible.builtin.debug:
+ var: |
+ ansible_facts['cmdline']
+
+- name: Validate command line
+ loop:
+ - root
+ - rw
+ when: item not in ansible_facts['cmdline']
+ ansible.builtin.fail:
+ msg:
+ Expected option {{ item }} was not found in the current config!
+
+- name: Generate bootloader entries
+ loop:
+ - latest
+ - lts
+ loop_control:
+ loop_var: flavour
+ become: true
+ ansible.builtin.template:
+ src: loader.conf
+ dest: '/boot/loader/entries/{{ flavour }}.conf'
+ owner: root
+ group: root
+ mode: '0600'
+ notify: bootloader_configured
+
+- name: Set default entry
+ become: true
+ ansible.builtin.lineinfile:
+ path: /boot/loader/loader.conf
+ regexp: '^default '
+ line: 'default {{ kernel_flavour }}.conf'
+ owner: root
+ group: root
+ mode: '0600'
+ notify: bootloader_configured
+
+- name: Remove archinstall entries
+ when: kernel_systemd_boot_purge_archinstall
+ become: true
+ community.general.file_remove:
+ path: /boot/loader/entries
+ pattern: '\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}_linux.conf'
+ use_regex: true
+ notify: bootloader_configured