.git broken, restart

This commit is contained in:
dangerboot
2026-01-23 08:55:18 +01:00
commit d1be8ebdca
206 changed files with 8431 additions and 0 deletions
+122
View File
@@ -0,0 +1,122 @@
#!/usr/bin/bash
set -euo pipefail
cleanup() {
set +e
umount -l "$MOUNT_DIR/dev" "$MOUNT_DIR/sys" "$MOUNT_DIR/proc" 2>/dev/null
umount -l "$MOUNT_DIR/boot" "$MOUNT_DIR" 2>/dev/null
[ -n "${LOOPDEV:-}" ] && losetup -d "$LOOPDEV" 2>/dev/null
}
trap cleanup EXIT
IMG_URL="https://downloads.raspberrypi.org/raspios_lite_armhf_latest"
IMG_FILE="raspios_lite.img"
COMPR_IMG="raspios_lite.img.xz"
MOUNT_DIR="/mnt/rpi"
SSH_PORT=888
WIFI_SSID="$1"
WIFI_PASS="$2"
ROOT_PASS="$3"
if [ ! -e $IMG_FILE ] ; then
if [ ! -e $COMPR_IMG ] ; then
wget -O ${COMPR_IMG} "$IMG_URL"
wget -O "${IMG_FILE}.sha256" "${IMG_URL}.sha256"
cd $(dirname "$IMG_FILE")
sha256sum -c "${COMPR_IMG}.sha256" --status
if [ $? -ne 0 ]; then
echo "SHA256 mismatch ! Aborting."
exit 1
else
echo "shasum ok"
fi
cd -
fi
unxz -f "$COMPR_IMG"
fi
apt-get install qemu-user-static binfmt-support
cp /usr/bin/qemu-arm-static $MOUNT_DIR/usr/bin/
# 2. Associer limage à un loop device
LOOPDEV=$(losetup --find --partscan --show "$IMG_FILE")
BOOTPART="${LOOPDEV}p1"
ROOTPART="${LOOPDEV}p2"
parted --script "$LOOPDEV" resizepart 2 100%
e2fsck -f -y "$ROOTPART"
resize2fs "$ROOTPART"
mkdir -p "$MOUNT_DIR"
mount "$ROOTPART" "$MOUNT_DIR"
mount "$BOOTPART" "$MOUNT_DIR/boot"
mount --bind /dev "$MOUNT_DIR/dev"
mount --bind /sys "$MOUNT_DIR/sys"
mount --bind /proc "$MOUNT_DIR/proc"
cp /etc/resolv.conf "$MOUNT_DIR/etc/"
chroot "$MOUNT_DIR" /bin/bash <<EOF
set -e
# Paquets nécessaires
apt-get update
apt-get install -y docker.io docker-compose ufw
# Dossier deb_dock
mkdir -p /root/machine
# (copie depuis lextérieur faite plus tard)
# SSH
echo "root:${ROOT_PASS}" | chpasswd
sed -i "s/^#Port.*/Port ${SSH_PORT}/" /etc/ssh/sshd_config
sed -i "s/^#PermitRootLogin.*/PermitRootLogin yes/" /etc/ssh/sshd_config
sed -i "s/^#PasswordAuthentication.*/PasswordAuthentication yes/" /etc/ssh/sshd_config
# UFW
ufw --force reset
ufw default deny incoming
ufw allow ${SSH_PORT}/tcp
ufw --force enable
# Wi-Fi
cat > /etc/wpa_supplicant/wpa_supplicant.conf <<WIFI
country=FR
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="${WIFI_SSID}"
psk="${WIFI_PASS}"
}
WIFI
# Service run_ssh
cat > /etc/systemd/system/run_ssh.service <<SERV
[Unit]
Description=Run SSH init docker
After=network.target
[Service]
ExecStart=/root/machine/deb_dock/run_ssh.sh
Restart=always
[Install]
WantedBy=multi-user.target
SERV
systemctl enable run_ssh.service
EOF
# 6. Copier deb_dock
rsync -a machine/deb_dock/ "$MOUNT_DIR/root/machine/deb_dock/"
# 7. Nettoyage
umount -l "$MOUNT_DIR/dev" "$MOUNT_DIR/sys" "$MOUNT_DIR/proc"
umount -l "$MOUNT_DIR/boot" "$MOUNT_DIR"
losetup -d "$LOOPDEV"
echo "Image prête. Écrivez-la sur SSD avec: sudo dd if=${IMG_FILE%.xz} of=/dev/sdX bs=4M status=progress"