I recently came across a large quantity of Xirrus XR-500 APs for a very good price (about $5 USD each), and was looking to repurpose them for general use. While I don't have a huge amount of experience with custom OpenWRT builds, I have done so successfully, specifically on an Atheros PB44-based AP.
With that said, I have been trying to get a custom build of OpenWRT running on this XR-500 AP, which is based on the Cavium Octeon+ (specifically CN50xx Series) APU. I've made a decent bit of progress, by following info found for running OpenWRT on an XR-2400, but this unit is a bit newer and has a slightly later Octeon. Below is the boot log I get when attempting to boot the OpenWRT image on the device.
Xirrus Boot Loader 6.3.0-6147 (Jun 27 2013 - 12:21:39)
Board | Xirrus CN5020-CP CPU Board
Clocks | CPU : 300 MHz DDR : 666 MHz
I2C Bus | 384 KHz, sampling at 11 MHz
Reset | Reset requested
Watchdog | Enabled (5 secs)
System DDR | 512 MB, DDR2 Unbuffered non-ECC
FLASH | 2 MB, CRC: OK
RTC | Tue 2021-Jul-13 6:03:42 GMT
CPU BIST | pass
PCI | PCI 32-bit, BAR 0: 0x08000000
Radios | 0 1
Network | eth0
USB | 1 Storage Device found
Environment | Saving SCD settings to SCD Flash ... done, Initialized
In: ser_xc
Out: ser_xc
Err: ser_xc
Press space bar to exit to bootloader: 0
[USB 0 ] File : X*.bin
[USB 0 ] Address : 0x6000000
[USB 0 ] Loading : ###################################### done
[USB 0 ] Complete: 2.6 sec, 11.7 MB/sec
[USB 0 ] Bytes : 31666096 (1e32fb0 hex)
[Boot ] Address : 0x06000000
[Image ] Name : OpenWrt Linux-5.4.124
[Image ] Created : 2021-06-21 22:39:48 UTC
[Image ] Type : MIPS Linux Multi-File Image (uncompressed)
[Image ] Size : 31666032 Bytes = 30.2 MB
[Image ] Contents: File 0: 18579376 Bytes = 17.7 MB
[Image ] Contents: File 1: 10334128 Bytes = 9.9 MB
[Image ] Contents: File 2: 2752512 Bytes = 2.6 MB
[Boot ] Image : Verifying image ....... OK
[Boot ] Loading : Multi-File Image .... OK
[Boot ] Watchdog: Disabling .... OK
Error allocating memory for elf image!
## ERROR loading File!
[RESET ]
From the bit of research I've done, this seems to be due to some sort of bug with older U-Boot versions (of which the Xirrus Bootloader is based on). If anyone has any idea of something to try, or what the issue is, please let me know.