Skip to content

Commit

Permalink
x86: add support for Mellanox Spectrum Switches
Browse files Browse the repository at this point in the history
The Mellanox Spectrum Switches are Managed Ethernet Switches
with speeds up to 800Gb/s. They utilize the switchdev API
to offload the kernel's forwarding plane to a real ASIC.

Tested on a Mellanox Spectrum SN2100 with the following specs:
 - CPU: Intel ATOM x86 dual-core 2.4GHz
 - RAM: 8GB
 - Disk: 16GB SSD
 - Ports: 16x QSFP28 100GbE, 1x 100M Mgmt Port, 1x RJ45 Serial Port
 - USB: 1x mini 2.0
 - Button: 1x (reset)
 - LEDs: 6x

Installation:
 - Create a bootable USB device (either by flashing this image
   onto it or another Linux distribution)
 - Unzip the image
   (openwrt-x86-64-mlnx-spectrum-ext4-combined-efi.img.gz)
   and copy it onto the USB device
 - Plug the USB device into the Mellanox Switch and boot from it
 - Flash the image (e.g., with dd) onto the internal SSD
   of the switch (should be /dev/sda)

To enter the BIOS, reboot the switch and press CTRL+B while you see
the BIOS information text (American Megatrends …). The default password
to enter the BIOS is 'admin'. To boot from the USB device, switch to the
'Save & Exit' tab and select your USB device from the Boot Override options.

Signed-off-by: Til Kaiser <mail@tk154.de>
  • Loading branch information
tk154 committed Jul 23, 2024
1 parent 1c51329 commit 9017807
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
1 change: 1 addition & 0 deletions config/Config-images.in
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@ menu "Target Images"
config GRUB_CONSOLE
bool "Use Console Terminal (in addition to Serial)"
depends on GRUB_IMAGES || GRUB_EFI_IMAGES
default n if TARGET_x86_64_DEVICE_mlnx_spectrum
default y

config GRUB_BAUDRATE
Expand Down
12 changes: 12 additions & 0 deletions target/linux/x86/image/64.mk
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,15 @@ define Device/generic
GRUB2_VARIANT := generic
endef
TARGET_DEVICES += generic

define Device/mlnx-spectrum
DEVICE_VENDOR := Mellanox
DEVICE_MODEL := Spectrum
DEVICE_PACKAGES += \
kmod-mlxsw-spectrum kmod-leds-mlxcpld kmod-mlx_wdt \
kmod-mlxreg kmod-mlxreg-lc kmod-mlxreg-sn2201 \
kmod-hwmon-coretemp kmod-hwmon-drivetemp kmod-hwmon-jc42 \
kmod-i2c-i801 kmod-e1000e kmod-igb mlxsw_spectrum-firmware
GRUB2_VARIANT := generic
endef
TARGET_DEVICES += mlnx-spectrum

0 comments on commit 9017807

Please sign in to comment.