From 56df044db861bb76476393d339e64a83b668a747 Mon Sep 17 00:00:00 2001 From: Jules Date: Tue, 7 Apr 2026 10:25:11 +0200 Subject: [PATCH] Theme GRUB graphique tactile pour triple boot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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) --- scripts/grub-theme/background.png | Bin 0 -> 10764 bytes scripts/grub-theme/icons/autre.png | Bin 0 -> 1311 bytes scripts/grub-theme/icons/photobooth.png | Bin 0 -> 1588 bytes scripts/grub-theme/icons/photostation.png | Bin 0 -> 1966 bytes scripts/grub-theme/select_c.png | Bin 0 -> 360 bytes scripts/grub-theme/select_e.png | Bin 0 -> 93 bytes scripts/grub-theme/select_n.png | Bin 0 -> 92 bytes scripts/grub-theme/select_ne.png | Bin 0 -> 78 bytes scripts/grub-theme/select_nw.png | Bin 0 -> 78 bytes scripts/grub-theme/select_s.png | Bin 0 -> 92 bytes scripts/grub-theme/select_se.png | Bin 0 -> 78 bytes scripts/grub-theme/select_sw.png | Bin 0 -> 78 bytes scripts/grub-theme/select_w.png | Bin 0 -> 93 bytes scripts/grub-theme/theme.txt | 35 ++++++++++++++++++ scripts/tripleboot-install.sh | 41 ++++++++++++++++++---- 15 files changed, 70 insertions(+), 6 deletions(-) create mode 100644 scripts/grub-theme/background.png create mode 100644 scripts/grub-theme/icons/autre.png create mode 100644 scripts/grub-theme/icons/photobooth.png create mode 100644 scripts/grub-theme/icons/photostation.png create mode 100644 scripts/grub-theme/select_c.png create mode 100644 scripts/grub-theme/select_e.png create mode 100644 scripts/grub-theme/select_n.png create mode 100644 scripts/grub-theme/select_ne.png create mode 100644 scripts/grub-theme/select_nw.png create mode 100644 scripts/grub-theme/select_s.png create mode 100644 scripts/grub-theme/select_se.png create mode 100644 scripts/grub-theme/select_sw.png create mode 100644 scripts/grub-theme/select_w.png create mode 100644 scripts/grub-theme/theme.txt diff --git a/scripts/grub-theme/background.png b/scripts/grub-theme/background.png new file mode 100644 index 0000000000000000000000000000000000000000..683466d36ab7bfc19b65028ac82645ff4a4b0e35 GIT binary patch literal 10764 zcmeHMYgAKL7QR+nv=p(W6$_F~7nQVCL>DM!AVgb`QY=hMN3;l05fOp#DiTOSP!x(* z(lTnOVB!=DMUkf@7(#*|Py~|#N9foJce@pR$ewj~GcK!TiehyVzWEq9 z=*1PK`ids1+X%jV zv}U^DX*sCIB$|HCGs#&}oUX%@v)veo7*9U$HS^;o_Wb+Bl%->Nod~0kudYWd>ox4=6c%1gYQKUoB^&|F(J>sp6PeyVC zlHTLD6NZC?x(*DwyWSMuFf)}fyfY$wlozyhu{W=`F=04z>6$ivloh)n zx9vM9W3{hA7yo44t%G+`It%30S(?qr_2OWk*)tNfvd5}felZk57&yT9x&12iSPYyE z8!yX;v6`=Ae9{&v!*$W(*4EGIVEKWIP}H$-_9X3JzkYqBmL=E%CWkX|SLS#Z9QlNv zsDi(qF+YQIW*v}S0YjD}Qr$z*QjD6!VtlMt5l+`s+9SV>k`2!0Zm!bZbe`MS|Mdn4 zhXbiSq4cGT)aH1#zkNi_AjL=GRgNUcuAm7xEJHj{MS2`cOPRUoS^Y)Ye6Ee#QZY9} zKd-a}0J|X=On><>6AZ$#4!UxDWV0KW>x@6dZzYd7Ng z1R;0uk(h$P4HblQO(o)jaQE511vxisIKd7vQCm|}6W!f09RL6=elU=G7AN^^qdd%QE|k^^Wy6^H`CnLDw;iE!3=`9O1Quv7vcG5?P=hT0q7I=cSF^(OYBdsfN;M&{sg&&^01TV5E|%J|C4*6dN-UXIm2MEfUJ3w*POssfw*r8XsP=Pbcf=KBJnrY{qcOKL z)RWdO!g_-C7Fneyb9_2o7c@B{!=$GunO{Z73a{9@~u_2LtUjjg5UJUe$s-(K8PDj)DIqntto4JQ|oQ4oWe{q(6lcNBeIqgQ0 z$6>L#;+@U&?Ey{=DdRs}wZ)q{&~UJsf-Brv?p1tE%Vt1-9CLll@HM zp^7}if*nU*BB2{Y1nig!%xa*;xx^KcxuSTb&>P2|E$epUj-PdFoDw5JN;{4qk0Vb$ z45impb|j206t-dbM%{ZK0KnQ)Fr>EQ-B_Xe9FnXNHmC1pFHHqtmcq#Lx(RpOhFsV1 z0%Eo=Xt3Xy+B4&9VgNvoC#;Z&5qplRU1Yk2IVhXSkX)@Fbaq25CCAV-J)Ia+a)4@^ zcK@A}i83lj_Z8O_0Mwtr{8Yi7a3$+2LPqNbA9ZKVN-lRbwsW#nsx;**Knwd9g3&`f z0%_0sCKhh=yO@$$qdQVt)VZ-CS)37|+Mw0QV#p#pI{xGNNhp?0a4cmF>RU?uJJf5o zheuv?jJ$o~QLmj6JS#BV@1lfzKcL$PiEbxtjfHF{h+TK^Y zI#|R7TXr)FA+d4i`KZ6EcVebVpYCEqGIz6@gS&qRsh_$)2Mr1+6L6y*ue4oMLYfJ4 z+m^d`nT1%w5TBPcl8>U*;6~rHQ?kc$ZDm8L`uSARA}OPFC!x%=*D2q z+JD+g^s(>vq?3VSMm(vjwe@L;E=q?8!Q{7RYvnStdqTn_5wt zmjnL9V=6Kq#BKG`JVfnfXAVVU2(t`24Z@PfP1cU4W78fr1T86594+ZMpEgWEpM0>= zEnx&NbmJ=06>N3Yw8#d?4%p%dX;_U19EM)j&(Gw2$XrEIHa5i3O;1r|$vuMaQZGd* zBuNW%6_BjV+!Uc_`+5V&-7h-wBKn$E0IILdwOlACN~>~wt}NC$gKtk+A(`^=E-AmX z_qgCSIyae;gFYKoT%H5~+b)eIQzE>j?&dygTV6bL6VUooHDtdwquUX=hX-QJKpa{N zOEN;I7Wh<4**OS+B_GgLEL-1Nb{ySq@oXDRe{!@!q@y( z)-3mQ;=>z`k<7&fOn&ox+}U$wGw7BTxTx*Lm_J){Ws%bab~|i+_8w6Ma=&2#LFUP7BTz%GFom`m-Dv8nOU6K|3K|6V@8WJ`=fu~ vSj5aCW)?B~!#&}0g||4fXZZQ$0D;!sEzT8_ryg~~oF3>O>{s={q0|2YWQl%3 literal 0 HcmV?d00001 diff --git a/scripts/grub-theme/icons/autre.png b/scripts/grub-theme/icons/autre.png new file mode 100644 index 0000000000000000000000000000000000000000..ee0ceaba80d802f6b8c8bc4cd1b58b863456d7d3 GIT binary patch literal 1311 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 AkN^Mx literal 0 HcmV?d00001 diff --git a/scripts/grub-theme/select_c.png b/scripts/grub-theme/select_c.png new file mode 100644 index 0000000000000000000000000000000000000000..2f53240e87813bb551435712732c63047ec66062 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P1|%(0%q}r7FzS1{IEGZrd3&*ulR;77z=rS3 z3;(m8*L2Z1$R_&uywdIlRL|h)>gTe~DWM4f3O=$B>FS$v*c!?QcpH;fX$A qa)D2RbqniaL7OuNGg$bG85n{cnWky5pELz3XYh3Ob6Mw<&;$V8M;GS+ literal 0 HcmV?d00001 diff --git a/scripts/grub-theme/select_ne.png b/scripts/grub-theme/select_ne.png new file mode 100644 index 0000000000000000000000000000000000000000..fc60fc94060de0121c9c1482930d567a9a16f631 GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=L_J*`Ln`JZ``r7qzlo94z;FTM bAtr_uDNNIh4zG~_Dq!$*^>bP0l+XkKlNJ-y literal 0 HcmV?d00001 diff --git a/scripts/grub-theme/select_nw.png b/scripts/grub-theme/select_nw.png new file mode 100644 index 0000000000000000000000000000000000000000..fc60fc94060de0121c9c1482930d567a9a16f631 GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=L_J*`Ln`JZ``r7qzlo94z;FTM bAtr_uDNNIh4zG~_Dq!$*^>bP0l+XkKlNJ-y literal 0 HcmV?d00001 diff --git a/scripts/grub-theme/select_s.png b/scripts/grub-theme/select_s.png new file mode 100644 index 0000000000000000000000000000000000000000..843a1d9aa507329d064e85df573fde2c1b5e99f9 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^6+q0w!3HEO=$B>FS$v*c!?QcpH;fX$A qa)D2RbqniaL7OuNGg$bG85n{cnWky5pELz3XYh3Ob6Mw<&;$V8M;GS+ literal 0 HcmV?d00001 diff --git a/scripts/grub-theme/select_se.png b/scripts/grub-theme/select_se.png new file mode 100644 index 0000000000000000000000000000000000000000..fc60fc94060de0121c9c1482930d567a9a16f631 GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=L_J*`Ln`JZ``r7qzlo94z;FTM bAtr_uDNNIh4zG~_Dq!$*^>bP0l+XkKlNJ-y literal 0 HcmV?d00001 diff --git a/scripts/grub-theme/select_sw.png b/scripts/grub-theme/select_sw.png new file mode 100644 index 0000000000000000000000000000000000000000..fc60fc94060de0121c9c1482930d567a9a16f631 GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=L_J*`Ln`JZ``r7qzlo94z;FTM bAtr_uDNNIh4zG~_Dq!$*^>bP0l+XkKlNJ-y literal 0 HcmV?d00001 diff --git a/scripts/grub-theme/select_w.png b/scripts/grub-theme/select_w.png new file mode 100644 index 0000000000000000000000000000000000000000..0fda206168c6346e0ce98a4984decdaf4bb9916e GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^EI?er!3HF+3I-nmQYxMR_&uywdIlRL|h)>gTe~DWM4f3/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" < "$MNT/etc/default/grub" </dev/null || true + chroot "$MNT" update-grub # Nettoyer