[Grub2] Modification grub.cfg

Applications, problèmes de configuration réseau
reremi
archer
Messages : 114
Inscription : ven. 08 juil. 2011, 19:29
Localisation : Nord de la france

[Grub2] Modification grub.cfg

Message par reremi »

Bonjour, je voudrais changer le splash screen de ma arch pour faire un peu plus beau :P, je me lance donc dans l'installation et la config de plymouth, tout ce passe bien jusqu'au moment ou je dois modifier une valeur dans grub
The kernel command line
You now need to set quiet splash as you kernel command line parametres in your bootloader. The following is an example for Grub2 and /boot/grub/grub.cfg (the legacy Grub and Lilo follow the same pattern):
linux /boot/vmlinuz26 root=/dev/... ro quiet splash

Je chroot donc mon mint ( grub est installé dessus ) j'essaye de modifier a la main mon /boot/grub/grub.cfg en vain car a chaque

Code : Tout sélectionner

update-grub
celui ci se génère a partir d'autre fichier, je n'arrive donc pas a modifier ce fichu grub.cfg

le grub.cfg

Code : Tout sélectionner

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod vbe
  insmod vga
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set aad887ef-69e6-4424-a2c1-c46295d1d4dd
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set aad887ef-69e6-4424-a2c1-c46295d1d4dd
set locale_dir=($root)/boot/grub/locale
set lang=fr
insmod gettext
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/06_mint_theme ###
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set aad887ef-69e6-4424-a2c1-c46295d1d4dd
insmod png
if background_image /boot/grub/linuxmint.png ; then
  set color_normal=white/black
  set color_highlight=white/light-gray
else
  set menu_color_normal=white/black
  set menu_color_highlight=white/light-gray
fi
### END /etc/grub.d/06_mint_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Linux Mint 10, 2.6.35-22-generic (/dev/sda1)' --class linuxmint --class gnu-linux --class gnu --class os {
	recordfail
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set aad887ef-69e6-4424-a2c1-c46295d1d4dd
	linux	/boot/vmlinuz-2.6.35-22-generic root=UUID=aad887ef-69e6-4424-a2c1-c46295d1d4dd ro   quiet splash
	initrd	/boot/initrd.img-2.6.35-22-generic
}
menuentry 'Linux Mint 10, 2.6.35-22-generic (/dev/sda1) -- recovery mode' --class linuxmint --class gnu-linux --class gnu --class os {
	recordfail
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set aad887ef-69e6-4424-a2c1-c46295d1d4dd
	echo	'Loading Linux 2.6.35-22-generic ...'
	linux	/boot/vmlinuz-2.6.35-22-generic root=UUID=aad887ef-69e6-4424-a2c1-c46295d1d4dd ro single 
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.35-22-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_lupin ###
### END /etc/grub.d/10_lupin ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set aad887ef-69e6-4424-a2c1-c46295d1d4dd
	linux16	/boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set aad887ef-69e6-4424-a2c1-c46295d1d4dd
	linux16	/boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda2)" {
	insmod part_msdos
	insmod ntfs
	set root='(hd0,msdos2)'
	search --no-floppy --fs-uuid --set 0059a21622d5561c
	chainloader +1
}
menuentry "Ubuntu, with Linux 2.6.38 (on /dev/sda4)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos4)'
	search --no-floppy --fs-uuid --set 99fc9f9d-e1f3-4fd9-b08a-9f974b77a11e
	linux /boot/vmlinuz-2.6.38 root=UUID=99fc9f9d-e1f3-4fd9-b08a-9f974b77a11e ro text splash nomodeset vga=791
	initrd /boot/initrd.img-2.6.38
}
menuentry "Ubuntu, with Linux 2.6.38 (recovery mode) (on /dev/sda4)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos4)'
	search --no-floppy --fs-uuid --set 99fc9f9d-e1f3-4fd9-b08a-9f974b77a11e
	linux /boot/vmlinuz-2.6.38 root=UUID=99fc9f9d-e1f3-4fd9-b08a-9f974b77a11e ro single
	initrd /boot/initrd.img-2.6.38
}
menuentry "Arch (on /dev/sda6)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos6)'
	search --no-floppy --fs-uuid --set 1234ee4f-691b-459e-9a67-34cdffb2dd7f
	linux /boot/vmlinuz-linux root=/dev/sda6
	initrd /boot/initramfs-linux.img
}
### END /etc/grub.d/30_os-prober ###

le /etc/default/grub

Code : Tout sélectionner

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT="0"
#GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="5"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_LINUX_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_SAVEDEFAULT="false"
Merci d'avance :D
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Grub2] Modification grub.cfg

Message par FoolEcho »

Tu as la solution doublement sous le nez :copain: : ton message et le wiki. https://wiki.archlinux.org/index.php/Pl ... mmand_line
reremi a écrit :le /etc/default/grub

Code : Tout sélectionner

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
C'est le /etc/default/grub qu'il te faut éditer, puis relancer grub-mkconfig.
«The following statement is not true. The previous statement is true.» :nage:
reremi
archer
Messages : 114
Inscription : ven. 08 juil. 2011, 19:29
Localisation : Nord de la france

