1
0
mirror of https://github.com/tboerger/nixos-config synced 2024-11-26 07:43:45 +01:00

feat: move partition scripts into machine folders

This commit is contained in:
Thomas Boerger 2022-11-17 13:32:11 +01:00
parent 87df128a90
commit 568fff5582
No known key found for this signature in database
GPG Key ID: 09745AFF9D63C79B
7 changed files with 246 additions and 28 deletions

@ -24,7 +24,7 @@ latest changes pulled in.
sudo loadkeys de
sudo nix-shell --packages nixUnstable
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/scripts/chnum-partitions)"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/desktops/chnum/partitions.sh)"
mkdir -p /mnt/etc/ssh
cp /etc/ssh/ssh_host_* /mnt/etc/ssh/
@ -37,7 +37,7 @@ nixos-install --no-root-password --root /mnt --flake github:tboerger/nixos-confi
sudo loadkeys de
sudo nix-shell --packages nixUnstable
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/scripts/hathor-partitions)"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/desktops/hathor/partitions.sh)"
mkdir -p /mnt/etc/ssh
cp /etc/ssh/ssh_host_* /mnt/etc/ssh/
@ -50,7 +50,7 @@ nixos-install --no-root-password --root /mnt --flake github:tboerger/nixos-confi
sudo loadkeys de
sudo nix-shell --packages nixUnstable
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/scripts/osiris-partitions)"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/desktops/osiris/partitions.sh)"
mkdir -p /mnt/etc/ssh
cp /etc/ssh/ssh_host_* /mnt/etc/ssh/
@ -88,7 +88,7 @@ EOF
nixos-generate -o /root/result -f kexec-bundle -c /root/config.nix
/root/result
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/scripts/niflheim-partitions)"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/servers/niflheim/partitions.sh)"
mkdir -p /mnt/etc/ssh
cp /etc/ssh/ssh_host_* /mnt/etc/ssh/
@ -101,7 +101,7 @@ nixos-install --no-root-password --root /mnt --flake github:tboerger/nixos-confi
sudo loadkeys de
sudo nix-shell --packages nixUnstable
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/scripts/asgard-partitions)"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/servers/asgard/partitions.sh)"
mkdir -p /mnt/etc/ssh
cp /etc/ssh/ssh_host_* /mnt/etc/ssh/
@ -114,7 +114,7 @@ nixos-install --no-root-password --root /mnt --flake github:tboerger/nixos-confi
sudo loadkeys de
sudo nix-shell --packages nixUnstable
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/scripts/utgard-partitions)"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tboerger/nixos-config/master/servers/utgard/partitions.sh)"
mkdir -p /mnt/etc/ssh
cp /etc/ssh/ssh_host_* /mnt/etc/ssh/

