From 3004c20614fdb29732f750417a578274a8ed988e Mon Sep 17 00:00:00 2001 From: Til Kaiser Date: Fri, 15 Sep 2023 14:06:38 +0200 Subject: [PATCH] x86: add support for Mellanox Spectrum SN2000 Switches MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The Mellanox Spectrum SN2000 Series Switches are Managed Ethernet Switches with a maximum speed of 100Gb/s and up to 56 ports. 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 generic OpenWrt x64 image 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 Boot index tab and set your USB device at the top of the boot order (the internal SSD should be currently there). Don't forget to set the SSD back at the top after you have flashed the image. Signed-off-by: Til Kaiser [unify with generic x64 image] Signed-off-by: David Bauer --- target/linux/x86/base-files/etc/board.d/02_network | 3 +++ target/linux/x86/image/64.mk | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/target/linux/x86/base-files/etc/board.d/02_network b/target/linux/x86/base-files/etc/board.d/02_network index e00e8c04dd..0a0f32eb80 100644 --- a/target/linux/x86/base-files/etc/board.d/02_network +++ b/target/linux/x86/base-files/etc/board.d/02_network @@ -31,6 +31,9 @@ cisco-mx100-hw) ucidef_set_network_device_path "eth11" "pci0000:00/0000:00:01.1/0000:02:00.2" ucidef_set_interfaces_lan_wan "mgmt eth2 eth3 eth4 eth5 eth6 eth7 eth8 eth9 eth10 eth11" "wan" ;; +mellanox-technologies-ltd-msn2100) + ucidef_set_interface_lan "eth1 eth2 eth3 eth4 eth5 eth6 eth7 eth8 eth9 eth10 eth11 eth12 eth13 eth14 eth15 eth16" + ;; pc-engines-apu1|pc-engines-apu2|pc-engines-apu3) ucidef_set_interfaces_lan_wan "eth1 eth2" "eth0" ;; diff --git a/target/linux/x86/image/64.mk b/target/linux/x86/image/64.mk index 5ec9978b66..718ff4f63d 100644 --- a/target/linux/x86/image/64.mk +++ b/target/linux/x86/image/64.mk @@ -4,7 +4,11 @@ define Device/generic DEVICE_PACKAGES += \ kmod-amazon-ena kmod-amd-xgbe kmod-bnx2 kmod-e1000e kmod-e1000 \ kmod-forcedeth kmod-fs-vfat kmod-igb kmod-igc kmod-ixgbe kmod-r8169 \ - kmod-tg3 + kmod-tg3 kmod-mlxsw-core kmod-mlxsw-pci kmod-mlxsw-i2c \ + kmod-mlxsw-spectrum kmod-mlxsw-minimal kmod-mlxfw \ + kmod-leds-mlxcpld kmod-lib-objagg kmod-lib-parman \ + kmod-hwmon-coretemp kmod-hwmon-drivetemp kmod-hwmon-jc42 \ + kmod-i2c-i801 mlxsw_spectrum-firmware GRUB2_VARIANT := generic endef TARGET_DEVICES += generic -- 2.30.2