[SOLVED] Kernel 7.0.0-28 boot failure / Broadcom BCM4360 Wi-Fi on MacBook Air – Zorin OS
I ran into a boot problem after updating Zorin OS to kernel 7.0.0-28-generic on an older Intel MacBook Air.
The machine is a MacBook Air with a Broadcom Wi-Fi adapter:
Broadcom Inc. BCM4360 802.11ac Dual Band Wireless Network Adapter
PCI ID: 14e4:43a0
The previous kernels 6.17.0-29 and 6.17.0-35 worked, including Wi-Fi.
After the 7.0.0-28 kernel was installed, the system initially failed to boot correctly. I eventually booted a Zorin live USB and mounted/chrooted into the installed system.
The installed system was on /dev/sda2 and EFI on /dev/sda1:
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /run /mnt/run
sudo chroot /mnt
One problem was that the new kernel had been installed but its initramfs was missing. /boot contained:
vmlinuz-7.0.0-28-generic
System.map-7.0.0-28-generic
config-7.0.0-28-generic
but no corresponding initrd.img.
I recreated it manually:
update-initramfs -c -k 7.0.0-28-generic
update-grub
This restored normal booting.
Broadcom DKMS problem
There was still another problem. During configuration of kernel 7.0.0-28, DKMS failed while compiling the Broadcom STA driver:
dkms autoinstall on 7.0.0-28-generic/x86_64 failed for broadcom-sta
Error! Bad return status for module build on kernel: 7.0.0-28-generic
The machine had:
broadcom-sta-dkms
6.30.223.271-23ubuntu1.2+zorin1
installed.
However, checking the package policy showed that the Zorin driver repository contained a newer patched version:
6.30.223.271-29ubuntu1+zorin2
from:
packages.zorinos.com/zorinos/drivers/ubuntu
After updating/installing the newer Zorin Broadcom package and completing the pending package configuration, DKMS successfully built the Broadcom module for kernel 7.0:
broadcom-sta/6.30.223.271, 6.17.0-35-generic, x86_64: installed
broadcom-sta/6.30.223.271, 7.0.0-28-generic, x86_64: installed
I then rebuilt initramfs/GRUB as necessary and rebooted.
The machine now boots normally with:
uname -r
returning:
7.0.0-28-generic
and Broadcom BCM4360 Wi-Fi works normally under kernel 7.0.0-28.
Important point
If you have a MacBook/MacBook Air with BCM4360 and broadcom-sta-dkms fails when moving to kernel 7.0, check which Broadcom package you have:
apt policy broadcom-sta-dkms
In my case the older:
6.30.223.271-23ubuntu1.2+zorin1
failed to build against kernel 7.0, while the newer Zorin patched package:
6.30.223.271-29ubuntu1+zorin2
successfully built and works.
Also verify DKMS afterwards:
dkms status
You should see broadcom-sta installed for the new kernel.
So, at least for BCM4360 [14e4:43a0], there is no need to stay on kernel 6.17 simply because of the Broadcom STA driver — the newer Zorin package works with 7.0.0-28.
“Zorin kernel 7.0 Broadcom BCM4360 dkms failed”.