[GRUB + LUKS] configuration de "GRUB_CMDLINE_LINUX_DEFAULT" (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
ThOsam
Hankyu
Messages : 38
Inscription : jeu. 09 avr. 2015, 09:18

[GRUB + LUKS] configuration de "GRUB_CMDLINE_LINUX_DEFAULT" (résolu)

Message par ThOsam »

Solution : Ajouter très précisément "encrypt" puis "lvm2" dans cette ordre et juste avant "filesystem" pour que ça fonctionne, sans rien ajouter de plus dans le mkinitcpio. Une aide en anglais plus détaillées par ici https://forum.manjaro.org/index.php?topic=1145.0
- - - - - - - - - - - - - - - - - - -

Bonsoir, je rencontre un problème une fois l'installation terminée, au lancement du GRUB.

Au démarrage je me retrouve avec la saisie du mot de passe de chiffrement puis la ligne "Device lvm already exists." qui défile sans s'arrêter (cf. détails et capture plus bas). Sans pouvoir continuer.
Il me semble que c'est la ligne "GRUB_CMDLINE_LINUX_DEFAULT=" qui pose problème. J'ai dû tenter 7 ou 8 installations (c'est long) en essayant diverses options mais la je sèche.

Installation sur SSD en parallèle de Windows 7 (non-UEFI), LUKS sur LVM, partition /boot non-chiffrée, / /home séparées.
J'ai bien lu la page https://wiki.archlinux.org/index.php/Dm ... ryptdevice mais trouver de solution.

En détails :
LUKS : /dev/sda4 -> /dev/mapper/luks
LVM2 : /dev/mapper/lvm (Volume Group)

Image

Voici ce que j'ai copié avant de finir l'installation :

1/ le fichier /etc/default/grub en question :

Code : Tout sélectionner

GRUB_DEFAULT=saved
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=UUID=8ca4b87e-fa80-4396-b89e-ae96b2495037:lvm root=/dev/mapper/lvm-rootvol resume=/dev/mapper/lvm-swapvol"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable Hidden Menu, and optionally hide the timeout count
#GRUB_HIDDEN_TIMEOUT=5
#GRUB_HIDDEN_TIMEOUT_QUIET=true

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=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=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter 
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" 
#GRUB_DISABLE_LINUX_UUID=true

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

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper 
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
GRUB_BACKGROUND="/usr/share/grub/background.png"
#GRUB_THEME="/path/to/gfxtheme"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
2/ le fichier fstab :

Code : Tout sélectionner

# 
# /etc/fstab: static file system information
#
# <file system>	<dir>	<type>	<options>	<dump>	<pass>
# DEVICE DETAILS: /dev/mapper/lvm-homevol UUID=3787304f-9b16-4d64-9db1-969ca46d78da LABEL=HOMELVM-MSI
# DEVICE DETAILS: /dev/mapper/lvm-rootvol UUID=26f09657-5613-4662-815e-20fb7d3888ee LABEL=ROOTLVM-MSI
# DEVICE DETAILS: /dev/mapper/lvm-swapvol UUID=631b9662-4cc5-48cc-8567-ac01c66fdc0a LABEL=SWAPLVM-MSI
# DEVICE DETAILS: /dev/sda3 UUID=3e96af97-b257-43e8-b392-b0b27f6ec7de LABEL=BOOT-MSI
UUID=26f09657-5613-4662-815e-20fb7d3888ee / ext4 defaults 0 1
UUID=3787304f-9b16-4d64-9db1-969ca46d78da /home ext4 defaults 0 1
UUID=3e96af97-b257-43e8-b392-b0b27f6ec7de /boot ext2 defaults 0 1
UUID=631b9662-4cc5-48cc-8567-ac01c66fdc0a swap swap defaults 0 0
3/ mkinitcpio.conf (au cas où) :

Code : Tout sélectionner

# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES="piix ide_disk reiserfs"
MODULES="dm_mod dm_crypt ext4 aes_x86_64 sha256 sha512"

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=""

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS="base"
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS="base udev autodetect block filesystems"
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS="base udev block filesystems"
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS="base udev block mdadm encrypt filesystems"
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS="base udev block lvm2 filesystems"
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block keyboard keymap plymouth plymouth-encrypt lvm2 encrypt pcmcia resume filesystems fsck usr shutdown"

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=""
Je précise que c'est sur une installation de Manjaro mais je viens poster ici car : le forum ne me semble pas très actif (version FR) et il me semble que le problème que je rencontre n'est pas propre à la distribution (base Arch en général) mais à GRUB et LUKS. Mais si je fais erreur dites-le moi, je prends les remarques :)
Dernière modification par ThOsam le mer. 27 avr. 2016, 23:10, modifié 2 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [GRUB + LUKS] configuration de "GRUB_CMDLINE_LINUX_DEFAULT"

Message par benjarobin »

Tu as 2 fois un hook encrypt...
Et pourquoi refaire 36 fois une installation alors qu'il suffit de modifier un fichier de configuration...

Mais comme manjaro fait sa propre configuration je crains que cela ne soit pas forcément le bon forum...
On est assez loin d'une configuration Arch linux par défaut
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
ThOsam
Hankyu
Messages : 38
Inscription : jeu. 09 avr. 2015, 09:18

Re: [GRUB + LUKS] configuration de "GRUB_CMDLINE_LINUX_DEFAULT"

Message par ThOsam »

Merci benjarobin. (désolé pour la réponse tardive, je rentre seulement chez moi)

Effectivement mais je ne sais pas faire un chroot sous Manjaro après la modification du mkinitcpio (sous Arch oui)

Je vais tester tout à l'heure en supprimant le hook encrypt en double, et je reviens mettre à jour ce post.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [GRUB + LUKS] configuration de "GRUB_CMDLINE_LINUX_DEFAULT"

Message par benjarobin »

Pourtant la procédure de chroot est la même... Et sinon bien sûr après la modification du fichier de configuration, bien penser à régénérer l'initramfs sinon elle n'est pas prise en compte
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
ThOsam
Hankyu
Messages : 38
Inscription : jeu. 09 avr. 2015, 09:18

Re: [GRUB + LUKS] configuration de "GRUB_CMDLINE_LINUX_DEFAULT"

Message par ThOsam »

Bon j'ai refait une install (~20min, plus court que le temps de faire un chroot + lecture doc, j'essayerais une prochaine fois)

