Been running LE9 for a while on the Pi Zero 2 W, it is effectively a PI3 in a PI0 body, with a different chipid designated for the new silicon. While the BCM43430 wireless has been changed to BCM43436, it will operate pretty much the same as a Pi3B. If you are using a wired ethernet setup, not much is needed to do in order to get it working. If you are going to use a wireless setup, the posted BCM43436 firmware can be used to overwrite the BCM43430 firmware in the LE9 package.
Grab both the posted LE9 and LE11 images for the Pi3 ...
- https://releases.libreelec.tv/LibreELEC-RPi2.arm-9.2.8.img.gz
- https://test.libreelec.tv/LibreELEC-RPi2…-7f19d9f.img.gz
Create the images onto your SD cards so that you can copy the necessary files to get LE9 booting. This can either be done by replacing all the system files from the LE11 release being merged into the LE9 release or just the core components simply impacting the VCOS from booting due to the unfamiliar chipid.
Minimal way:
- Copy "bcm2710-rpi-3-b.dtb" the LE9 SD card to "bcm2710-rpi-zero-2.dtb".
- Copy "fixup.dat" and "start.elf" from the LE11 SD card to the LE9 SD card.
LE9 will boot and operate just like it does on the Pi3B, less wireless support since the BCM43436 firmware is missing in the package.
Another way:
- Copy to merge all the system files from the LE11 SD card over to the LE9 SD card, everything in the "overlays" folder, all the "*.dtb" files, "bootcode.bin", "fixup.dat", "start.elf" in the root directory since the latest drops contain the necessary components supporting the current chips.
LE9 will now also work, less of course the wireless capabilities due to the firmware issue.
To fix the wireless issue, the "SYSTEM" file from the LE9 SD card will need to be amended. The LE9 release recognizes the sister BCM43436 as a BCM43430 device, however the binary firmware to drive it is not present. Latest Linux kernels with the BCM43436 firmwares are correctly recognized and load their appropriate drivers, but the legacy LE9 kernel does not. No big deal, the BCM43430 firmware can be simply replaced with the BCM43436 firmware and repackaged.
This process will require at least getting RaspiOS setup, then unpacking the squashfs "SYSTEM" file, copying the BCM43436 firmware files over the BCM43430 firmware files, and then repacking the squashfs "SYSTEM" file.
This approach voids the md5 signature, obviously, but corrects the short-coming until a "refresh" of the LE9 is considered, if ever.
For example:
##############################################
# LibreELEC #
# https://libreelec.tv #
##############################################
LibreELEC (official): 9.2.8 (RPi2.arm)
raspi02w:~ # dmesg
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.19.127 (jenkins@tsuboi) (gcc version 8.3.0 (GCC)) #1 SMP Tue Jul 6 19:08:28 CEST 2021
[ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Raspberry Pi Zero 2 W Rev 1.0
[ 0.000000] Memory policy: Data cache writealloc
.....
[ 7.122700] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/2
[ 7.122962] usbcore: registered new interface driver brcmfmac
[ 7.308994] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/2
[ 7.309113] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[ 7.310568] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/2 wl0: Oct 9 2020 14:44:32 version 9.88.4.65 (test) (f149b32@shgit) (r679549) FWID 01-f40f3270
[ 7.876896] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 7.876917] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[ 8.678789] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
While the low memory footprint impacts the Pi Zero 2 W running on LE9, it behaves better than when it is running on the Pi Zero W by a mile.