From 415805d51eb574ea7dc0a9b0aa50f848716743e2 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Wed, 25 Feb 2026 23:40:50 +0100 Subject: Fix Mac setup to install broadcom wl driver Co-Authored-By: Claude.ai --- host_vars/mac-archiso.local.yml | Bin 1030 -> 1058 bytes host_vars/mac-archiso.local.yml.example | 1 + roles/bootstrap/defaults/main.yml | 2 ++ roles/bootstrap/meta/argument_specs.yml | 5 +++++ roles/bootstrap/tasks/install-archlinux.yml | 26 ++++++++++++++++++++++++++ 5 files changed, 34 insertions(+) create mode 100644 roles/bootstrap/defaults/main.yml diff --git a/host_vars/mac-archiso.local.yml b/host_vars/mac-archiso.local.yml index c685d6a..9e2d07d 100644 Binary files a/host_vars/mac-archiso.local.yml and b/host_vars/mac-archiso.local.yml differ diff --git a/host_vars/mac-archiso.local.yml.example b/host_vars/mac-archiso.local.yml.example index 86c660a..65d42e6 100644 --- a/host_vars/mac-archiso.local.yml.example +++ b/host_vars/mac-archiso.local.yml.example @@ -43,3 +43,4 @@ partition_extras: part_end: "100%" fstype: "ext4" dev: "{{ partition_disk }}4" +bootstrap_broadcom_wl: true diff --git a/roles/bootstrap/defaults/main.yml b/roles/bootstrap/defaults/main.yml new file mode 100644 index 0000000..552f54e --- /dev/null +++ b/roles/bootstrap/defaults/main.yml @@ -0,0 +1,2 @@ +--- +bootstrap_broadcom_wl: false diff --git a/roles/bootstrap/meta/argument_specs.yml b/roles/bootstrap/meta/argument_specs.yml index ba63a46..00c7b31 100644 --- a/roles/bootstrap/meta/argument_specs.yml +++ b/roles/bootstrap/meta/argument_specs.yml @@ -14,3 +14,8 @@ argument_specs: type: "dict" required: true description: "Check partition_root argument in role: partition, required options: mount_path" + bootstrap_broadcom_wl: + type: "bool" + required: false + default: false + description: "Install broadcom-wl driver (required for BCM4360 on Intel 2012 Macs)" diff --git a/roles/bootstrap/tasks/install-archlinux.yml b/roles/bootstrap/tasks/install-archlinux.yml index 0140f31..033da1d 100644 --- a/roles/bootstrap/tasks/install-archlinux.yml +++ b/roles/bootstrap/tasks/install-archlinux.yml @@ -83,3 +83,29 @@ ansible.builtin.command: cmd: "arch-chroot {{ mnt_root_path }} pacman -S --noconfirm python3" 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 + when: bootstrap_broadcom_wl + +- 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 + when: bootstrap_broadcom_wl + +- name: "Load wl module at boot" + ansible.builtin.copy: + dest: "{{ mnt_root_path }}/etc/modules-load.d/broadcom-wl.conf" + mode: "0644" + content: | + wl + when: bootstrap_broadcom_wl -- cgit v1.2.3