@ -34,12 +34,6 @@ for PV in $(pvs --noheadings 2>/dev/null | sed -e 's/^[[:space:]]*//' | cut -d"
pvremove -y ${PV} 2>/dev/null
done
echo "----> Remove previous MDs"
mdadm --stop --scan || true
echo 'AUTO -all
ARRAY <ignore> UUID=00000000:00000000:00000000:00000000' > /etc/mdadm/mdadm.conf
echo "----> Drop existing partitions"
for DISK in pci-0000:00:1f.2-ata-1.0; do
sgdisk --zap-all /dev/disk/by-path/${DISK}
@ -63,6 +57,10 @@ parted -a opt --script /dev/disk/by-path/pci-0000:00:14.1-ata-1 \
echo "-----> Reload partition table"
partprobe
echo "-----> Wait for partitions"
sleep 3
sync
echo "-----> Create data pv"
pvcreate /dev/disk/by-partlabel/system
@ -112,19 +110,3 @@ mkfs.vfat -F32 -n boot /dev/disk/by-partlabel/boot
echo "-----> Mount boot filesystem"
mkdir -p /mnt/boot
mount /dev/disk/by-label/boot /mnt/boot
#
# STORAGE
#
for PARTITION in ; do
echo "-----> Create ${PARTITION} volume"
lvcreate -y --size 5G --name ${PARTITION} system
echo "-----> Create ${PARTITION} filesystem"
mkfs.ext4 -L ${PARTITION} /dev/system/${PARTITION}
echo "-----> Mount ${PARTITION} filesystem"
mkdir /mnt/var/lib/${PARTITION}
mount -t ext4 /dev/system/${PARTITION} /mnt/var/lib/${PARTITION}
done

112
desktops/hathor/partitions.sh Executable file

@ -0,0 +1,112 @@
#!/usr/bin/env bash
set -eo pipefail
if [ "${EUID}" -ne 0 ]; then
echo "Please run as root"
exit 1
fi
while true; do
read -p "Are you sure you want to wipe all partitions? " awnser
case ${awnser} in
[Yy]*)
break
;;
[Nn]*)
exit
;;
*)
echo "Please answer yes or no!"
;;
esac
done
echo "----> Remove previous VGs"
vgchange -an
for VG in $(vgs --noheadings 2>/dev/null | sed -e 's/^[[:space:]]*//' | cut -d" " -f 1); do
vgremove -y ${VG} 2>/dev/null
done
echo "----> Remove previous PVs"
for PV in $(pvs --noheadings 2>/dev/null | sed -e 's/^[[:space:]]*//' | cut -d" " -f 1); do
pvremove -y ${PV} 2>/dev/null
done
echo "----> Drop existing partitions"
for DISK in pci-0000:00:1f.2-ata-1.0; do
sgdisk --zap-all /dev/disk/by-path/${DISK}
sgdisk -og /dev/disk/by-path/${DISK}
done
echo "-----> Wait for cleanup"
sleep 3
sync
echo "-----> Create sda partitions"
parted -a opt --script /dev/disk/by-path/pci-0000:00:14.1-ata-1 \
mklabel gpt \
mkpart primary fat32 0% 1GB \
set 1 esp on \
name 1 boot \
mkpart primary 1GB 100% \
set 2 lvm on \
name 2 system
echo "-----> Reload partition table"
partprobe
echo "-----> Wait for partitions"
sleep 3
sync
echo "-----> Create data pv"
pvcreate /dev/disk/by-partlabel/system
echo "-----> Create data vg"
vgcreate system /dev/disk/by-partlabel/system
echo "-----> Create swap volume"
lvcreate -y --size $(cat /proc/meminfo | grep MemTotal | cut -d':' -f2 | sed 's/ //g') --name swap system
echo "-----> Create root volume"
lvcreate -y --size 20G --name root system
echo "-----> Create nix volume"
lvcreate -y --size 50G --name nix system
echo "-----> Create home volume"
lvcreate -y --size 50G --name home system
echo "-----> Enable swap partition"
mkswap -L swap /dev/system/swap
swapon /dev/system/swap
echo "-----> Create root filesystem"
mkfs.ext4 -L root /dev/system/root
echo "-----> Mount root filesystem"
mkdir -p /mnt
mount -t ext4 /dev/system/root /mnt
echo "-----> Create nix filesystem"
mkfs.ext4 -L nix /dev/system/nix
echo "-----> Mount nix filesystem"
mkdir -p /mnt/nix
mount -t ext4 /dev/system/nix /mnt/nix
echo "-----> Create home filesystem"
mkfs.ext4 -L home /dev/system/home
echo "-----> Mount home filesystem"
mkdir -p /mnt/home
mount -t ext4 /dev/system/home /mnt/home
echo "-----> Create boot filesystem"
mkfs.vfat -F32 -n boot /dev/disk/by-partlabel/boot
echo "-----> Mount boot filesystem"
mkdir -p /mnt/boot
mount /dev/disk/by-label/boot /mnt/boot

112
desktops/osiris/partitions.sh Executable file

