Zen
3 years ago
3 changed files with 88 additions and 3 deletions
@ -0,0 +1,82 @@
|
||||
#!/bin/bash |
||||
|
||||
# Prepares the boot and file system sectors of a Raspberry Pi for on-network use |
||||
# Zen, 2022 |
||||
|
||||
# Font decoration for better a e s t h e t i c |
||||
RED="\e[0;91m" |
||||
GREEN="\e[0;92m" |
||||
BLUE="\e[0;94m" |
||||
BOLD="\e[1m" |
||||
ULINE="\e[4m" |
||||
NC="\e[0m" |
||||
|
||||
# ------------------- Step 1 - Select USB ------------------- |
||||
|
||||
echo "Looking for USB devices..." |
||||
echo "" |
||||
echo -e "${ULINE}Found these!${NC}" |
||||
lsblk -pdo NAME,MODEL,TRAN | grep usb > usb-list |
||||
i=1 |
||||
while read -u 11 line; do |
||||
echo -e "${BOLD}$i.${NC} $line" |
||||
i=$((i+1)) |
||||
done 11<usb-list |
||||
echo "" |
||||
|
||||
read -p "Which one is your Raspberry Pi USB? type a number, or 'c' to cancel: " -n1 usb |
||||
echo "" |
||||
echo "" |
||||
case $usb in |
||||
c) |
||||
exit |
||||
;; |
||||
[1-9]) |
||||
target=$(sed "${usb}q;d" usb-list | awk '{print $1}') |
||||
echo -e "Targeting ${GREEN}$target${NC} for configuration." |
||||
;; |
||||
*) |
||||
echo "lol what the heck does $usb mean" |
||||
exit |
||||
;; |
||||
esac |
||||
rm usb-list |
||||
echo "" |
||||
|
||||
# ------------------- Step 2 - Prepare Boot Sector ------------------- |
||||
|
||||
sudo mkdir -p /mnt |
||||
sudo mount ${target}1 /mnt |
||||
read -p "Do you plan on using this RPi as part of a cluster? (y/n): " -n1 boot |
||||
case $boot in |
||||
y | Y) |
||||
echo "Configuring for clustering..." |
||||
sudo bash -c "echo cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory >> /mnt/cmdline.txt" |
||||
;; |
||||
esac |
||||
echo "" |
||||
echo "Enabling SSH" |
||||
sudo touch /mnt/ssh |
||||
|
||||
sudo umount ${target}1 |
||||
sleep 1 |
||||
|
||||
echo "Done with the boot sector." |
||||
echo "" |
||||
|
||||
|
||||
# ------------------- Step 2 - Prepare File System Sector ------------------- |
||||
|
||||
sudo mkdir -p /mnt |
||||
sudo mount ${target}2 /mnt |
||||
read -p "Enter a hostname for this device (leave blank to skip): " hostname |
||||
if [[ ! -z $hostname ]]; then |
||||
sudo bash -c "echo ${hostname} > /etc/hostname" |
||||
echo "Hostname configured to $hostname" |
||||
fi |
||||
|
||||
sudo umount ${target}2 |
||||
sleep 1 |
||||
|
||||
echo "Done with the file system, you're ready to go!" |
||||
echo "" |
Loading…
Reference in new issue