Como inicializar o gentoo com systemd, UEFI, lvm2 rootfs com inicialização EFI systemd?

2

Eu instalei o Arch Linux com essa configuração. E agora eu quero ter dupla inicialize com o gentoo. Mas, ao inicializar o gentoo, a raiz UUID (no LVM) não detectou. Meu esquema de partição é assim: ( lsblk -f )

sda                                                                    
├─sda1         vfat        E3B9-CCB0                               /boot
└─sda2         LVM2_member GwYKZG-fjl2-UV2L-KX57-1O8J-rBdp-fpdheC 
  ├─lvm-arch   ext4        67ce60f0-1a30-4da3-bb14-8dbfa0e4ea1d    /
  └─lvm-gentoo ext4        4db48ce0-3163-4a4d-ab8a-1961935cb680

Eu posso inicializar o Arch linux com o arquivo de configuração /boot/loader/entries/arch.conf :

title           Arch Linux (LVM)
linux           /vmlinuz-arch
initrd          /initramfs-arch.img
options         root=UUID=67ce60f0-1a30-4da3-bb14-8dbfa0e4ea1d rw

Após terminar a instalação do gentoo, eu crio /boot/loader/entries/gentoo.conf file:

title           Gentoo (LVM)
linux           /vmlinuz-gentoo
initrd          /initramfs-gentoo.img
options         root=UUID=4db48ce0-3163-4a4d-ab8a-1961935cb680 rw

Eu uso /boot/EFI/systemd/systemd-bootx64.efi para inicializar. A opção do gentoo fez aparecer no menu de inicialização, mas quando eu seleciono nenhuma resposta em tudo. Apenas em branco. Eu tentei inicializar no virtualbox diretamente usando meu disco rígido, então a inicialização funciona apenas até encontrar rootfs . De alguma forma, /dev/mapper/lvm-gentoo UUID não pode ser encontrado. Somente /dev/sda2 UUID é detectado.

Meu palpite, algo de errado com o kernel ou o initramfs. Mas eu compilei o kernel com suporte ao mapeador de dispositivos. E eu não fiz para fazer:

genkernel --lvm --install initramfs

O que eu senti falta?

    
por Mas Bagol 18.09.2015 / 15:47

1 resposta

1

Como você precisa usar não apenas o Gerenciador de Volume Lógico (LVM), mas o Identificador Único Universal (UUID), você deve adicionar outra opção ao comando genkernel, que é --disklabel , que resultará em algo parecido com isto

genkernel --lvm --disklabel --install initramfs

usando a opção --disklabel garantirá que blkid e outros comandos sejam incluídos no initramfs e estejam disponíveis durante a fase de inicialização.

Outro conselho é tentar outra opção para ter certeza de que todos os drivers também estão disponíveis. Talvez você os tenha construído como módulos e não no kernel. --all-ramdisk-modules incluirá todos os módulos do kernel na imagem initramfs. Isso não é obrigatório, mas você pode tentar apenas para ter certeza.

    
por 02.11.2015 / 18:42