Brocade’s ICX series switches, particularly models like the ICX6450 and ICX7xxx, are known for their robust performance in enterprise networking environments. While they present a familiar FastIron operating system to the user, under the hood, these powerful devices run on a Linux foundation. This article delves into the fascinating capability of accessing the underlying Linux system on these switches, offering a deeper level of control and customization for advanced users who want to truly Serve The Home network or lab environment with tailored configurations and debugging capabilities.
Initially, the larger ICX6610 utilized a PowerPC processor with a proprietary bootloader. However, Brocade transitioned to ARM platforms for models like the ICX6450, adopting the widely-used u-boot bootloader. This shift brought Linux into the picture, with FastIron operating as a monolithic application on top of it. While this underlying architecture remains transparent to the average user, the open-source nature of u-boot and Linux (protected under GPL) mandates that Arris (now the parent company of Ruckus, which owns the ICX line) provide the source code for these components. Arris has shown commitment to open source compliance by diligently providing product source code on their SourceForge site, and sources related to FastIron are reportedly being added.
By examining a RAM dump of a running ICX6450, insightful INIT scripts reveal hidden functionalities within the Linux system. Specifically, the system checks for boot arguments like “noautostart” and “enabletelnet.” These strings, when passed by the bootloader, unlock two distinct methods for accessing the Linux environment, allowing users to bypass the standard FastIron interface and interact directly with the system’s core. These methods are invaluable for in-depth troubleshooting, custom configurations, and gaining a comprehensive understanding of the switch’s operational mechanics, ultimately enabling users to better serve the home network with expert-level control.
Method 1: Disabling FastIron AutoStart for Direct Linux Access
This method provides a straightforward way to halt the automatic startup of the FastIron application, dropping you directly into the Linux command line interface. This is particularly useful for users who need raw access to the system for debugging or low-level configuration without the FastIron layer. It’s important to note that in this mode, standard networking software is not loaded, and access is limited to the serial console.
To utilize this method, you will need a serial cable to connect to your ICX switch. Follow these steps:
-
Access the Bootloader: Reboot your ICX switch and interrupt the boot process by pressing ‘b’ when prompted to enter the bootloader.
-
Set Boot Argument: In the bootloader prompt, execute the following command:
setenv extra_bootargs noautostart boot
This command instructs the bootloader to pass the “noautostart” argument to the kernel during boot. The
boot
command then initiates the boot process.Important Note: This setting is temporary and is not saved to persistent memory. Upon subsequent reboots or power cycles without this argument, the switch will boot normally into FastIron.
-
Linux Shell Access: The switch will proceed with the boot process but will bypass FastIron startup, landing you directly at the Linux shell prompt:
BusyBox v1.18.3 (2013-11-22 14:33:50 IST) built-in shell (ash) Enter 'help' for a list of built-in commands. / #
-
Exploring the Linux Environment: At this prompt, you have access to a BusyBox shell environment. Typing
help
will show a limited set of commands. However, pressing the Tab key twice will reveal a comprehensive list of available utilities, including familiar tools likewget
,curl
,vi
, andftpput
. You can explore the file system using commands likels
:/ # ls FastIron.xz bin dev ftp home lib mnt proc sbin sys tmp usr var fast_iron etc fast_iron init root tftpboot / #
The
fast_iron
directory contains startup configurations saved from the FastIron CLI and various log files. -
Rebooting to FastIron: To return to the normal FastIron operating system, simply issue the
reboot
command at the Linux prompt.
This image illustrates the Linux command-line interface accessed via the serial console on a Brocade ICX switch after disabling FastIron autostart. It highlights the BusyBox shell prompt and the file system structure, showcasing the raw Linux environment available for advanced users to explore and configure.
Method 2: Enabling a Hidden Telnet Server for Live Debugging
This method offers a less intrusive way to access the underlying Linux system while keeping the FastIron operating system running. By enabling a hidden telnet server, you gain concurrent access to both the FastIron CLI and the Linux shell, which is particularly beneficial for live debugging and monitoring the system’s behavior without disrupting normal switch operation. This approach allows you to serve the home network reliably with FastIron while simultaneously exploring the Linux foundation.
Here’s how to enable the hidden telnet server:
-
Access the Bootloader: As with Method 1, reboot your ICX switch and press ‘b’ to enter the bootloader.
-
Set Boot Arguments and IP Address: In the bootloader prompt, execute the following commands:
setenv extra_bootargs enabletelnet setenv ipaddr 192.168.1.57 boot
The
setenv extra_bootargs enabletelnet
command instructs the system to start the hidden telnet server. Thesetenv ipaddr 192.168.1.57
command sets the IP address for the Linux OS, which will host the telnet server. Choose an IP address that is not in use on your network, and importantly, different from any management IP assigned to the FastIron switch. Theboot
command then starts the boot process.Important Note: Similar to Method 1, these settings are temporary and not saved persistently.
-
Telnet Access to Linux: The switch will boot into FastIron as usual, and the hidden telnet server will be active on the management port at the IP address you specified (e.g., 192.168.1.57). You can now telnet to this IP address using a telnet client:
telnet 192.168.1.57
Upon successful connection, you will be presented with the Linux command-line interface:
Welcome to FastIron Board's Telnet session _ _ | ||_| | _ | || | _ ____ _ _ _ _ | || | | | | / / | || | | | | || | | | |_| / /|_||_|_| |_|____|_/_/ On Brocade's FastIron board BusyBox v1.18.3 (2013-11-22 14:33:50 IST) built-in shell (ash) Enter 'help' for a list of built-in commands. / # ls FastIron.xz bin dev ftp home lib mnt proc sbin sys tmp usr var fast_iron etc fast_iron init root tftpboot / #
You now have full Linux CLI access while FastIron continues to operate, allowing for powerful debugging and system analysis.
Conclusion
Accessing the underlying Linux system on Brocade ICX switches opens up a realm of possibilities for advanced users. Whether you choose to disable FastIron for direct Linux interaction or enable the hidden telnet server for concurrent access, these methods provide invaluable tools for deeper system understanding, customization, and troubleshooting. For those looking to truly serve the home network or a sophisticated lab environment, these techniques unlock a level of control and insight far beyond the standard switch interface, allowing for tailored configurations and a more profound understanding of these powerful networking devices. By leveraging these hidden capabilities, users can maximize the potential of their Brocade ICX switches for demanding and specialized networking needs.