Re: [Grub2] Modification grub.cfg

Message par reremi »

Certe, mais comment modifier ce fichier?

Edit: Bon j'arrete avec plymouth parceque ça a foutu un de ces bordel, au boot plusieur erreurs, et la maintenant plus moyen d'ouvrir alsamixer

Code : Tout sélectionner

[remi@myhost ~]$ alsamixer
le mixeur ne peut pas être ouvert: Aucun fichier ou dossier de ce type
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Grub2] Modification grub.cfg

Message par FoolEcho »

Sinon:
reremi a écrit :Certe, mais comment modifier ce fichier?
Wiki:
You may also edit the file /etc/default/grub and append your kernel options to the line GRUB_CMDLINE_LINUX_DEFAULT="". To re-generate grub.cfg run:

# grub-mkconfig -o /boot/grub/grub.cfg
Tu mets tes options de kernel dans GRUB_CMDLINE_LINUX_DEFAULT et tu refais grub-mkconfig... qu'est-ce-qui n'est pas clair ? :shock:
«The following statement is not true. The previous statement is true.» :nage:
reremi
archer
Messages : 114
Inscription : ven. 08 juil. 2011, 19:29
Localisation : Nord de la france

Re: [Grub2] Modification grub.cfg

Message par reremi »

Cela ne s'appliquera pas qu'a mint?

Ps: Pour alsamixer

Code : Tout sélectionner

mkinitcpio -p linux
avait supprimé tout les groupes :?
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Grub2] Modification grub.cfg

Message par FoolEcho »

reremi a écrit :Cela ne s'appliquera pas qu'a mint?
J'avais oublié cette partie... :roll:
Donc, c'est ton... /etc/grub.d/30_os-prober qu'il te faut modifier, là où tu as tes entrées pour Arch (il vient de la détection automatique celui-là, non ? ... alors j'ignore comment il se comporte si tu refais une détection derrière... ... désolé, j'utilise pas grub2... ou bien tu testes en rajoutant de nouvelles entrées dans (?) etc/grub.d/40_custom si le os_prober pose problème). Puis refaire le grub-mkconfig pour mettre ton grub.cfg à jour.
reremi a écrit :Ps: Pour alsamixer

Code : Tout sélectionner

mkinitcpio -p linux
avait supprimé tout les groupes :?
:shock:
«The following statement is not true. The previous statement is true.» :nage:
reremi
archer
Messages : 114
Inscription : ven. 08 juil. 2011, 19:29
Localisation : Nord de la france

Re: [Grub2] Modification grub.cfg

Message par reremi »

Oui ça a tout foutu en l'air :?

Je ne pense pas que je puisse editer 30_os-prober car il s'agit d'un script

Code : Tout sélectionner

#! /bin/sh
set -e

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009  Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib

. ${libdir}/grub/grub-mkconfig_lib

found_other_os=

make_timeout () {
  if [ "x${found_other_os}" = "x" ] ; then
    if [ "x${1}" != "x" ] ; then
      if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
	verbose=
      else
	verbose=" --verbose"
      fi

      if [ "x${1}" = "x0" ] ; then
	cat <<EOF
if [ "x\${timeout}" != "x-1" ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep$verbose --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
EOF
      else
	cat << EOF
if [ "x\${timeout}" != "x-1" ]; then
  if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
    set timeout=0
  fi
fi
EOF
      fi
    fi
  fi
}

adjust_timeout () {
  if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
    cat <<EOF
if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
EOF
    make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_BUTTON}"
    echo else
    make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
    echo fi
  else
    make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
  fi
}

if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
  adjust_timeout
  exit 0
fi

if [ -z "`which os-prober 2> /dev/null`" -o -z "`which linux-boot-prober 2> /dev/null`" ] ; then
  # missing os-prober and/or linux-boot-prober
  adjust_timeout
  exit 0
fi

OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
if [ -z "${OSPROBED}" ] ; then
  # empty os-prober output, nothing doing
  adjust_timeout
  exit 0
fi

osx_entry() {
        cat << EOF
menuentry "${LONGNAME} (${2}-bit) (on ${DEVICE})" {
EOF
	save_default_entry | sed -e "s/^/\t/"
	prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
	cat << EOF
        load_video
        set do_resume=0
        if [ /var/vm/sleepimage -nt10 / ]; then
           if xnu_resume /var/vm/sleepimage; then
             set do_resume=1
           fi
        fi
        if [ \$do_resume = 0 ]; then
           xnu_uuid ${OSXUUID} uuid
           if [ -f /Extra/DSDT.aml ]; then
              acpi -e /Extra/DSDT.aml
           fi
           $1 /mach_kernel boot-uuid=\${uuid} rd=*uuid
           if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
              xnu_mkext /System/Library/Extensions.mkext
           else
              xnu_kextdir /System/Library/Extensions
           fi
           if [ -f /Extra/Extensions.mkext ]; then
              xnu_mkext /Extra/Extensions.mkext
           fi
           if [ -d /Extra/Extensions ]; then
              xnu_kextdir /Extra/Extensions
           fi
           if [ -f /Extra/devprop.bin ]; then
              xnu_devprop_load /Extra/devprop.bin
           fi
           if [ -f /Extra/splash.jpg ]; then
              insmod jpeg
              xnu_splash /Extra/splash.jpg
           fi
           if [ -f /Extra/splash.png ]; then
              insmod png
              xnu_splash /Extra/splash.png
           fi
           if [ -f /Extra/splash.tga ]; then
              insmod tga
              xnu_splash /Extra/splash.tga
           fi
        fi
}
EOF
}

