誤家庭における小規模ネットワーク構築/ルートファイルシステム暗号化

提供: Medeshima wiki
ナビゲーションに移動 検索に移動

PCでの作業

ルートファイルシステムのバックアップ

$ sudo rsync -aHAX --numeric-ids --info=progress2 \
  /mnt/rpi-root/ /mnt/backup/

LUKS2で暗号化

$ sudo cryptsetup luksFormat \
  --type luks2 \
  --cipher aes-xts-plain64 \
  --key-size 512 \
  --hash sha256 \
  --pbkdf argon2id \
  --iter-time 2000 \
  /dev/sdX
$ sudo cryptsetup open /dev/sdX cryptroot
$ sudo mkfs.ext4 -L rootfs /dev/mapper/cryptroot

ルートファイルシステムの復元

sudo rsync -aHAX --numeric-ids \
  --info=progress2 \
  /mnt/backup/ \
  /mnt/newroot/

ファイルシステムの設定ファイルを修正

/etc/fstab

/dev/mapper/cryptroot  /               ext4    defaults,noatime  0       1

/etc/crypttab

$ sudo cryptsetup luksUUID /dev/sdX
cryptroot UUID=XXXXXX none luks

chrootして作業

$ sudo cp /usr/bin/qemu-aarch64-static /mnt/usr/bin/
$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /dev/pts /mnt/dev/pts
$ sudo mount -t proc /proc /mnt/proc
$ sudo mount -t sysfs /sys /mnt/sys
$ sudo mount -t tmpfs /run /mnt/run
$ sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
$ sudo mount /dev/sdX /mnt/boot/firmware
$ sudo chroot /mnt /usr/bin/qemu-aarch64 /bin/bash

cryptsetupのインストール

$ apt update
$ apt install cryptsetup cryptsetup-initramfs

cmdline.txt

root=/dev/mapper/cryptroot

削除

quiet splash