🛠 Deploy a compact NAS with Xerxes Pi 2026 and PoE
Objectifs
This tutorial aims to transform the Xerxes Pi 2026 carrier board into an autonomous NAS (Network Attached Storage) server, powered by PoE and using an NVMe drive for fast transfers. You will learn to assemble the hardware, configure the operating system for NVMe booting, and share files over the local network.
Matériel nécessaire
- Xerxes Pi 2026 carrier board.
- Raspberry Pi CM4 or CM5 module.
- M.2 NVMe SSD (2230 or 2242 format recommended due to compactness).
- PoE-compatible network switch or PoE injector.
- RJ45 Ethernet cable.
- Micro-computer for initial configuration.
Étapes
- Hardware Assembly: Gently insert the CM module into the 100-pin mezzanine connectors until it clicks. Mount the NVMe drive in the M.2 slot under the board, ensuring the provided heat sink is in good contact with the SSD controller.
- PoE Powering: Connect the Ethernet cable to the BCM54210PE Gigabit port on the board. Ensure your switch or injector provides PoE or PoE+ standard. The board's internal bridging will automatically detect the power source via the Type-C port or PoE, eliminating the need for an external power adapter.
- System Installation: Use a USB-to-SD adapter or another Pi board to flash Raspberry Pi OS or Ubuntu Server onto an SD card. Insert the SD card into the CM module (if the interface is exposed) or use the USB-C interface for Recovery mode if necessary. For optimal performance, configure the CM module firmware to boot from NVMe once the system is installed on the SSD via a temporary USB adapter.
- Storage Configuration: Once connected via SSH, identify the NVMe drive with the
lsblkcommand. Format it (e.g.,sudo mkfs.ext4 /dev/nvme0n1p1) and mount it in a dedicated folder, for example,/mnt/nas. Add the corresponding entry in/etc/fstabfor automatic mounting at startup.
- Network Sharing: Install Samba with
sudo apt install samba. Edit the/etc/samba/smb.conffile to define a new share[NAS]pointing to/mnt/nas. Create a Samba user withsudo smbpasswd -a your_userand restart the service withsudo systemctl restart smbd.
Vérification
Verify that the system boots correctly without a USB-C power cable, confirming that PoE is active. From another device on the network, attempt to access the share via the board's IP address (e.g., smb://board_ip/NAS). Transfer a test file to validate read/write speeds on the NVMe.
Pour aller plus loin
Explore the provided macOS application to monitor temperatures and Docker container status. You can also configure Nextcloud for secure web access or use the Qwiic connectors to add environmental sensors (temperature/humidity) to monitor the NAS's operating conditions.
Other tutorials for this board
Code examples for this board
poe-status-monitor.pypythonnvme-benchmark.shbashqwiic-bme280-reader.pypythonpwm-fan-control.pypythonethernet-poe-config.shbashnvme_storage_benchmark-6.inobash