--- - name: "Find existing rEFInd NVRAM boot entries" ansible.builtin.shell: cmd: | set -euo pipefail efibootmgr | awk '/rEFInd Boot Manager/{print substr($1,5,4)}' executable: /bin/bash register: bootstrap_refind_boot_ids changed_when: false - name: "Remove existing rEFInd NVRAM boot entries" # Rebuilt fresh below instead of updated in place, so this never accumulates # duplicate entries across reruns (each disk wipe changes the partition GUID # efibootmgr encodes, so an old entry can never just be "updated"). ansible.builtin.command: cmd: "efibootmgr -b {{ item }} -B" loop: "{{ bootstrap_refind_boot_ids.stdout_lines }}" changed_when: true - name: "Register rEFInd NVRAM boot entry" # Explicit NVRAM entry instead of relying on Mac firmware's fallback scan of # EFI/BOOT/bootx64.efi, which is slow and its timing/reliability is undocumented. ansible.builtin.command: cmd: > efibootmgr --create --disk {{ partition_disk }} --part {{ partition_boot.num }} --loader '\EFI\BOOT\bootx64.efi' --label "rEFInd Boot Manager" changed_when: true - name: "Install broadcom-wl driver" ansible.builtin.command: cmd: "arch-chroot {{ mnt_root_path }} pacman -S --noconfirm broadcom-wl" changed_when: true - name: "Blacklist modules conflicting with broadcom-wl" ansible.builtin.copy: dest: "{{ mnt_root_path }}/etc/modprobe.d/broadcom-wl.conf" mode: "0644" content: | blacklist brcmfmac blacklist brcmutil blacklist b43 blacklist ssb blacklist bcma - name: "Load wl module at boot" ansible.builtin.copy: dest: "{{ mnt_root_path }}/etc/modules-load.d/broadcom-wl.conf" mode: "0644" content: | wl