@ -0,0 +1,112 @@
#!/usr/bin/env bash
set -eo pipefail
if [ "${EUID}" -ne 0 ]; then
echo "Please run as root"
exit 1
fi
while true; do
read -p "Are you sure you want to wipe all partitions? " awnser
case ${awnser} in
[Yy]*)
break
;;
[Nn]*)
exit
;;
*)
echo "Please answer yes or no!"
;;
esac
done
echo "----> Remove previous VGs"
vgchange -an
for VG in $(vgs --noheadings 2>/dev/null | sed -e 's/^[[:space:]]*//' | cut -d" " -f 1); do
vgremove -y ${VG} 2>/dev/null
done
echo "----> Remove previous PVs"
for PV in $(pvs --noheadings 2>/dev/null | sed -e 's/^[[:space:]]*//' | cut -d" " -f 1); do
pvremove -y ${PV} 2>/dev/null
done
echo "----> Drop existing partitions"
for DISK in pci-0000:00:1f.2-ata-1.0; do
sgdisk --zap-all /dev/disk/by-path/${DISK}
sgdisk -og /dev/disk/by-path/${DISK}
done
echo "-----> Wait for cleanup"
sleep 3
sync
echo "-----> Create sda partitions"
parted -a opt --script /dev/disk/by-path/pci-0000:00:14.1-ata-1 \
mklabel gpt \
mkpart primary fat32 0% 1GB \
set 1 esp on \
name 1 boot \
mkpart primary 1GB 100% \
set 2 lvm on \
name 2 system
echo "-----> Reload partition table"
partprobe
echo "-----> Wait for partitions"
sleep 3
sync
echo "-----> Create data pv"
pvcreate /dev/disk/by-partlabel/system
echo "-----> Create data vg"
vgcreate system /dev/disk/by-partlabel/system
echo "-----> Create swap volume"
lvcreate -y --size $(cat /proc/meminfo | grep MemTotal | cut -d':' -f2 | sed 's/ //g') --name swap system
echo "-----> Create root volume"
lvcreate -y --size 20G --name root system
echo "-----> Create nix volume"
lvcreate -y --size 50G --name nix system
echo "-----> Create home volume"
lvcreate -y --size 50G --name home system
echo "-----> Enable swap partition"
mkswap -L swap /dev/system/swap
swapon /dev/system/swap
echo "-----> Create root filesystem"
mkfs.ext4 -L root /dev/system/root
echo "-----> Mount root filesystem"
mkdir -p /mnt
mount -t ext4 /dev/system/root /mnt
echo "-----> Create nix filesystem"
mkfs.ext4 -L nix /dev/system/nix
echo "-----> Mount nix filesystem"
mkdir -p /mnt/nix
mount -t ext4 /dev/system/nix /mnt/nix
echo "-----> Create home filesystem"
mkfs.ext4 -L home /dev/system/home
echo "-----> Mount home filesystem"
mkdir -p /mnt/home
mount -t ext4 /dev/system/home /mnt/home
echo "-----> Create boot filesystem"
mkfs.vfat -F32 -n boot /dev/disk/by-partlabel/boot
echo "-----> Mount boot filesystem"
mkdir -p /mnt/boot
mount /dev/disk/by-label/boot /mnt/boot

@ -92,6 +92,10 @@ parted -a opt --script /dev/disk/by-path/pci-0000:00:11.0-ata-4 \
echo "-----> Reload partition table"
partprobe
echo "-----> Wait for partitions"
sleep 3
sync
echo "-----> Create raid0 volume"
echo yes | mdadm --create /dev/md0 --level=10 --raid-devices=4 --homehost=asgard --name=md0 /dev/disk/by-partlabel/tank1 /dev/disk/by-partlabel/tank2 /dev/disk/by-partlabel/tank3 /dev/disk/by-partlabel/tank4
wipefs -a /dev/md0

@ -94,6 +94,10 @@ parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-6.0 \
echo "-----> Reload partition table"
partprobe
echo "-----> Wait for partitions"
sleep 3
sync
echo "-----> Create raid0 volume"
echo yes | mdadm --create /dev/md0 --level=10 --raid-devices=4 --homehost=niflheim --name=md0 /dev/disk/by-partlabel/tank1 /dev/disk/by-partlabel/tank2 /dev/disk/by-partlabel/tank3 /dev/disk/by-partlabel/tank4
wipefs -a /dev/md0

@ -70,6 +70,10 @@ parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-2.0 \
echo "-----> Reload partition table"
partprobe
echo "-----> Wait for partitions"
sleep 3
sync
echo "-----> Create data pv"
pvcreate /dev/disk/by-partlabel/system