Helotism

Yet another Raspberry Pi Cluster

Anatomy of the Bootstrap Script

The script needs to be run on a Linux installation and was tested with bash.

It check the dependencies

and fails if one or more of them are not installed.

Configuration Items

It tries to detect the remote Github repository URL as a suggestion when prompting for these configuration items:

These configuration items are used as parameters to call the SD card setup script, and written onto the card’s filesystem for future reference.

It will detect the block device name of SD cards when prompted to remove and re-insert a SD card.

It computes the IP address of the special master node as xxx.yyy.zzz.1 and sets the network segment to a /24 subnet of 255.255.255.0 (this is just because it is easy in bash to do).

Default values

variable name getopts parameter default
__GITREMOTEORIGINURL https://github.com/helotism/helotism.git -r
__GITREMOTEORIGINBRANCH master -g
__COUNT 2 -c
__MASTERHOSTNAME axle -m
__HOSTNAMEPREFIX spoke0 -n
__NETWORKSEGMENTCIDR 10.16.6.1/24 -s
__DHCPRANGESTARTIP 10.16.6.100 -a
__DHCPRANGEENDIP 10.16.6.200 -o
__FQDNNAME wheel.example.com -d
__BLOCKDEVICE /dev/null -b

It will also prepare a user with full sudo rights names helotism and the password helotism. This user is not activated by default though.

With these configuration items the SD card setupt script is called. It is possible to do so directly with the necessary parameters. This comes in handy to add just one other node.

./application/physical/scripts/bootstrap-arch.sh -d wheel.prdv.de -m axle -s 10.16.13.1/24 -c 4 -n cog0 -b /dev/nall

At several times during the installation the scripts asks for user confirmation. It is possible to

The following graphic wants to put the user’s mind at ease about a block-device-overwriting script:

foo