젠투에서 다음 설정이 이루어지도록 하는 방법을 찾고 있습니다:
/dev/sda1 -> /boot (ext2)
/dev/sda2 -> Luks encrypted
|
+-lvm-vg1
|
+- /dev/mapper/root-fs -> / (ext4)
+- /dev/mapper/swap -> (swap)
기본적으로 그래픽 설치를 수행할 때 Ubuntu에서 수행하는 설정과 동일합니다.
LUKS와 LVM 설정을 수동으로 설정하는 방법을 알고 있지만 부팅 시 함께 가져오면 멈춥니다. 커널과 그럽에게 LUKS 파티션을 잠금 해제하고 올바른 LVM 파티션을 마운트하도록 어떻게 지시합니까?
답변1
그래서 나는 그것을 알아냈습니다:
핸드북에 따라 디스크를 부분적으로 분할했습니다.
# parted -a optimal /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)mklabel gpt
(parted)unit mib
(parted)mkpart primary 1 3
(parted)name 1 grub
(parted)set 1 bios_grub on
(parted)mkpart primary 3 131
(parted)name 2 boot
(parted)mkpart primary 131 -1
(parted)name 3 lvm
(parted)set 2 boot on
(parted)q
내가 변경한 유일한 변경 사항은 스왑 및 루트 파티션을 만드는 것이 아니라 대신 단일 파티션을 만들고 이름을 lvm(이름은 중요하지 않음)으로 지정하는 것입니다. 다음으로 LUKS를 설정했습니다.
# Load the dm-crypt module (probably not nessesary)
modprobe dm-crypt
# Crypt the partition we named lvm (in my case that would be /dev/sda3)
cryptsetup -c aes-cbc-essiv:sha256 -v luksFormat -s 256 /dev/sda3
# Open the luks volume
cryptsetup luksOpen /dev/sda3 sda3-luks
# Setup a LVM physical volume
lvm pvcreate /dev/mapper/sda3-luks
# Setup a volume group
lvm vgcreate vg0 /dev/mapper/sda3-luks
그 후 실제 볼륨을 설정합니다.
# Fist setup the swap volume
lvm lvcreate -L 2048M vg0
# Then check how many 'extends' are free (Free PE) using lvm vgdisplay
# use that number to use up the rest of the space:
lvm lvcreate -l 7809 vg0
/dev/sda3
나머지 부분에 대해서는 기본적으로 (스왑) 또는 (루트) 에 대해 작업을 수행하는 부분을 제외하고는 기본적으로 핸드북을 따릅니다. /dev/sda4
이제 /dev/mapper/vg0-lvol0
(스왑) 및 /dev/mapper/vg0-lvol1
.
중요한 것은 커널을 생성할 때(저는 genkernel
이것을 위해 사용했습니다) 먼저 emerge -av cryptsetup
. 그런 다음 genkernel
다음 매개변수를 사용하여 실행합니다.
genkernel --luks --lvm --busybox --menuconfig all
aes
LVM과 선택한 해싱 및 암호화 알고리즘(제 경우에는 및 sha256
) 을 지원하도록 커널을 설정해야 합니다 . 그런 다음 -config를 시작할 때까지 핸드북을 계속 따르십시오 grub
.
실행하기 전에 grub2-mkconfig
파일을 편집해야 합니다 /etc/defaults/grub
. (기록을 위해 이것이 최선의 해결책인지 확실하지 않지만 나에게는 효과가 있다고 말해야 합니다).
해당 파일에 다음을 넣었습니다(매개변수를 찾아 주석 처리를 제거하세요).
GRUB_CMDLINE_LINUX="crypt_root=UUID=<uuid of sda3> dolvm"
를 사용하여 올바른 UUID를 찾을 수 있습니다 ls -l /dev/disk/by-uuid
. 그 후에는 grub2-mkconfig
커널과 initramfs를 귀찮게 찾아야 합니다 /boot
. 다시 한 번 핸드북을 따르고 재부팅 후 비밀번호 프롬프트가 표시됩니다.
이것이 다른 사람에게 도움이 되기를 바랍니다.