child="bill-of-materials", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="bill-of-materials", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="bill-of-materials", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="bill-of-materials", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="bill-of-materials", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="bill-of-materials", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="bill-of-materials", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="bill-of-materials", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="bill-of-materials", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="bill-of-materials", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
Meta:
child="assembly-instructions", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="assembly-instructions", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="assembly-instructions", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="assembly-instructions", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="assembly-instructions", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="assembly-instructions", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="assembly-instructions", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="assembly-instructions", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="assembly-instructions", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="assembly-instructions", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
Meta:
child="os-setup", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="os-setup", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="os-setup", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="os-setup", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="os-setup", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="os-setup", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="os-setup", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="os-setup", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="os-setup", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="os-setup", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
Meta:
child="shared-storage", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="shared-storage", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="shared-storage", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="shared-storage", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="shared-storage", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="shared-storage", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="shared-storage", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="shared-storage", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="shared-storage", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="shared-storage", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
Meta:
child="install-munge", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-munge", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-munge", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-munge", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-munge", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-munge", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-munge", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-munge", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-munge", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-munge", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
Meta:
child="install-libaio", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-libaio", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-libaio", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-libaio", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-libaio", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-libaio", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-libaio", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-libaio", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-libaio", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-libaio", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
Meta:
child="install-ncurses", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-ncurses", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-ncurses", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-ncurses", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-ncurses", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-ncurses", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-ncurses", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-ncurses", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-ncurses", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-ncurses", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
Meta:
child="install-mysql", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-mysql", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-mysql", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-mysql", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-mysql", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-mysql", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-mysql", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-mysql", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-mysql", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
child="install-mysql", site.site_content IDs: [null,null,null,null,null,null,null,null,null,null]
Meta:
OS Setup
We used the Raspberry Pi Imager program to install the OS on each MicroSD card.
We chose the Raspberry PI OS Lite version (without the desktop environment) of the OS.
For the settings, we opted to set the following: Under “General”, we set the hostname, username and password, configured the Wireless LAN, and locale settings; under “Services”, we enabled ssh access with our public ssh key that we had already created prior with ssh-keygen from the cli (if not done prior, the “Run ssh-keygen” button in the Imager GUI can be used). We did this for each of the four MicroSD cards, giving each one a slightly different hostname, username, and password. When choosing the hostname, we considered that the SLURM scheduler (which we will be using later) expects a common string followed by incremental numbers (such as “node00”, “node01”, etc.).
After each MicroSD card is created, we started to set up the Pis incrementally. First we set up the 2GB that we intend to use as the “head node” (containing the direct connection to the SSD), and then move down the case. Each time, we ensure that it connects successfully to the network, and then assign it a static IP address on the router. We also, in preparation for SLURM/MPI connectivity, run ssh-keygen on each Pi, add the public keys (the contents of the file .ssh/id_rsa.pub, if the defaults in sh-keygen were used) to the authorized keys file (~/.ssh/authorized_keys) of the previous Pis, and add an entry in the .ssh/config file for each of the other Pis as in the following example:
Host pi01
HostName 10.0.0.100
User pi01
IdentityFile ~/.ssh/id_rsa
(Replace the IP address in the HostName entry with the correct static IP address assigned on the router, and the User entry with the username given in the Imager.) Then test the ssh connection between each Pi, by issuing ssh pi01 commands (where pi01 is whatever was entered in the Host field in the .ssh/config file).