Je rencontre quasiment le même problème : une fois le GRUB passé j'ai la demande de mot de passe Enter passphrase for /dev/sda4 puis Nokey available for /dev/sda4: à chaque tentative peu importe la phrase de pass.

J'ai légèrement modifié le fichier mkinitcpio (uniquement modification de la ligne des hooks) :

Code : Tout sélectionner

HOOKS="base udev autodetect modconf block lvm2 encrypt pcmcia resume filesystems keyboard keymap fsck usr shutdown plymouth"
Je n'ai en fait cette fois qu'ajouté "lvm2" et "encrypt" avant "filesystems" sans toucher au reste.

Je pense que je vais poster sur le forum Manjaro fr demain pour tenter d'en avoir une réponse par des spécialistes de la distribution...
Avatar de l’utilisateur
fe80
Hankyu
Messages : 17
Inscription : dim. 13 sept. 2015, 13:33

Re: [GRUB + LUKS] configuration de "GRUB_CMDLINE_LINUX_DEFAULT"

Message par fe80 »

Mauvais idée d'appeler ton vg lvm.. Ex avec un vg qui s'appelle vg0 sur /dev/sda2 :

Code : Tout sélectionner

fgrep -i GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub 
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/sda2:vg0 lang=fr locale=fr_FR.UTF-8"
pas besoin de toucher au reste de la conf grub
ThOsam
Hankyu
Messages : 38
Inscription : jeu. 09 avr. 2015, 09:18

Re: [GRUB + LUKS] configuration de "GRUB_CMDLINE_LINUX_DEFAULT"

Message par ThOsam »

Merci pour les conseils fe80.

J'ai changé le nom du Volume Group en "vg0" pour éviter la confusion.
J'ai modifié seulement la ligne avec ce que tu m'as donné en adaptant.

Sauf que je rencontre l'un des écrans d'erreur au démarrage, que j'ai déjà rencontré lors de l'une de mes tentatives, sans pourvoir continuer. (cf. capture ci-dessous).

Image
Avatar de l’utilisateur
fe80
Hankyu
Messages : 17
Inscription : dim. 13 sept. 2015, 13:33

Re: [GRUB + LUKS] configuration de "GRUB_CMDLINE_LINUX_DEFAULT"

Message par fe80 »

Là c'est une erreur de fstab que tu as, tu t'es planté sur un UUID de disque et sur le nom d'un lv. Je te conseil de regarder des tuto video (du style https://www.youtube.com/watch?v=bBULyxQGhps). Mais comme t'as dis @benjarobin regarde les docs et vas sur le forum manjaro tu aura une aide plus adapté, tu es pas sur le bon forum..
ThOsam
Hankyu
Messages : 38
Inscription : jeu. 09 avr. 2015, 09:18

Re: [GRUB + LUKS] configuration de "GRUB_CMDLINE_LINUX_DEFAULT"

Message par ThOsam »

Merci fe80, je prends les liens YouTube ça va m'être utile.

Attention, j'ai refait une install complète, les UUID donnés dans mon premier post ne sont plus justes. En fait l'outil d'installation de Manjaro génère tout seul le fstab, le mkinitcpio (ou plutôt pas parce que je suis obligé d'aller éditer le fichier à la fin de l'install) et le fichier GRUB (pareil, édit obligatoire).

Yep, j'ai posté sur le forum Manjaro cette nuit : http://www.manjaro.fr/forum/viewtopic.p ... 79&p=83312
ThOsam
Hankyu
Messages : 38
Inscription : jeu. 09 avr. 2015, 09:18

Re: [GRUB + LUKS] configuration de "GRUB_CMDLINE_LINUX_DEFAULT"

Message par ThOsam »

J'ai appliqué précisément ce qui est dit sur un fil du forum EN de Manjaro, ça fonctionne : https://forum.manjaro.org/index.php?topic=1145.0
Il semblerait qu'il faille très précisément indiquer "encrypt" puis "lvm2" dans cette ordre et juste avant "filesystem" pour que ça fonctionne. J'ai fait l'erreur en voulant bien faire d'ajouter des choses dans le mkinitcpio. Idem pour le fichier de GRUB, qui doit en fait être modifié après installation.
Donc j'ai un Manjaro installé mais tout n'est pas totalement clair.
Mais c'est RÉSOLU.
Répondre