for OS in ${OSPROBED} ; do
  DEVICE="`echo ${OS} | cut -d ':' -f 1`"
  LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
  LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
  BOOT="`echo ${OS} | cut -d ':' -f 4`"

  if [ -z "${LONGNAME}" ] ; then
    LONGNAME="${LABEL}"
  fi

  echo "Found ${LONGNAME} on ${DEVICE}" >&2
  found_other_os=1

  case ${BOOT} in
    chain)

      cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" {
EOF
      save_default_entry | sed -e "s/^/\t/"
      prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"

      case ${LONGNAME} in
	Windows\ Vista*|Windows\ 7*)
	;;
	*)
	  cat << EOF
	drivemap -s (hd0) \${root}
EOF
	;;
      esac

      cat <<EOF
	chainloader +1
}
EOF
    ;;
    linux)
      LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
      prepare_boot_cache=

      for LINUX in ${LINUXPROBED} ; do
        LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
        LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
        LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"
        LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
        LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
        LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`"

        if [ -z "${LLABEL}" ] ; then
          LLABEL="${LONGNAME}"
        fi

	if [ "${LROOT}" != "${LBOOT}" ]; then
	  LKERNEL="${LKERNEL#/boot}"
	  LINITRD="${LINITRD#/boot}"
	fi

        cat << EOF
menuentry "${LLABEL} (on ${DEVICE})" {
EOF
	save_default_entry | sed -e "s/^/\t/"
	if [ -z "${prepare_boot_cache}" ]; then
	  prepare_boot_cache="$(prepare_grub_to_access_device ${LBOOT} | sed -e "s/^/\t/")"
	fi
	printf '%s\n' "${prepare_boot_cache}"
	cat <<  EOF
	linux ${LKERNEL} ${LPARAMS}
EOF
        if [ -n "${LINITRD}" ] ; then
          cat << EOF
	initrd ${LINITRD}
EOF
        fi
        cat << EOF
}
EOF
      done
    ;;
    macosx)
      OSXUUID="`grub-probe --target=fs_uuid --device ${DEVICE} 2> /dev/null`"
      osx_entry xnu_kernel 32
      osx_entry xnu_kernel64 64
    ;;
    hurd)
      cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" {
EOF
      save_default_entry | sed -e "s/^/\t/"
      prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
      grub_device="`${grub_probe} --device ${DEVICE} --target=drive`"
      mach_device="`echo "${grub_device}" | tr -d '()' | tr , s`"
      grub_fs="`${grub_probe} --device ${DEVICE} --target=fs`"
      case "${grub_fs}" in
	*fs)	hurd_fs="${grub_fs}" ;;
	*)	hurd_fs="${grub_fs}fs" ;;
      esac
      cat << EOF
	multiboot /boot/gnumach.gz root=device:${mach_device}
	module /hurd/${hurd_fs}.static ${hurd_fs} --readonly \\
			--multiboot-command-line='\${kernel-command-line}' \\
			--host-priv-port='\${host-port}' \\
			--device-master-port='\${device-port}' \\
			--exec-server-task='\${exec-task}' -T typed '\${root}' \\
			'\$(task-create)' '\$(task-resume)'
	module /lib/ld.so.1 exec /hurd/exec '\$(exec-task=task-create)'
}
EOF
    ;;
    *)
      echo "  ${LONGNAME} is not yet supported by grub-mkconfig." >&2
    ;;
  esac
done

adjust_timeout
Parcontre dans 40_custom

Code : Tout sélectionner

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
j'ajoute les lignes

Code : Tout sélectionner

menuentry "Arch (on /dev/sda6)" {
   insmod part_msdos
   insmod ext2
   set root='(hd0,msdos6)'
   search --no-floppy --fs-uuid --set 1234ee4f-691b-459e-9a67-34cdffb2dd7f
   linux /boot/vmlinuz-linux root=/dev/sda6 quiet splash
   initrd /boot/initramfs-linux.img
?
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Grub2] Modification grub.cfg

Message par FoolEcho »

Va pour le 40_custom.
«The following statement is not true. The previous statement is true.» :nage:
reremi
archer
Messages : 114
Inscription : ven. 08 juil. 2011, 19:29
Localisation : Nord de la france

Re: [Grub2] Modification grub.cfg

Message par reremi »

J'ajoute donc ces lignes??

Je ferais ça plus tard, pas envie de mettre le bazar pour l'instant :P
Répondre