How to get started

When you apply power to the Turing Pi 2 board, the BMC will start automatically and go through its boot process. On default, no power is applied to any of the nodes. Take a look at the $tpi CLI command line tool to turn on nodes or control other parts of the board.

There are a couple of points to be aware of when you receive your new board:

  • How to verify and update to the latest firmware version
  • How to log in to the board over a serial connection. See Serial Console
  • SSH root login is enabled by default and exposed over the default SSH port. We recommend additional security measures if this port is reachable from outside your local network. Read more here

Latest firmware

The documentation always reflects the latest version of the BMC firmware. Therefore please check and update if you are running an older firmware version. The version can be found on the webpage of your turning-pi by navigating to the 'other' tab. The version is described as bmc version. The latest firmware can be downloaded from the releases page on our github.

BMC Update describes how to flash the firmware to the board.

Serial Console

The serial console can connect to the BMC's to view the system's boot process, kernel messages, and other debug information. This can be extremely useful for troubleshooting issues and understanding how the BMC firmware works and interacts with the rest of the system. Additionally, the USB to TTL converter cable will allow you to access the BMC's command line interface (CLI) and make configuration changes, if necessary. The username and password are the same as for SSH access.

  • User: root
  • Password: turing

Follow ADB shell guide to reset root password

USB to TTL

Windows USB to TTL
Linux USB to TTL
MacOS USB to TTL

SSH

BMC after booting up will start a standard SSH server on port 22. You can use any of your favorite SSH client to log in.

  • User: root
  • Password: turing

📘

If you have an older version of BMC Firmware, SSH access as root is not allowed and needs to be changed via Serial Console. You can either flash the new version of BMC Firmware or use the Serial Console to log in and change the settings with the following one-liner:

sed -i.bkp -E 's/^#?PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \  
/etc/init.d/S50sshd restart

Increase Protection

SSH is notorious because of the numerous attacks that are attempted on it. If your system is reachable outside your local network, we recommend you take extra measures to protect your bmc.

  1. Disable PasswordAuthentication.

SSH keys provide better security to passwords for ssh authentication. This page has a good tutorial on how to set up key authentication. While reading this tutorial, consider client1 as your own machine and server1 as the BMC. BMC IP explains how to determine the IP address for copying the keys.

Note: Its possible to lock yourself out of ssh performing the last step, which disables password authentication. As a tip, check you can log in successfully with the keys before disabling password authentication. You would need to log in with the serial connection or, worst case, reflash your board if you don't have a serial cable to recover sshd.

  1. Disable root login

BMC IP

Before you can SSH or interact with the WWW interface or API provided by BMC, you must determine its IP on your network.

mDNS

Since firmware v1.1.0, mDNS is enabled by default. This means that the board is reachable via its hostname, which is turingpi by default. The IP address can be retrieved using the ping command:

ping turingpi.local

Alternatively, you can find the board's IP address and firmware version in the "other" tab of the web interface. To open it, enter turingpi.local in your browser's address bar.

📘

Conflicting hostnames

hostnames get post-fixed with a '-' and running number when there are multiple turing-pi's connected to the same network. i.e. a second turing-pi would be discoverable under turnigpi-2.local

Of course you can reach the turing-pi via its hostname, however be aware that the current $tpi tool cant work with hostnames yet.

NMAP (deprecated)

The other way to get the IP of BMC on Linux, Windows and Mac is to install nmap. For windows, you can get nmap binary, but we would recommend using the Windows Subsystem for Linux (WSL)
Tutorial on how to turn it on

Set Fixed IP

Once you are logged in, you might want to set up a fixed IP for your BMC.

In Buildroot Linux OS, you can set a fixed IP, netmask, and gateway by configuring the network settings in the root filesystem. Here are the general steps to set a fixed IP, netmask, and gateway:

Configure the network settings:
You can configure the network settings in the file /etc/network/interfaces in the root filesystem. For example, to set a fixed IP of 192.168.1.100, netmask of 255.255.255.0, and gateway of 192.168.1.1 on the eth0 interface, you can add the following lines to the file using vi (or nano, since version 1.0.2) as an editor.

# interface file auto-generated by buildroot

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.1.100
  netmask 255.255.255.0
  gateway 192.168.1.1
  pre-up /etc/network/nfs_check
  wait-delay 15
  hostname $(hostname)

Configure DNS settings:

You can configure the DNS settings in the file /etc/resolv.conf in the root filesystem.

For example, setting the DNS server to 8.8.8.8

Currently the original file looks like this:

search localdomain # eth0
nameserver 1.1.1.1 # eth0
nameserver 1.0.0.1 # eth0
nameserver 4.4.4.4 # eth0

Change it to:

nameserver 8.8.8.8 # eth0

Restart the network:

After configuring the network settings, you must restart the network service. You can do this by running this command: /etc/init.d/S40network restart

Check if the IP is set correctly:

You can use commands like ip -a, ifconfig or route -n to check the current IP configuration of the device, you should see that the IP, netmask, and gateway are set to the values you configured.

These settings will persist during the restart of BMC.