arch-setup/tasks/setup-laptop.yml
Sonny Bakker fec111584c Setup uefi stubs with systemd-boot for laptop
Directly booting the stubs currently does not seem to work either due to
a buggy UEFI implementation or the embedded cmdline being overwritten,
see https://www.reddit.com/r/archlinux/comments/up8h6l/comment/i8jkuf7/
2024-09-08 20:35:48 +02:00

134 lines
2.9 KiB
YAML

# TODO: set fan settings to `quiet` with smbios-thermal-ctl
- name: remove the sysctl.d directory
become: true
file:
path: /etc/sysctl.d
state: absent
- name: recreate the sysctl.d directory
become: true
file:
path: /etc/sysctl.d
state: directory
mode: 755
- name: copy sysctl files
become: true
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
loop:
- {
src: 'templates/laptop/sysctl/99-sysrq.conf.j2',
dest: '/etc/sysctl.d/99-sysrq.conf'
}
- {
src: 'templates/laptop/sysctl/98-forward.conf.j2',
dest: '/etc/sysctl.d/98-foward.conf'
}
notify: reload sysctl configuration
- name: remove the modprobe.d directory
become: true
file:
path: /etc/modprobe.d
state: absent
- name: recreate the modprobe.d directory
become: true
file:
path: /etc/modprobe.d
state: directory
mode: 755
- name: copy kernel parameters template
become: true
template:
src: 'templates/laptop/cmdline.j2'
dest: '/etc/kernel/cmdline'
- name: remove the mkinitcpio directories
become: true
file:
path: '{{ item }}'
state: absent
loop:
- /etc/mkinitcpio.conf.d
- /etc/mkinitcpio.d
- name: recreate the mkinitcpio directories
become: true
file:
path: '{{ item }}'
state: directory
mode: 755
loop:
- /etc/mkinitcpio.conf.d
- /etc/mkinitcpio.d
- name: copy mkinitcpio configuration files
become: true
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
loop:
- {
src: 'templates/laptop/mkinitcpio/99-modules.conf.j2',
dest: '/etc/mkinitcpio.conf.d/99-modules.conf'
}
- {
src: 'templates/laptop/mkinitcpio/99-hooks.conf.j2',
dest: '/etc/mkinitcpio.conf.d/99-hooks.conf'
}
- {
src: 'templates/laptop/mkinitcpio/linux.preset.j2',
dest: '/etc/mkinitcpio.d/linux.preset'
}
- {
src: 'templates/laptop/mkinitcpio/linux-lts.preset.j2',
dest: '/etc/mkinitcpio.d/linux-lts.preset'
}
- name: regenerate initramfs images
become: true
command: 'mkinitcpio --allpresets'
register: mkinitcpio_stats
- name: log mkinitcpio stdout
debug:
var: mkinitcpio_stats.stdout_lines
- name: create a Linux UEFI boot entry
become: true
command: efibootmgr \
--create \
--disk /dev/nvme0n1 \
--part 1 \
--label 'Arch Linux' \
--loader '\EFI\Linux\linux.efi'\
--unicode
register: efi_linux_stats
when: register_uefi_entry
- name: log efibootmgr stdout
debug:
var: efi_linux_stats.stdout_lines
when: register_uefi_entry
- name: create a Linux LTS UEFI boot entry
become: true
command: efibootmgr \
--create \
--disk /dev/nvme0n1 \
--part 1 \
--label 'Arch Linux LTS' \
--loader '\EFI\Linux\linux-lts.efi'\
--unicode
register: efi_linux_lts_stats
when: register_uefi_entry
- name: log efibootmgr LTS stdout
debug:
var: efi_linux_lts_stats.stdout_lines
when: register_uefi_entry