Scripts triple boot Debian 13 x86_64 pour Terra portable tactile
- tripleboot-install.sh : partitionnement + 3x debootstrap automatisé - install-x86.sh : installation appli adaptée x86 - setup-kiosk.sh : auto-login + Chromium kiosk tactile - photobooth-x86.service : service systemd x86 - install-tripleboot.md : guide d'installation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
113
scripts/install-tripleboot.md
Normal file
113
scripts/install-tripleboot.md
Normal file
@@ -0,0 +1,113 @@
|
||||
# Triple Boot Debian 13 - Terra Portable Tactile
|
||||
|
||||
## Materiel
|
||||
- Terra portable tactile
|
||||
- NVMe 512 Go
|
||||
- Ecran tactile integre
|
||||
|
||||
## Schema de partitionnement
|
||||
|
||||
| # | Partition | Taille | Type | Usage |
|
||||
|---|--------------|--------|-------|----------|
|
||||
| 1 | EFI | 512 Mo | FAT32 | Partagee |
|
||||
| 2 | photobooth | 155 Go | ext4 | Projet 1 |
|
||||
| 3 | photostation | 155 Go | ext4 | Projet 2 |
|
||||
| 4 | autre | 155 Go | ext4 | Projet 3 |
|
||||
| 5 | swap | 8 Go | swap | Partage |
|
||||
|
||||
> Disque Terra : NVMe 512 Go (476 Go utiles)
|
||||
|
||||
## Preparation
|
||||
|
||||
1. Telecharger l'ISO Debian 13 (Trixie) netinst :
|
||||
https://www.debian.org/devel/debian-installer/
|
||||
|
||||
2. Creer une cle USB bootable :
|
||||
```bash
|
||||
sudo dd if=debian-13-amd64-netinst.iso of=/dev/sdX bs=4M status=progress
|
||||
```
|
||||
|
||||
## Installation 1 : Photobooth
|
||||
|
||||
1. Booter sur la cle USB
|
||||
2. Choisir "Install" (pas graphique, plus leger)
|
||||
3. Nom de machine : `photobooth`
|
||||
4. Utilisateur : `jules`
|
||||
5. Partitionnement **manuel** :
|
||||
- Creer partition EFI 512 Mo (FAT32, flag boot)
|
||||
- Creer partition 150 Go ext4, montee sur `/`
|
||||
- Creer partition 150 Go ext4 (ne PAS monter, pour photostation)
|
||||
- Creer partition 145 Go ext4 (ne PAS monter, pour autre)
|
||||
- Creer partition 8 Go swap
|
||||
6. Selection logiciels : decocher TOUT sauf "utilitaires usuels du systeme"
|
||||
- Pas de bureau, pas de serveur web, rien
|
||||
7. Installer GRUB sur le disque
|
||||
|
||||
## Installation 2 : Photostation
|
||||
|
||||
1. Booter a nouveau sur la cle USB
|
||||
2. Nom de machine : `photostation`
|
||||
3. Partitionnement **manuel** :
|
||||
- Utiliser la partition EFI existante (512 Mo, monter sur `/boot/efi`)
|
||||
- Monter la 2eme partition 150 Go sur `/` (formater)
|
||||
- NE PAS toucher aux autres partitions
|
||||
- Utiliser le swap existant
|
||||
4. Meme selection logiciels minimale
|
||||
5. Installer GRUB (il detectera les autres OS)
|
||||
|
||||
## Installation 3 : Autre
|
||||
|
||||
1. Meme procedure, sur la 3eme partition 145 Go
|
||||
2. Nom de machine : `autre`
|
||||
|
||||
## Apres les 3 installations
|
||||
|
||||
### Renommer les entrees GRUB (depuis n'importe quelle partition)
|
||||
|
||||
```bash
|
||||
sudo nano /etc/grub.d/40_custom
|
||||
```
|
||||
|
||||
Ajouter :
|
||||
```
|
||||
menuentry "Photobooth" {
|
||||
search --no-floppy --fs-uuid --set=root <UUID-PARTITION-1>
|
||||
linux /boot/vmlinuz root=UUID=<UUID-PARTITION-1> ro quiet splash
|
||||
initrd /boot/initrd.img
|
||||
}
|
||||
|
||||
menuentry "Photostation" {
|
||||
search --no-floppy --fs-uuid --set=root <UUID-PARTITION-2>
|
||||
linux /boot/vmlinuz root=UUID=<UUID-PARTITION-2> ro quiet splash
|
||||
initrd /boot/initrd.img
|
||||
}
|
||||
|
||||
menuentry "Autre" {
|
||||
search --no-floppy --fs-uuid --set=root <UUID-PARTITION-3>
|
||||
linux /boot/vmlinuz root=UUID=<UUID-PARTITION-3> ro quiet splash
|
||||
initrd /boot/initrd.img
|
||||
}
|
||||
```
|
||||
|
||||
Puis :
|
||||
```bash
|
||||
sudo update-grub
|
||||
```
|
||||
|
||||
### Installer le photobooth (sur la partition photobooth)
|
||||
|
||||
```bash
|
||||
sudo apt install -y git
|
||||
git clone https://git.copydev.fr/jules/photobooth.git ~/photobooth
|
||||
cd ~/photobooth
|
||||
chmod +x scripts/*.sh
|
||||
sudo bash scripts/install-x86.sh
|
||||
sudo reboot
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- L'ecran tactile Terra devrait fonctionner out-of-the-box avec le driver evdev/libinput
|
||||
- Si besoin de calibrer le tactile : `xinput_calibrator`
|
||||
- Pour changer le projet au boot : maintenir Shift au demarrage pour afficher GRUB
|
||||
- Timeout GRUB par defaut : 5 secondes, puis boot sur le dernier OS utilise
|
||||
60
scripts/install-x86.sh
Normal file
60
scripts/install-x86.sh
Normal file
@@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
# Installation du photobooth sur Debian 13 x86_64 (Terra portable tactile)
|
||||
set -e
|
||||
|
||||
echo "=== Installation Photobooth - Debian 13 x86_64 ==="
|
||||
|
||||
# Mise a jour systeme
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
|
||||
# Dependances systeme
|
||||
sudo apt install -y \
|
||||
python3 python3-pip python3-venv \
|
||||
libgphoto2-dev gphoto2 \
|
||||
cups libcups2-dev \
|
||||
chromium \
|
||||
libopencv-dev python3-opencv \
|
||||
unclutter-xfixes \
|
||||
git \
|
||||
xinput \
|
||||
xdotool
|
||||
|
||||
# Repertoire du projet
|
||||
APP_DIR="/home/jules/photobooth"
|
||||
|
||||
# Cloner ou mettre a jour le depot
|
||||
if [ -d "$APP_DIR" ]; then
|
||||
echo "Mise a jour du depot..."
|
||||
cd "$APP_DIR"
|
||||
git pull
|
||||
else
|
||||
echo "Clonage du depot..."
|
||||
git clone https://git.copydev.fr/jules/photobooth.git "$APP_DIR"
|
||||
cd "$APP_DIR"
|
||||
fi
|
||||
|
||||
# Creer le venv
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
|
||||
# Installer les dependances Python
|
||||
pip install -r backend/requirements.txt
|
||||
|
||||
# Creer les dossiers de donnees
|
||||
mkdir -p data/photos data/exports
|
||||
mkdir -p frontend/assets/overlays frontend/assets/backgrounds frontend/assets/sounds
|
||||
|
||||
# Installer le service systemd
|
||||
sudo cp scripts/photobooth-x86.service /etc/systemd/system/photobooth.service
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable photobooth
|
||||
|
||||
# Configurer l'auto-login en mode kiosk
|
||||
echo ""
|
||||
echo "=== Configuration auto-login kiosk ==="
|
||||
sudo bash scripts/setup-kiosk.sh
|
||||
|
||||
echo ""
|
||||
echo "=== Installation terminee ==="
|
||||
echo "Redemarrer pour lancer le photobooth automatiquement"
|
||||
echo "Ou manuellement : ./scripts/start.sh"
|
||||
17
scripts/photobooth-x86.service
Normal file
17
scripts/photobooth-x86.service
Normal file
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=Photobooth
|
||||
After=network.target graphical.target
|
||||
Wants=graphical.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=jules
|
||||
WorkingDirectory=/home/jules/photobooth
|
||||
ExecStart=/home/jules/photobooth/scripts/start.sh
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
Environment=DISPLAY=:0
|
||||
Environment=XAUTHORITY=/home/jules/.Xauthority
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical.target
|
||||
69
scripts/setup-kiosk.sh
Normal file
69
scripts/setup-kiosk.sh
Normal file
@@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
# Configure l'auto-login et le mode kiosk pour le photobooth
|
||||
# A executer en root
|
||||
set -e
|
||||
|
||||
USER="jules"
|
||||
|
||||
echo "--- Configuration auto-login getty ---"
|
||||
|
||||
# Auto-login sur tty1 via systemd override
|
||||
mkdir -p /etc/systemd/system/getty@tty1.service.d
|
||||
cat > /etc/systemd/system/getty@tty1.service.d/autologin.conf <<EOF
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --autologin $USER --noclear %I \$TERM
|
||||
EOF
|
||||
|
||||
echo "--- Configuration X auto-start ---"
|
||||
|
||||
# .bash_profile lance X automatiquement sur tty1
|
||||
BASH_PROFILE="/home/$USER/.bash_profile"
|
||||
cat > "$BASH_PROFILE" <<'BASHEOF'
|
||||
# Auto-start X sur tty1 pour le photobooth kiosk
|
||||
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
|
||||
exec startx -- -nocursor
|
||||
fi
|
||||
BASHEOF
|
||||
chown "$USER:$USER" "$BASH_PROFILE"
|
||||
|
||||
# .xinitrc lance le photobooth en plein ecran
|
||||
XINITRC="/home/$USER/.xinitrc"
|
||||
cat > "$XINITRC" <<'XEOF'
|
||||
#!/bin/bash
|
||||
# Desactiver l'ecran de veille et le DPMS
|
||||
xset s off
|
||||
xset -dpms
|
||||
xset s noblank
|
||||
|
||||
# Rotation ecran si necessaire (decommenter et ajuster)
|
||||
# xrandr --output eDP-1 --rotate right
|
||||
|
||||
# Attendre le demarrage du backend
|
||||
sleep 2
|
||||
|
||||
# Lancer Chromium en mode kiosk
|
||||
exec chromium \
|
||||
--kiosk \
|
||||
--noerrdialogs \
|
||||
--disable-infobars \
|
||||
--disable-translate \
|
||||
--disable-features=TranslateUI \
|
||||
--disable-session-crashed-bubble \
|
||||
--disable-component-update \
|
||||
--check-for-update-interval=31536000 \
|
||||
--autoplay-policy=no-user-gesture-required \
|
||||
--start-fullscreen \
|
||||
--incognito \
|
||||
--touch-events=enabled \
|
||||
--enable-touch-drag-drop \
|
||||
http://localhost:8080
|
||||
XEOF
|
||||
chown "$USER:$USER" "$XINITRC"
|
||||
chmod +x "$XINITRC"
|
||||
|
||||
# Installer xinit si absent
|
||||
apt install -y xinit x11-xserver-utils
|
||||
|
||||
echo "--- Kiosk configure ---"
|
||||
echo "Au prochain reboot, le photobooth demarrera automatiquement."
|
||||
303
scripts/tripleboot-install.sh
Normal file
303
scripts/tripleboot-install.sh
Normal file
@@ -0,0 +1,303 @@
|
||||
#!/bin/bash
|
||||
# Triple Boot Debian 13 (Trixie) - Installation automatisee
|
||||
# A executer depuis une cle USB live Debian/Ubuntu
|
||||
set -e
|
||||
|
||||
# === CONFIGURATION ===
|
||||
DISK="/dev/nvme0n1"
|
||||
USER="jules"
|
||||
PASSWORD="jules" # A changer apres installation
|
||||
MIRROR="http://deb.debian.org/debian"
|
||||
SUITE="trixie"
|
||||
|
||||
PARTITIONS=("photobooth" "photostation" "autre")
|
||||
PART_SIZES=("155G" "155G" "155G")
|
||||
SWAP_SIZE="8G"
|
||||
EFI_SIZE="512M"
|
||||
|
||||
# === COULEURS ===
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m'
|
||||
|
||||
info() { echo -e "${GREEN}[INFO]${NC} $1"; }
|
||||
warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
|
||||
error() { echo -e "${RED}[ERREUR]${NC} $1"; exit 1; }
|
||||
|
||||
# === VERIFICATIONS ===
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
error "Ce script doit etre execute en root (sudo)"
|
||||
fi
|
||||
|
||||
if [ ! -b "$DISK" ]; then
|
||||
error "Disque $DISK non trouve. Verifier avec 'lsblk'"
|
||||
fi
|
||||
|
||||
# Detecter le suffixe de partition (nvme = p1, sda = 1)
|
||||
if [[ "$DISK" == *"nvme"* ]]; then
|
||||
PART_PREFIX="${DISK}p"
|
||||
else
|
||||
PART_PREFIX="${DISK}"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo " TRIPLE BOOT DEBIAN 13 - TERRA"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "Disque cible : $DISK"
|
||||
echo "Partitions : ${PARTITIONS[*]}"
|
||||
echo ""
|
||||
warn "TOUTES LES DONNEES SUR $DISK SERONT EFFACEES !"
|
||||
echo ""
|
||||
read -p "Continuer ? (oui/non) : " CONFIRM
|
||||
if [ "$CONFIRM" != "oui" ]; then
|
||||
echo "Annule."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# === INSTALLATION DES OUTILS ===
|
||||
info "Installation des outils necessaires..."
|
||||
apt-get update -qq
|
||||
apt-get install -y -qq debootstrap parted dosfstools arch-install-scripts > /dev/null 2>&1 || {
|
||||
# arch-install-scripts fournit genfstab, sinon on s'en passe
|
||||
apt-get install -y -qq debootstrap parted dosfstools > /dev/null 2>&1
|
||||
}
|
||||
|
||||
# === PARTITIONNEMENT ===
|
||||
info "Partitionnement de $DISK..."
|
||||
|
||||
# Effacer la table de partition
|
||||
wipefs -a "$DISK" > /dev/null 2>&1
|
||||
sgdisk --zap-all "$DISK" > /dev/null 2>&1 || true
|
||||
|
||||
# Creer la table GPT et les partitions
|
||||
parted -s "$DISK" mklabel gpt
|
||||
parted -s "$DISK" mkpart "EFI" fat32 1MiB 513MiB
|
||||
parted -s "$DISK" set 1 esp on
|
||||
parted -s "$DISK" mkpart "photobooth" ext4 513MiB 159233MiB # ~155 Go
|
||||
parted -s "$DISK" mkpart "photostation" ext4 159233MiB 318465MiB # ~155 Go
|
||||
parted -s "$DISK" mkpart "autre" ext4 318465MiB 477697MiB # ~155 Go
|
||||
parted -s "$DISK" mkpart "swap" linux-swap 477697MiB 485889MiB # ~8 Go
|
||||
|
||||
# Attendre que les partitions apparaissent
|
||||
sleep 2
|
||||
partprobe "$DISK"
|
||||
sleep 2
|
||||
|
||||
# Formater
|
||||
info "Formatage des partitions..."
|
||||
mkfs.fat -F32 "${PART_PREFIX}1"
|
||||
mkfs.ext4 -q -L "photobooth" "${PART_PREFIX}2"
|
||||
mkfs.ext4 -q -L "photostation" "${PART_PREFIX}3"
|
||||
mkfs.ext4 -q -L "autre" "${PART_PREFIX}4"
|
||||
mkswap -L "swap" "${PART_PREFIX}5"
|
||||
|
||||
# Recuperer les UUID
|
||||
UUID_EFI=$(blkid -s UUID -o value "${PART_PREFIX}1")
|
||||
UUID_1=$(blkid -s UUID -o value "${PART_PREFIX}2")
|
||||
UUID_2=$(blkid -s UUID -o value "${PART_PREFIX}3")
|
||||
UUID_3=$(blkid -s UUID -o value "${PART_PREFIX}4")
|
||||
UUID_SWAP=$(blkid -s UUID -o value "${PART_PREFIX}5")
|
||||
|
||||
UUIDS=("$UUID_1" "$UUID_2" "$UUID_3")
|
||||
|
||||
info "Partitionnement termine."
|
||||
lsblk "$DISK"
|
||||
|
||||
# === INSTALLATION DES 3 SYSTEMES ===
|
||||
install_system() {
|
||||
local INDEX=$1
|
||||
local NAME="${PARTITIONS[$INDEX]}"
|
||||
local PART="${PART_PREFIX}$((INDEX + 2))"
|
||||
local UUID="${UUIDS[$INDEX]}"
|
||||
local MNT="/mnt/${NAME}"
|
||||
|
||||
info "=== Installation de ${NAME} ($PART) ==="
|
||||
|
||||
# Monter
|
||||
mkdir -p "$MNT"
|
||||
mount "$PART" "$MNT"
|
||||
mkdir -p "$MNT/boot/efi"
|
||||
mount "${PART_PREFIX}1" "$MNT/boot/efi"
|
||||
|
||||
# Debootstrap
|
||||
info " debootstrap ${NAME}..."
|
||||
debootstrap --arch=amd64 "$SUITE" "$MNT" "$MIRROR"
|
||||
|
||||
# fstab
|
||||
cat > "$MNT/etc/fstab" <<FSTAB
|
||||
UUID=$UUID / ext4 errors=remount-ro 0 1
|
||||
UUID=$UUID_EFI /boot/efi vfat umask=0077 0 1
|
||||
UUID=$UUID_SWAP none swap sw 0 0
|
||||
FSTAB
|
||||
|
||||
# Hostname
|
||||
echo "$NAME" > "$MNT/etc/hostname"
|
||||
cat > "$MNT/etc/hosts" <<HOSTS
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 $NAME
|
||||
HOSTS
|
||||
|
||||
# Sources APT
|
||||
cat > "$MNT/etc/apt/sources.list" <<SOURCES
|
||||
deb $MIRROR $SUITE main contrib non-free non-free-firmware
|
||||
deb $MIRROR ${SUITE}-updates main contrib non-free non-free-firmware
|
||||
deb http://security.debian.org/debian-security ${SUITE}-security main contrib non-free non-free-firmware
|
||||
SOURCES
|
||||
|
||||
# Chroot pour configurer
|
||||
mount --bind /dev "$MNT/dev"
|
||||
mount --bind /dev/pts "$MNT/dev/pts"
|
||||
mount --bind /proc "$MNT/proc"
|
||||
mount --bind /sys "$MNT/sys"
|
||||
mount --bind /run "$MNT/run"
|
||||
|
||||
# Script de configuration dans le chroot
|
||||
cat > "$MNT/tmp/setup.sh" <<SETUP
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Locale et timezone
|
||||
echo "Europe/Paris" > /etc/timezone
|
||||
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
|
||||
apt-get update -qq
|
||||
apt-get install -y -qq locales
|
||||
sed -i 's/# fr_FR.UTF-8/fr_FR.UTF-8/' /etc/locale.gen
|
||||
locale-gen
|
||||
update-locale LANG=fr_FR.UTF-8
|
||||
|
||||
# Installer le noyau, GRUB, firmware et outils de base
|
||||
apt-get install -y -qq \
|
||||
linux-image-amd64 \
|
||||
grub-efi-amd64 \
|
||||
firmware-linux \
|
||||
sudo \
|
||||
network-manager \
|
||||
openssh-server \
|
||||
bash-completion \
|
||||
console-setup \
|
||||
keyboard-configuration
|
||||
|
||||
# Creer l'utilisateur
|
||||
useradd -m -s /bin/bash -G sudo,video,input,audio $USER
|
||||
echo "$USER:$PASSWORD" | chpasswd
|
||||
echo "root:$PASSWORD" | chpasswd
|
||||
|
||||
# Sudo sans mot de passe (optionnel, pratique pour le kiosk)
|
||||
echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER
|
||||
|
||||
# Activer NetworkManager
|
||||
systemctl enable NetworkManager
|
||||
|
||||
# Configurer le clavier FR
|
||||
cat > /etc/default/keyboard <<KBD
|
||||
XKBMODEL="pc105"
|
||||
XKBLAYOUT="fr"
|
||||
XKBVARIANT=""
|
||||
XKBOPTIONS=""
|
||||
BACKSPACE="guess"
|
||||
KBD
|
||||
|
||||
SETUP
|
||||
|
||||
chmod +x "$MNT/tmp/setup.sh"
|
||||
chroot "$MNT" /tmp/setup.sh
|
||||
|
||||
# GRUB : installer seulement depuis le premier systeme
|
||||
if [ "$INDEX" -eq 0 ]; then
|
||||
chroot "$MNT" grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck
|
||||
fi
|
||||
|
||||
# Nettoyer
|
||||
rm -f "$MNT/tmp/setup.sh"
|
||||
umount "$MNT/run" "$MNT/sys" "$MNT/proc" "$MNT/dev/pts" "$MNT/dev"
|
||||
umount "$MNT/boot/efi"
|
||||
umount "$MNT"
|
||||
|
||||
info " ${NAME} installe."
|
||||
}
|
||||
|
||||
# Installer les 3 systemes
|
||||
for i in 0 1 2; do
|
||||
install_system "$i"
|
||||
done
|
||||
|
||||
# === CONFIGURATION GRUB FINALE ===
|
||||
info "Configuration de GRUB..."
|
||||
|
||||
MNT="/mnt/photobooth"
|
||||
mkdir -p "$MNT"
|
||||
mount "${PART_PREFIX}2" "$MNT"
|
||||
mount "${PART_PREFIX}1" "$MNT/boot/efi"
|
||||
mount --bind /dev "$MNT/dev"
|
||||
mount --bind /dev/pts "$MNT/dev/pts"
|
||||
mount --bind /proc "$MNT/proc"
|
||||
mount --bind /sys "$MNT/sys"
|
||||
mount --bind /run "$MNT/run"
|
||||
|
||||
# Creer les entrees GRUB personnalisees
|
||||
cat > "$MNT/etc/grub.d/40_custom" <<GRUB
|
||||
#!/bin/sh
|
||||
exec tail -n +3 \$0
|
||||
|
||||
menuentry "Photobooth" {
|
||||
search --no-floppy --fs-uuid --set=root $UUID_1
|
||||
linux /boot/vmlinuz-\$(ls /mnt/photobooth/boot/ | grep vmlinuz | head -1 | sed 's/vmlinuz-//') root=UUID=$UUID_1 ro quiet splash
|
||||
initrd /boot/initrd.img-\$(ls /mnt/photobooth/boot/ | grep initrd | head -1 | sed 's/initrd.img-//')
|
||||
}
|
||||
|
||||
menuentry "Photostation" {
|
||||
search --no-floppy --fs-uuid --set=root $UUID_2
|
||||
linux /boot/vmlinuz-\$(ls /mnt/photostation/boot/ | grep vmlinuz | head -1 | sed 's/vmlinuz-//') root=UUID=$UUID_2 ro quiet splash
|
||||
initrd /boot/initrd.img-\$(ls /mnt/photostation/boot/ | grep initrd | head -1 | sed 's/initrd.img-//')
|
||||
}
|
||||
|
||||
menuentry "Autre" {
|
||||
search --no-floppy --fs-uuid --set=root $UUID_3
|
||||
linux /boot/vmlinuz-\$(ls /mnt/autre/boot/ | grep vmlinuz | head -1 | sed 's/vmlinuz-//') root=UUID=$UUID_3 ro quiet splash
|
||||
initrd /boot/initrd.img-\$(ls /mnt/autre/boot/ | grep initrd | head -1 | sed 's/initrd.img-//')
|
||||
}
|
||||
GRUB
|
||||
chmod +x "$MNT/etc/grub.d/40_custom"
|
||||
|
||||
# Desactiver os-prober et les entrees auto pour eviter les doublons
|
||||
cat > "$MNT/etc/default/grub" <<GRUBCFG
|
||||
GRUB_DEFAULT=0
|
||||
GRUB_TIMEOUT=5
|
||||
GRUB_DISTRIBUTOR="Triple Boot Terra"
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
|
||||
GRUB_CMDLINE_LINUX=""
|
||||
GRUB_DISABLE_OS_PROBER=true
|
||||
GRUB_DISABLE_RECOVERY=true
|
||||
GRUBCFG
|
||||
|
||||
chroot "$MNT" update-grub
|
||||
|
||||
# Nettoyer
|
||||
umount "$MNT/run" "$MNT/sys" "$MNT/proc" "$MNT/dev/pts" "$MNT/dev"
|
||||
umount "$MNT/boot/efi"
|
||||
umount "$MNT"
|
||||
|
||||
# === TERMINE ===
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo -e "${GREEN} TRIPLE BOOT INSTALLE AVEC SUCCES${NC}"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo " 1. Photobooth (${PART_PREFIX}2)"
|
||||
echo " 2. Photostation (${PART_PREFIX}3)"
|
||||
echo " 3. Autre (${PART_PREFIX}4)"
|
||||
echo ""
|
||||
echo " Utilisateur : $USER"
|
||||
echo " Mot de passe : $PASSWORD (a changer !)"
|
||||
echo ""
|
||||
echo " Retirer la cle USB et redemarrer."
|
||||
echo " Au boot, GRUB affichera les 3 choix."
|
||||
echo ""
|
||||
echo " Pour installer le photobooth :"
|
||||
echo " sudo apt install git"
|
||||
echo " git clone https://git.copydev.fr/jules/photobooth.git ~/photobooth"
|
||||
echo " cd ~/photobooth && sudo bash scripts/install-x86.sh"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user