[О блоге] [наверх] [пред] [2020-07-19 15:49:26+03:00] [50d9ff303ee4920bc738f28af5dc4dfb0af9b2e2]
Темы: [bsd]

Попробовал FreeBSD шифрование корневого раздела

Прежде никогда не имел с этим опыта. Собственно, никаких проблем не
увидел, даже GPT label можно без проблем везде использовать. Точнее с
одним неудобством, похоже hard-coded в ядре: в начале при загрузке он
попросит пароль для какого нибудь daXsY и, введя неправильно несколько
раз пароль, он начнёт спрашивать уже про gpt/XXX устройства. Вот
примерный план как установил систему, с отдельным /boot разделом и
зашифрованным ZFS:

    # gpart create -s GPT diskid/XXX
    # gpart add -t freebsd-boot -a 4K -s 512K -l MYLOADER diskid/XXX
    # gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 diskid/XXX
    # gpart add -t freebsd-ufs -a 4K -s 1G -l MYBOOT diskid/XXX
    # gpart add -t freebsd-zfs -l MYROOT diskid/XXX
    # dd if=/dev/urandom of=/tmp/key bs=64 count=1
    # geli init -K /tmp/key -s 4K gpt/MYROOT
    # geli attach -k /tmp/key gpt/MYROOT
    # geli configure -b -g gpt/MYROOT
    (не знаю нужен ли эти флаги, или только -b или вообще никого, не пробовал отключать)
    # zpool create zroot gpt/MYROOT.eli
    # zfs set mountpoint=/tmp/zroot compression=lz4 atime=off zroot
    # zfs mount zroot
    # for what in base kernel ; do tar xfC /usr/freebsd-dist/$what.tar.xz /tmp/zroot ; done
    # mkdir /tmp/boot
    # newfs -Ut /dev/gpt/MYBOOT /tmp/boot
    # cd /tmp/zroot
    # tar cf - boot | tar xfC - /tmp/boot
    # zfs set mountpoint=none zroot
    # zpool export zroot
    # geli detach gpt/MYROOT
    # mkdir /tmp/boot/boot/keys
    # mv /tmp/key /tmp/boot/boot/keys/myroot.key
    # cat > /tmp/boot/boot/loader.conf <<EOF
    geom_eli_load="YES"
    geom_myroot_keyfile_load="YES"
    geom_myroot_keyfile_type="gpt/MYROOT:geli_keyfile"
    geom_myroot_keyfile_name="/boot/keys/myroot.key"
    zfs_load="YES"
    vfs.root.mountfrom="zfs:zroot"
    EOF
    # umount /tmp/boot
    # reboot

    [оставить комментарий]