Software
5 minute read
The Interceptor Carrier Board works with standard Linux distributions. The SATA controller (JMB585) and Ethernet switch (RTL8367RB) drivers are included in the mainline kernel and work out of the box.
PoE control requires Exaviz OS — the IP808AR/IP179H PoE controller drivers are not mainlined and are only available in our custom images.
Exaviz OS
Exaviz provides custom OS images based on Debian/Raspberry Pi OS that include:
- RTL8367RB Ethernet switch driver (mainline)
- JMB585 SATA controller driver (mainline)
- IP808AR/IP179H PoE control drivers (Exaviz-specific)
- Optimized kernel configuration
Available Images
| Image | Compute Module | Features |
|---|---|---|
| Desktop | RPi CM4/CM5 | Full desktop environment |
| Server | RPi CM4/CM5 | Headless, optimized for servers |
| Desktop | Banana Pi CM4 | Full desktop environment |
| Server | Banana Pi CM4 | Headless, optimized for servers |
Version Requirements
To use the unified PoE control features (/proc/pse), you must use an OS image
dated 2025-05-01 or newer.
Included Drivers
Ethernet Switch (RTL8367RB)
The 4-port Gigabit switch is managed by the RTL8367RB chip. The driver is included in the kernel and activated automatically.
Features:
- VLAN configuration
- Port mirroring
- QoS settings
- Per-port statistics
SATA Controller (JMB585)
The 5-port SATA controller uses the JMicron JMB585 chip.
Features:
- AHCI mode support
- Hot-plug capability
- RAID support via mdadm (software)
PoE Controller (IP808AR)
When PoE boards are connected, the ip808ar driver provides port control.
Control Interface: /proc/pse
Example commands:
# Check port status (streams continuously, Ctrl+C to stop)
cat /proc/pse
# Disable port 3 on board 0
echo "disable-port 0 3" > /proc/pse
# Enable port 3 on board 0
echo "enable-port 0 3" > /proc/pse
See PoE Control for complete documentation.
Network Configuration
Exaviz OS uses systemd-networkd for network configuration, not dhcpcd like standard
Raspberry Pi OS. Configuration files are in /etc/systemd/network/.
Default Configuration
On first boot, the Ethernet ports are configured as:
| Interface | IP Configuration |
|---|---|
| wan | DHCP client |
| lan0-2 | Unconfigured |
The interface names reflect their function:
- wan - WAN/uplink port (typically used for internet connection)
- lan0, lan1, lan2 - LAN ports (for local devices)
Static IP Example
Use the System Settings GUI (clock icon in upper right) for easy configuration, or
edit network files directly in /etc/systemd/network/.
WiFi Setup
If you used Raspberry Pi Imager to flash your OS image, you may have already configured WiFi during the initial setup. Check if WiFi is working before following the steps below.
For compute modules with WiFi (CM4/CM5 with wireless), configure WiFi using
wpa_supplicant:
# Create WiFi configuration
wpa_passphrase "YourNetworkName" "YourPassword" | \
sudo tee /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
# Enable WiFi at boot
sudo systemctl enable wpa_supplicant@wlan0
sudo systemctl start wpa_supplicant@wlan0
WiFi is pre-configured for DHCP. For static IP, use the System Settings GUI.
Power Saving Tip: If you don’t need WiFi/Bluetooth, disable them via raspi-config
to reduce power consumption.
Storage Configuration
Viewing SATA Drives
# List all block devices
lsblk
# Check SATA controller status
sudo dmesg | grep -i sata
Setting Up RAID
The JMB585 controller supports software RAID via mdadm.
Create partitions on each drive first, then RAID the partitions (not whole drives). This allows easier disk replacement—if a replacement drive is slightly smaller, you can still create a matching partition size.
# Install mdadm if not present
sudo apt install mdadm
# Create partitions on each drive (using entire disk)
sudo parted /dev/sda mklabel gpt
sudo parted /dev/sda mkpart primary 0% 100%
# Repeat for /dev/sdb and /dev/sdc
# Create RAID 5 array using partitions (example with 3 drives)
sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 \
/dev/sda1 /dev/sdb1 /dev/sdc1
# Format and mount
sudo mkfs.ext4 /dev/md0
sudo mount /dev/md0 /mnt/storage
Boot Configuration
Raspberry Pi CM4
Standard boot from eMMC or SD card. Configure via config.txt.
Raspberry Pi CM5
USB boot is not supported on the Interceptor Carrier Board with CM5. The board uses USB 2.0, but CM5 requires USB 3.0 for boot capability.
Boot options for CM5:
- SD Card - If CM5 has blank eMMC, it defaults to SD card boot
- eMMC - Flash OS using rpiboot on a separate IO board
SATA Boot Workaround
The Raspberry Pi firmware cannot boot directly from SATA. However, you can:
- Keep
/bootpartition on eMMC or SD card - Mount root filesystem from SATA drive
- Edit
cmdline.txtto point root to SATA partition
Example cmdline.txt:
root=/dev/sda1 rootfstype=ext4 ...
Updating Software
System Updates
sudo apt update
sudo apt upgrade
The Exaviz OS uses a custom-built kernel. Do not attempt to upgrade the kernel through apt—this may break hardware support.
raspi-firmware Package Error
If you see an error during apt upgrade about raspi-firmware:
Error: missing /boot/firmware, did you forget to mount it?
This is a known issue with Raspberry Pi OS Bookworm (Debian 12). The raspi-firmware package expects /boot/firmware to be a mount point, but on Interceptor systems it’s a regular directory.
Workaround:
# Bind mount /boot/firmware to itself (makes it appear as a mount point)
sudo mount --bind /boot/firmware /boot/firmware
# Configure the package
sudo dpkg --configure -a
After this, apt upgrade should work normally. The bind mount persists until reboot. Alternatively, install the exaviz-dkms package which includes a fix for this issue.
Troubleshooting
Drivers not loading
# Check loaded modules
lsmod | grep -E "(rtl|jmb|ip808)"
# Check kernel messages for errors
sudo dmesg | tail -50
Network interface missing
# List all interfaces
ip link show
# Check switch driver status
sudo dmesg | grep rtl
Next Steps
- Downloads - Get the latest OS images
- Installation - Flashing instructions
- FAQ - Common questions
Last modified January 11, 2026