Theme GRUB graphique tactile pour triple boot
- Fond sombre avec degradé - Icônes 96x96 pour chaque projet (PB, PS, ?) - Grosses polices DejaVu pour ecran tactile - Highlight de selection bleu - GRUB_TIMEOUT=-1 : attend la selection (pas de timeout) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
BIN
scripts/grub-theme/background.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
scripts/grub-theme/icons/autre.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
scripts/grub-theme/icons/photobooth.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
scripts/grub-theme/icons/photostation.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
scripts/grub-theme/select_c.png
Normal file
|
After Width: | Height: | Size: 360 B |
BIN
scripts/grub-theme/select_e.png
Normal file
|
After Width: | Height: | Size: 93 B |
BIN
scripts/grub-theme/select_n.png
Normal file
|
After Width: | Height: | Size: 92 B |
BIN
scripts/grub-theme/select_ne.png
Normal file
|
After Width: | Height: | Size: 78 B |
BIN
scripts/grub-theme/select_nw.png
Normal file
|
After Width: | Height: | Size: 78 B |
BIN
scripts/grub-theme/select_s.png
Normal file
|
After Width: | Height: | Size: 92 B |
BIN
scripts/grub-theme/select_se.png
Normal file
|
After Width: | Height: | Size: 78 B |
BIN
scripts/grub-theme/select_sw.png
Normal file
|
After Width: | Height: | Size: 78 B |
BIN
scripts/grub-theme/select_w.png
Normal file
|
After Width: | Height: | Size: 93 B |
35
scripts/grub-theme/theme.txt
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# Theme GRUB tactile - Triple Boot Terra
|
||||||
|
title-text: ""
|
||||||
|
desktop-color: "#1a1a2e"
|
||||||
|
message-color: "#ffffff"
|
||||||
|
message-bg-color: "#000000"
|
||||||
|
terminal-font: "DejaVu Sans Bold 24"
|
||||||
|
|
||||||
|
+ boot_menu {
|
||||||
|
left = 10%
|
||||||
|
top = 15%
|
||||||
|
width = 80%
|
||||||
|
height = 70%
|
||||||
|
item_font = "DejaVu Sans Bold 36"
|
||||||
|
item_color = "#cccccc"
|
||||||
|
selected_item_font = "DejaVu Sans Bold 42"
|
||||||
|
selected_item_color = "#ffffff"
|
||||||
|
item_height = 120
|
||||||
|
item_padding = 20
|
||||||
|
item_spacing = 30
|
||||||
|
item_icon_space = 30
|
||||||
|
icon_width = 96
|
||||||
|
icon_height = 96
|
||||||
|
selected_item_pixmap_style = "select_*.png"
|
||||||
|
}
|
||||||
|
|
||||||
|
+ label {
|
||||||
|
left = 0
|
||||||
|
top = 90%
|
||||||
|
width = 100%
|
||||||
|
height = 30
|
||||||
|
text = "Toucher pour selectionner - Appuyer sur Entree pour demarrer"
|
||||||
|
font = "DejaVu Sans 18"
|
||||||
|
color = "#888888"
|
||||||
|
align = "center"
|
||||||
|
}
|
||||||
@@ -248,24 +248,47 @@ mount --bind /proc "$MNT/proc"
|
|||||||
mount --bind /sys "$MNT/sys"
|
mount --bind /sys "$MNT/sys"
|
||||||
mount --bind /run "$MNT/run"
|
mount --bind /run "$MNT/run"
|
||||||
|
|
||||||
# Creer les entrees GRUB personnalisees
|
# === THEME GRUB TACTILE ===
|
||||||
|
info "Installation du theme GRUB tactile..."
|
||||||
|
|
||||||
|
THEME_DEST="$MNT/boot/grub/themes/terra"
|
||||||
|
mkdir -p "$THEME_DEST/icons"
|
||||||
|
|
||||||
|
# Copier le theme depuis le repo clone
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
|
if [ -d "$SCRIPT_DIR/grub-theme" ]; then
|
||||||
|
cp "$SCRIPT_DIR/grub-theme/theme.txt" "$THEME_DEST/"
|
||||||
|
cp "$SCRIPT_DIR/grub-theme/background.png" "$THEME_DEST/"
|
||||||
|
cp "$SCRIPT_DIR/grub-theme/select_"*.png "$THEME_DEST/"
|
||||||
|
cp "$SCRIPT_DIR/grub-theme/icons/"*.png "$THEME_DEST/icons/"
|
||||||
|
else
|
||||||
|
warn "Theme GRUB non trouve dans $SCRIPT_DIR/grub-theme, theme par defaut"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Installer les polices GRUB
|
||||||
|
chroot "$MNT" bash -c 'grub-mkfont -s 36 -o /boot/grub/fonts/DejaVuSansBold36.pf2 /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf 2>/dev/null || true'
|
||||||
|
chroot "$MNT" bash -c 'grub-mkfont -s 42 -o /boot/grub/fonts/DejaVuSansBold42.pf2 /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf 2>/dev/null || true'
|
||||||
|
chroot "$MNT" bash -c 'grub-mkfont -s 18 -o /boot/grub/fonts/DejaVuSans18.pf2 /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf 2>/dev/null || true'
|
||||||
|
chroot "$MNT" bash -c 'grub-mkfont -s 24 -o /boot/grub/fonts/DejaVuSansBold24.pf2 /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf 2>/dev/null || true'
|
||||||
|
|
||||||
|
# Creer les entrees GRUB personnalisees avec icones
|
||||||
cat > "$MNT/etc/grub.d/40_custom" <<GRUB
|
cat > "$MNT/etc/grub.d/40_custom" <<GRUB
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
exec tail -n +3 \$0
|
exec tail -n +3 \$0
|
||||||
|
|
||||||
menuentry "Photobooth" {
|
menuentry "Photobooth" --class photobooth {
|
||||||
search --no-floppy --fs-uuid --set=root $UUID_1
|
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
|
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-//')
|
initrd /boot/initrd.img-\$(ls /mnt/photobooth/boot/ | grep initrd | head -1 | sed 's/initrd.img-//')
|
||||||
}
|
}
|
||||||
|
|
||||||
menuentry "Photostation" {
|
menuentry "Photostation" --class photostation {
|
||||||
search --no-floppy --fs-uuid --set=root $UUID_2
|
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
|
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-//')
|
initrd /boot/initrd.img-\$(ls /mnt/photostation/boot/ | grep initrd | head -1 | sed 's/initrd.img-//')
|
||||||
}
|
}
|
||||||
|
|
||||||
menuentry "Autre" {
|
menuentry "Autre" --class autre {
|
||||||
search --no-floppy --fs-uuid --set=root $UUID_3
|
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
|
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-//')
|
initrd /boot/initrd.img-\$(ls /mnt/autre/boot/ | grep initrd | head -1 | sed 's/initrd.img-//')
|
||||||
@@ -273,17 +296,23 @@ menuentry "Autre" {
|
|||||||
GRUB
|
GRUB
|
||||||
chmod +x "$MNT/etc/grub.d/40_custom"
|
chmod +x "$MNT/etc/grub.d/40_custom"
|
||||||
|
|
||||||
# Desactiver os-prober et les entrees auto pour eviter les doublons
|
# Desactiver os-prober, activer le theme graphique
|
||||||
cat > "$MNT/etc/default/grub" <<GRUBCFG
|
cat > "$MNT/etc/default/grub" <<GRUBCFG
|
||||||
GRUB_DEFAULT=0
|
GRUB_DEFAULT=0
|
||||||
GRUB_TIMEOUT=5
|
GRUB_TIMEOUT=-1
|
||||||
GRUB_DISTRIBUTOR="Triple Boot Terra"
|
GRUB_DISTRIBUTOR="Triple Boot Terra"
|
||||||
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
|
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
|
||||||
GRUB_CMDLINE_LINUX=""
|
GRUB_CMDLINE_LINUX=""
|
||||||
GRUB_DISABLE_OS_PROBER=true
|
GRUB_DISABLE_OS_PROBER=true
|
||||||
GRUB_DISABLE_RECOVERY=true
|
GRUB_DISABLE_RECOVERY=true
|
||||||
|
GRUB_THEME=/boot/grub/themes/terra/theme.txt
|
||||||
|
GRUB_GFXMODE=1920x1080,auto
|
||||||
|
GRUB_GFXPAYLOAD_LINUX=keep
|
||||||
GRUBCFG
|
GRUBCFG
|
||||||
|
|
||||||
|
# Installer les polices DejaVu pour le theme
|
||||||
|
chroot "$MNT" apt-get install -y -qq fonts-dejavu-core 2>/dev/null || true
|
||||||
|
|
||||||
chroot "$MNT" update-grub
|
chroot "$MNT" update-grub
|
||||||
|
|
||||||
# Nettoyer
|
# Nettoyer
|
||||||
|
|||||||