[Syslinux]Configurer Syslinux pour LUKS/LVM
Publié : sam. 08 nov. 2014, 19:38
Salut à tous
Comme je me suis procuré un p'tit SSD, j'ai voulu refaire une installation fraîche d'Arch en partant sur un chiffrement intégral du disque.
J'ai donc suivi ce tuto avec quelques adaptations. À savoir:
[*]Boot: 250Mo | Partitions chiffrée contenant [ SWAP 4Go | Ext4 Le reste ]
[*]Chiffrement: AES remplacé par Serpent (j'aime bien serpent
)
Voilà.
L'installation s'est déroulée sans problème.
Puis, je redémarre le PC pour booter sur mon nouvel Arch et là… catastrophe:

(Désolé pour la photo pourrie, je pouvais pas faire mieux).
Quelques petites explications sur mon système.
J'ai un tri-boot:
ArchLinux sur HDD -> C'est lui le maître. Le PC boot d'office sur le Syslinux de cet Arch là.
Dans le bootloader, on a le choix entre:
[Power On]->[SysLinux de ArchLinux master]->[Sélection de «ArchLinux SSD»]->[Syslinux du «ArchLinux SSD»]->[Boot du SSD avec déchiffrement des partitions].
Je sais que ce système de «ricochet» de boot est surprenant mais il est nécessaire parce que le SSD changera d'hôte et aura (bientôt?) une tour à lui tout seul.
Vous me suivez toujours?
Niveau partitions, j'ai ceci:
sdc1 = 250Mo Boot
sdc2 = Le reste, chiffré, qui contient SWAP + EXT4
Le ArchLinux sur SSD est appelé comme suit:
Logiquement, je devrais, en sélectionnant «David's ArchLinux» tomber sur le SysLinux du SSD.
Sauf que quand je le sélectionne… boum, message d'erreur (que vous avez vu).
Le SysLinux du SSD chiffré contient ceci (en plus du bla bla habituel)
Le «archfallback» est faux, mais je m'en occuperai après.
«ArchLinuxGroup-lvarch» est la partition chiffrée EXT4
Il existe également «ArchLinuxGroup-lvswap», pour la SWAP chiffrée.
Quant à l'erreur «hibernate», j'ignore d'où elle vient, j'ai supprimé cet élément de la ligne «hooks» de «mkinitcpio.conf» et j'ai re-généré le noyeau via «mkinitcpio -p linux».
En cas de besoin, le mkinitcpio.conf du SSD:
Voilà, je pense que j'ai tout dit.
Le problème est donc que je patauge avec le boot d'une partition chiffrée.
Quelqu'un sait-il comment configurer correctement tout ce bazar?
Merci d'avance à tous.
Comme je me suis procuré un p'tit SSD, j'ai voulu refaire une installation fraîche d'Arch en partant sur un chiffrement intégral du disque.
J'ai donc suivi ce tuto avec quelques adaptations. À savoir:
[*]Boot: 250Mo | Partitions chiffrée contenant [ SWAP 4Go | Ext4 Le reste ]
[*]Chiffrement: AES remplacé par Serpent (j'aime bien serpent

Voilà.
L'installation s'est déroulée sans problème.
Puis, je redémarre le PC pour booter sur mon nouvel Arch et là… catastrophe:

(Désolé pour la photo pourrie, je pouvais pas faire mieux).
Quelques petites explications sur mon système.
J'ai un tri-boot:
ArchLinux sur HDD -> C'est lui le maître. Le PC boot d'office sur le Syslinux de cet Arch là.
Dans le bootloader, on a le choix entre:
- ArchLinux sur HDD -> le «maître» précédemment cité
- Windows (chhhht! Pas taper!)
- ArchLinux chiffré sur SSD (celui qui pose problème)
[Power On]->[SysLinux de ArchLinux master]->[Sélection de «ArchLinux SSD»]->[Syslinux du «ArchLinux SSD»]->[Boot du SSD avec déchiffrement des partitions].
Je sais que ce système de «ricochet» de boot est surprenant mais il est nécessaire parce que le SSD changera d'hôte et aura (bientôt?) une tour à lui tout seul.
Vous me suivez toujours?
Niveau partitions, j'ai ceci:
Code : Tout sélectionner
/dev/sdc1: LABEL="Boot" UUID="b0bbd7ee-9d7b-4735-9059-2cd0f4ce7928" TYPE="ext4" PARTUUID="33f68d5f-01"
/dev/sdc2: UUID="5f842950-c005-4b50-87b6-fa965c13b80b" TYPE="crypto_LUKS" PARTUUID="33f68d5f-02"
sdc2 = Le reste, chiffré, qui contient SWAP + EXT4
Le ArchLinux sur SSD est appelé comme suit:
Code : Tout sélectionner
LABEL arch_david
MENU LABEL David's ArchLinux
LINUX ../vmlinuz-linux
APPEND root=UUID="b0bbd7ee-9d7b-4735-9059-2cd0f4ce7928" rw
INITRD ../initramfs-linux.img
Sauf que quand je le sélectionne… boum, message d'erreur (que vous avez vu).
Le SysLinux du SSD chiffré contient ceci (en plus du bla bla habituel)
Code : Tout sélectionner
LABEL arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
#APPEND root=UUID="b0bbd7ee-9d7b-4735-9059-2cd0f4ce7928" rw
APPEND cryptdevice=/dev/disk/by-uuid/b0bbd7ee-9d7b-4735-9059-2cd0f4ce7928:luks root=/dev/mapper/ArchLinuxGroup-lvarch rw
INITRD ../initramfs-linux.img
LABEL archfallback
MENU LABEL Arch Linux Fallback
LINUX ../vmlinuz-linux
APPEND root=UUID="b0bbd7ee-9d7b-4735-9059-2cd0f4ce7928" rw
INITRD ../initramfs-linux-fallback.img
«ArchLinuxGroup-lvarch» est la partition chiffrée EXT4
Il existe également «ArchLinuxGroup-lvswap», pour la SWAP chiffrée.
Quant à l'erreur «hibernate», j'ignore d'où elle vient, j'ai supprimé cet élément de la ligne «hooks» de «mkinitcpio.conf» et j'ai re-généré le noyeau via «mkinitcpio -p linux».
En cas de besoin, le mkinitcpio.conf du SSD:
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="sd_mod"
# 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 keymap encrypt lvm2 autodetect modconf block filesystems keyboard fsck"
# 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=""
Le problème est donc que je patauge avec le boot d'une partition chiffrée.
Quelqu'un sait-il comment configurer correctement tout ce bazar?
Merci d'avance à tous.