{"id":1962,"date":"2015-05-05T23:37:12","date_gmt":"2015-05-05T21:37:12","guid":{"rendered":"http:\/\/stephane.weblog.starend.org\/?p=1962"},"modified":"2015-05-05T23:37:12","modified_gmt":"2015-05-05T21:37:12","slug":"personnalisation-de-sa-machine-linux-1-chargeur-de-demarrage","status":"publish","type":"post","link":"http:\/\/stephane.weblog.starend.org\/?p=1962","title":{"rendered":"Personnalisation de sa machine Linux \u00e2\u20ac\u201c 1 chargeur de d\u00e9marrage"},"content":{"rendered":"<p style=\"text-align: justify;\">Premi\u00e8re partie de la <a title=\"Personnalisation de sa machine Linux \u00e2\u20ac\u201c Introduction\" href=\"http:\/\/stephane.weblog.starend.org\/?p=1959\">personnalisation de sa machine Linux<\/a>.<\/p>\n<h2 style=\"text-align: justify;\">Introduction<\/h2>\n<p style=\"text-align: justify;\">Le chargeur de d\u00e9marrage, c&rsquo;est un tout petit programme. Lorsque l&rsquo;on allume sa machine, elle ex\u00e9cute le BIOS ou l&rsquo;UEFI. Ceux-ci sont enregistr\u00e9s dans une puce de la carte m\u00e8re et permettent d&rsquo;initialiser et de configurer la machine avec tous ses p\u00e9riph\u00e9riques (carte vid\u00e9o, carte son, disque dur, etc). Lorsque le BIOS ou l&rsquo;UEFI ont finit leur travail, ils chargent depuis le disque dur (en g\u00e9n\u00e9ral) un petit programme stock\u00e9 en d\u00e9but de disque, c&rsquo;est le chargeur de d\u00e9marrage. On trouve principalement <a title=\"GRUB\" href=\"http:\/\/fr.wikipedia.org\/wiki\/GNU_GRUB\" target=\"_blank\">GRUB<\/a> ou <a title=\"LILO\" href=\"http:\/\/fr.wikipedia.org\/wiki\/Linux_loader\" target=\"_blank\">LILO<\/a> pour Linux, ou le <a title=\"Bootloader\" href=\"http:\/\/fr.wikipedia.org\/wiki\/NTLDR\" target=\"_blank\">Bootloader<\/a> pour M$ Windows.<\/p>\n<p style=\"text-align: justify;\">A quoi sert ce petit programme ? Il est souvent masqu\u00e9 ou ignor\u00e9 de l&rsquo;utilisateur lorsqu&rsquo;il ne l&rsquo;est pas. Et il passe tr\u00e8s vite. C&rsquo;est lui qui va lister les syst\u00e8mes d&rsquo;exploitations install\u00e9s sur le ou les disques durs et permettre \u00e0 l&rsquo;utilisateur de choisir lequel il souhaite utiliser. Souvent, il n&rsquo;y a qu&rsquo;un seul syst\u00e8me d&rsquo;exploitation, c&rsquo;est la raison pour laquelle peu d&rsquo;utilisateurs remarquent le chargeur de d\u00e9marrage.<\/p>\n<p style=\"text-align: justify;\">On utilise ici GRUB, le chargeur de d\u00e9marrage install\u00e9 par d\u00e9faut sous Debian Linux.<\/p>\n<p style=\"text-align: justify;\">Comme on travaille sur une cl\u00e9 USB, suivant les machines sur lesquelles on va d\u00e9marrer, il ne sera pas toujours possible de disposer d&rsquo;une bonne r\u00e9solution d&rsquo;\u00e9cran au d\u00e9marrage. On fixe par d\u00e9faut une r\u00e9solution d&rsquo;\u00e9cran assez petite pour minimiser les probl\u00e8mes, soit du 640&#215;480.<\/p>\n<p style=\"text-align: justify;\"><!--more--><\/p>\n<h2 style=\"text-align: justify;\">Configuration de base<\/h2>\n<p style=\"text-align: justify;\">Ici, il n&rsquo;y a rien \u00e0 installer, tout est d\u00e9j\u00e0 en place suite \u00e0 l&rsquo;installation de Linux.<\/p>\n<p style=\"text-align: justify;\">La configuration de GRUB se trouve dans <code>\/boot\/grub\/grub.cfg<\/code> . Ce fichier de configuration est r\u00e9g\u00e9n\u00e9r\u00e9 \u00e0 chaque mise \u00e0 jour du noyau Linux. Il vaut mieux ne pas le modifier directement mais de modifier le fichier de configuration pour la r\u00e9g\u00e9n\u00e9ration de la configuration de GRUB, c&rsquo;est \u00e0 dire le fichier <code>\/etc\/default\/grub<\/code> .<\/p>\n<p style=\"text-align: justify;\">Voici quelques valeurs par d\u00e9faut que je vous propose, \u00e0 adapter \u00e0 vos besoins. Modifier <code>\/etc\/default\/grub<\/code> :<br \/>\n<code>GRUB_TIMEOUT=2<br \/>\nGRUB_DISTRIBUTOR=\"Terminator\"<br \/>\nGRUB_CMDLINE_LINUX_DEFAULT=\"quiet splash\"<br \/>\nGRUB_DISABLE_RECOVERY=true<br \/>\nGRUB_DISABLE_OS_PROBER=true<br \/>\nGRUB_DISABLE_SUBMENU=y<br \/>\nGRUB_GFXMODE=640x480<\/code><\/p>\n<h2 style=\"text-align: justify;\">Mode silencieux<\/h2>\n<p style=\"text-align: justify;\">Si on n&rsquo;a pas de deuxi\u00e8me syst\u00e8me d&rsquo;exploitation, on peut tout simplement masquer l&rsquo;affichage de GRUB au d\u00e9marrage. Il sera toujours lanc\u00e9 mais en l&rsquo;absence d&rsquo;interaction de l&rsquo;utilisateur il affichera un \u00e9cran noir.<\/p>\n<p style=\"text-align: justify;\">Pour cela, dans le fichier <code>\/etc\/default\/grub<\/code>, ajouter\/modifier les lignes :<br \/>\n<code>GRUB_HIDDEN_TIMEOUT=2<br \/>\nGRUB_HIDDEN_TIMEOUT_QUIET=true<br \/>\nGRUB_TIMEOUT=0<\/code><br \/>\nCela fera attendre 2s avec un \u00e9cran noir avant de d\u00e9marrer le syst\u00e8me d&rsquo;exploitation par d\u00e9faut (<code>GRUB_DEFAULT<\/code>).<\/p>\n<p style=\"text-align: justify;\">Pour appliquer les changements, lancer :<br \/>\n<code>update-grub2<\/code><\/p>\n<p style=\"text-align: justify;\">Il peut \u00eatre int\u00e9ressant de combiner le mode silencieux avec une image de fond. Il suffit d&rsquo;ajouter ce qui est fait dans le paragraphe suivant.<\/p>\n<h2 style=\"text-align: justify;\">Mode avec image<\/h2>\n<p style=\"text-align: justify;\">Nous partons ici pour une r\u00e9solution au d\u00e9marrage de 640&#215;480 en 32bits.<\/p>\n<p style=\"text-align: justify;\">Cr\u00e9er une image de type PNG avec ces param\u00e8tres.<br \/>\nSi la r\u00e9solution d&rsquo;\u00e9cran, et surtout le rapport largeur\/hauteur, n&rsquo;est pas parfaitement ma\u00eetris\u00e9e, l&rsquo;image sera d\u00e9form\u00e9e. Dans ce cas tous les motifs et dessins avec une g\u00e9om\u00e9trie parfaite comme les ronds et carr\u00e9s appara\u00eetrons d\u00e9form\u00e9s. Penser aussi que sur la partie en haut \u00e0 droite il y a des informations qui vont s&rsquo;afficher par dessus et que certains motifs de l&rsquo;image peuvent perturber la lecture<\/p>\n<p style=\"text-align: justify;\">Par exemple, mon image :<\/p>\n<p style=\"text-align: center;\"><a href=\"\/wp-content\/uploads\/stephane\/2015\/05\/grub_starend.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-1977\" alt=\"grub_starend\" src=\"\/wp-content\/uploads\/stephane\/2015\/05\/grub_starend-450x337.png\" width=\"450\" height=\"337\" \/><\/a><br \/>\n<em>640x480x32<\/em><\/p>\n<p style=\"text-align: justify;\">Enregistrer l&rsquo;image dans <code>\/boot\/grub\/image.png<\/code> .<\/p>\n<p style=\"text-align: justify;\">Dans le fichier <code>\/etc\/default\/grub<\/code>, ajouter les lignes :<br \/>\n<code>GRUB_TERMINAL=gfxterm<\/code><br \/>\n<code>GRUB_BACKGROUND=\/boot\/grub\/image.png<\/code><\/p>\n<p style=\"text-align: justify;\">Pour appliquer les changements, lancer :<br \/>\n<code>update-grub2<\/code><br \/>\n<code>update-initramfs -u<\/code><\/p>\n<h2 style=\"text-align: justify;\">Image plus grande<\/h2>\n<p style=\"text-align: justify;\">Si vous \u00eates sur une machine fixe, il est tout \u00e0 fait possible de mettre une image plus grande pour \u00e9pater la galerie.<\/p>\n<p style=\"text-align: justify;\">Il faut d&rsquo;abord d\u00e9terminer quelles sont les r\u00e9solutions support\u00e9es au d\u00e9marrage. Red\u00e9marrer et lorsque le menu de GRUB appara\u00eet, taper la touche [c]. Puis taper la commande vbeinfo. Choisir la plus grande r\u00e9solution avec le rapport largeur\/hauteur de l&rsquo;\u00e9cran. Par exemple <code>1366x768x32<\/code>.<\/p>\n<p style=\"text-align: justify;\">Cr\u00e9er une image de la bonne r\u00e9solution (1366&#215;768) et du bon nombre de couleurs (32bits) et l&rsquo;enregistrer dans <code>\/boot\/grub\/image.png<\/code> .<\/p>\n<p style=\"text-align: justify;\">Modifier dans\u00c2\u00a0<code>\/etc\/default\/grub<\/code> la ligne :<br \/>\n<code>GRUB_GFXMODE=\"1366x768x32 640x480x16\"<br \/>\nGRUB_GFXPAYLOAD_LINUX=\"keep\"<\/code><\/p>\n<p style=\"text-align: justify;\">Pour appliquer les changements, lancer :<br \/>\n<code>update-grub2<\/code><\/p>\n<p style=\"text-align: justify;\">On peux m\u00eame faire en sorte que plusieurs r\u00e9solutions soient indiqu\u00e9es, la premi\u00e8re utilisable le sera. Mettre en place une image \u00e0 la plus grande r\u00e9solution attendue. Modifier dans\u00c2\u00a0<code>\/etc\/default\/grub<\/code> la ligne :<br \/>\n<code>GRUB_GFXMODE=\"1920x1080x32 1366x768x32 640x480x16\"<\/code><\/p>\n<p style=\"text-align: center;\"><a href=\"\/wp-content\/uploads\/stephane\/2015\/05\/grub_starend_1920x1080.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-1979\" alt=\"grub_starend_1920x1080\" src=\"\/wp-content\/uploads\/stephane\/2015\/05\/grub_starend_1920x1080-450x253.png\" width=\"450\" height=\"253\" srcset=\"\/wp-content\/uploads\/stephane\/2015\/05\/grub_starend_1920x1080-450x253.png 450w, \/wp-content\/uploads\/stephane\/2015\/05\/grub_starend_1920x1080-1024x576.png 1024w, \/wp-content\/uploads\/stephane\/2015\/05\/grub_starend_1920x1080.png 1920w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/><\/a><br \/>\n<em>1920x1080x32<\/em><\/p>\n<h2 style=\"text-align: justify;\">Personnalisation avanc\u00e9e<\/h2>\n<p style=\"text-align: justify;\">Le fichier de configuration de GRUB est g\u00e9n\u00e9r\u00e9 \u00e0 partir de la configuration dans <code>\/etc\/default\/grub<\/code> . Il est possible de modifier le comportement de la g\u00e9n\u00e9ration du fichier de configuration de GRUB. Tout est fait par scripts shell. Ces scripts sont stock\u00e9s dans <code>\/etc\/grub.d\/<\/code> . Il faut cependant faire attention lorsque l&rsquo;on modifie un des scripts en place, il sont susceptibles d&rsquo;\u00eatre modifi\u00e9s par une mise \u00e0 jour du syst\u00e8me. Il est donc pr\u00e9f\u00e9rable d&rsquo;en ajouter de nouveaux avec le bon num\u00e9ro pour que le nouveau script soit lanc\u00e9 au bon moment.<\/p>\n<p style=\"text-align: justify;\">Il existe heureusement par d\u00e9faut deux scripts qui sont personnalisables : <code>40_custom<\/code> et <code>41_custom<\/code> .<br \/>\nLe premier, <code>40_custom<\/code>, est \u00e0 votre enti\u00e8re disposition. Vous pouvez ajouter les options qui seront \u00e9crites dans le fichier de configuration de GRUB. Attention \u00e0 faire en sorte que les options soient valides.<\/p>\n<p style=\"text-align: justify;\">Le second, <code>41_custom<\/code>, recopie le contenu du fichier <code>\/boot\/grub\/custom.cfg<\/code> \u00e0 la fin du fichier de configuration de GRUB. Cela permet d&rsquo;ajouter des options de configuration sans trop se poser de question. On peut notamment s&rsquo;en servir pour changer la couleur du menu de GRUB avec :<br \/>\n<code>set color_normal=dark-gray\/black<br \/>\nset menu_color_normal=white\/black<br \/>\nset menu_color_highlight=red\/white<\/code><\/p>\n<p>Il est par exemple possible d&rsquo;en ajouter un autre, <code>42_custom<\/code>, \u00e0 votre enti\u00e8re disposition. A chaque fois que le script affiche quelque chose, c&rsquo;est en fait \u00e9crit dans le fichier de configuration de GRUB. Attention \u00e0 faire en sorte qu&rsquo;il n&rsquo;\u00e9crive pas n&rsquo;importe quoi et qu&rsquo;il se termine bien.<\/p>\n<p style=\"text-align: justify;\">Pour appliquer les changements, lancer :<br \/>\n<code>update-grub2<\/code><br \/>\n<code>update-initramfs -u<\/code><\/p>\n<h2 style=\"text-align: justify;\">Liens<\/h2>\n<p style=\"text-align: justify;\">&#8211; <a title=\"https:\/\/help.ubuntu.com\/community\/Grub2\/Setup\" href=\"https:\/\/help.ubuntu.com\/community\/Grub2\/Setup\" target=\"_blank\">https:\/\/help.ubuntu.com\/community\/Grub2\/Setup<\/a><br \/>\n&#8211; <a title=\"http:\/\/www.gnu.org\/software\/grub\/manual\" href=\"http:\/\/www.gnu.org\/software\/grub\/manual\" target=\"_blank\">http:\/\/www.gnu.org\/software\/grub\/manual<\/a><br \/>\n&#8211; <a title=\"https:\/\/wiki.debian.org\/Grub\/SplashImage\" href=\"https:\/\/wiki.debian.org\/Grub\/SplashImage\" target=\"_blank\">https:\/\/wiki.debian.org\/Grub\/SplashImage<\/a><br \/>\n&#8211; <a title=\"http:\/\/www.dedoimedo.com\/computers\/grub-2.html\" href=\"http:\/\/www.dedoimedo.com\/computers\/grub-2.html\" target=\"_blank\">http:\/\/www.dedoimedo.com\/computers\/grub-2.html<\/a><br \/>\n&#8211; <a title=\"http:\/\/www.linuxpedia.fr\/doku.php\/expert\/grub2\" href=\"http:\/\/www.linuxpedia.fr\/doku.php\/expert\/grub2\" target=\"_blank\">http:\/\/www.linuxpedia.fr\/doku.php\/expert\/grub2<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Premi\u00e8re partie de la personnalisation de sa machine Linux. Introduction Le chargeur de d\u00e9marrage, c&rsquo;est un tout petit programme. Lorsque l&rsquo;on allume sa machine, elle ex\u00e9cute le BIOS ou l&rsquo;UEFI. Ceux-ci sont enregistr\u00e9s dans une puce de la carte m\u00e8re et permettent d&rsquo;initialiser et de configurer la machine avec tous ses p\u00e9riph\u00e9riques (carte vid\u00e9o, carte &hellip; <a href=\"http:\/\/stephane.weblog.starend.org\/?p=1962\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Personnalisation de sa machine Linux \u00e2\u20ac\u201c 1 chargeur de d\u00e9marrage<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[43,10,11,18],"tags":[93,101,203,238,397],"_links":{"self":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/posts\/1962"}],"collection":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1962"}],"version-history":[{"count":0,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/posts\/1962\/revisions"}],"wp:attachment":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1962"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}