Skip to content

Instantly share code, notes, and snippets.

@alexellis
Last active July 6, 2019 18:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexellis/23591b8629b27b2453088e01aebcff72 to your computer and use it in GitHub Desktop.
Save alexellis/23591b8629b27b2453088e01aebcff72 to your computer and use it in GitHub Desktop.
k30s configuration scripts
A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.
# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel
# Inform the DHCP server of our hostname for DDNS.
hostname
# Use the hardware address of the interface for the Client ID.
clientid
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.
#duid
# Persist interface configuration when dhcpcd exits.
persistent
# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit
# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Respect the network MTU. This is applied to DHCP routes.
option interface_mtu
# Most distributions have NTP support.
#option ntp_servers
# A ServerID is required by RFC2131.
require dhcp_server_identifier
# Generate SLAAC address using the Hardware Address of the interface
#slaac hwaddr
# OR generate Stable Private IPv6 Addresses based from the DUID
slaac private
# Example static IP configuration:
interface eth0
static ip_address=192.168.0.100/24
static routers=192.168.0.1
static domain_name_servers=8.8.8.8
#!/bin/sh
exec_cmd() {
echo "[$1] $2"
echo ""
ssh -o ConnectTimeout=1 pi@$1 $2
echo ""
}
# Customize {101..124} for the number of RPis you have i.e. for host in {101..111} for 10 hosts
for host in {101..124}
do
exec_cmd 192.168.0.$host "$@"
done
#!/bin/bash
echo "Host: k30s-$1"
mount /dev/sdc1 /mnt/sd/boot
mount /dev/sdc2 /mnt/sd/root
mkdir -p /mnt/sd/root/home/pi/.ssh/
cat authorized_keys > /mnt/sd/root/home/pi/.ssh/authorized_keys
sed -ie s/raspberrypi/k30s-$1/g /mnt/sd/root/etc/hostname
sed -ie s/raspberrypi/k30s-$1/g /mnt/sd/root/etc/hosts
touch /mnt/sd/boot/ssh
echo "gpu_mem=16" >> /mnt/sd/boot/config.txt
echo "PasswordAuthentication no" >> /mnt/sd/root/etc/ssh/sshd_config
sed s/100/$1/g dhcpcd.conf > /mnt/sd/root/etc/dhcpcd.conf
rm -rf /mnt/sd/root/etc/motd
sync
umount /dev/sdc1
umount /dev/sdc2
echo "Host: k30s-$1"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment