• [^] # Re: Grub, rc.conf, systemd

    Posté par . En réponse au journal Arch et le tournant. Évalué à 9.

    D’un autre côté, elle est plus claire que la dernière que j’ai vue, dont j’avais conclu qu’il y avait plein de fichiers de configuration… mais aucun qui soit prévu pour qu’on puisse configurer (!), entre le fichier généré qu’il ne faut pas modifier parce qu’il est généré et les autres fichiers qui peuvent permettre d’influencer la génération, mais pas de manière immédiate.

    Je suis sous la diabolique Debian (Ah ! Ah ! Ah ! (rire maléfique)). Et sur mon système j'ai deux fichiers pour le configurer, mais attention c'est vraiment compliqué :

    • /etc/grub.d/40_custom pour le configurer (celle-ci s'ajoute aux configuration initiales)
    • /etc/default/grub Il permet d'avoir des configuration plus globale que dans le fichier précédent. Je tiens à souligner la complexité :
    $ grep -v "^#\|^$" /etc/default/grub
    GRUB_DEFAULT=0
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT="quiet"
    GRUB_CMDLINE_LINUX="init=/sbin/e4rat-preload"
    
    

    Si je modifie l'un de ces fichiers update-grub2 me génère le /boot/grub/grub.cfg ? C'est une mécanique complexe ? update-grub et update-grube2 ne font que lancer grub-mkconfig. Ce dernier est un script shell qui :

    • analyse les arguments
    • se configure en fonction de l'OS (notamment pour NetBSD et OpenBSD)
    • lance le grub-probe pour :
      • le fs sur le quel est installé la partie userland de grub
      • /boot
      • /
    • source /etc/grub.d/40_custom
    • configure la console
    • exécute chaque fichiers de /etc/grub.d/ et envoie leur sortie dans le grub.cfg

    C'est tellement compliqué qu'il suffit de lire le script.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)