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/
This commit is contained in:
parent
5d91c4196d
commit
fec111584c
9 changed files with 157 additions and 10 deletions
|
|
@ -1,18 +1,134 @@
|
|||
# TODO: set fan settings to `quiet` with smbios-thermal-ctl
|
||||
# TODO: provision mkinitcpio
|
||||
# TODO: provision modprobe
|
||||
# TODO: provision sysctl?
|
||||
#
|
||||
- name: create udev rule
|
||||
|
||||
- name: remove the sysctl.d directory
|
||||
become: true
|
||||
file:
|
||||
path: '/etc/udev/rules.d/00-remove-nvidia.rules'
|
||||
path: /etc/sysctl.d
|
||||
state: absent
|
||||
|
||||
- name: blacklist kernel module
|
||||
- name: recreate the sysctl.d directory
|
||||
become: true
|
||||
file:
|
||||
path: '/etc/modprobe.d/blacklist-nouveau.conf'
|
||||
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
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- 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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue