--- - name: "Ensure EFI/refind directory exists for Mac NVRAM compatibility" ansible.builtin.file: path: "{{ mnt_boot_path }}/EFI/refind" state: directory mode: "0755" # Mac NVRAM entries persist across disk wipes (stored in firmware) and point to EFI/refind/ # refind-install --usedefault only creates EFI/BOOT/ so we must create this explicitly tags: ["molecule-notest"] - name: "Copy rEFInd binary to EFI/refind for Mac NVRAM entries" ansible.builtin.copy: src: "{{ mnt_boot_path }}/EFI/BOOT/bootx64.efi" dest: "{{ mnt_boot_path }}/EFI/refind/refind_x64.efi" remote_src: true mode: "0644" tags: ["molecule-notest"] - name: "Configure rEFInd base settings in EFI/refind for Mac NVRAM entries" ansible.builtin.template: src: "refind.conf.j2" dest: "{{ mnt_boot_path }}/EFI/refind/refind.conf" mode: "0644" tags: ["molecule-notest"] - name: "Install broadcom-sta-dkms in chroot" ansible.builtin.command: cmd: "arch-chroot {{ mnt_root_path }} apt-get install -y broadcom-sta-dkms" environment: MAKEFLAGS: "" 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.lineinfile: path: "{{ mnt_root_path }}/etc/modules" line: "wl" create: true mode: "0644" - name: "Symlink resolv.conf to systemd-resolved stub" # NOTE: "Ensure DNS works in chroot" in install-ubuntu.yml copies the macOS # resolv.conf which breaks internet access (DNS resolving). ansible.builtin.file: src: "/run/systemd/resolve/stub-resolv.conf" dest: "{{ mnt_root_path }}/etc/resolv.conf" state: link force: true