Imagem grande
Então, vamos começar com uma imagem de como é o resultado:
Estratégiabásica
Assim,ospassosparaconfigurarumsistemacomoestesãoosseguintes:
- CrieumstickUSBaovivo
- InicializeoLive-CD
- PrepareoRAID(mdadmusado)
- Prepareocontêinercriptografado(luksusado)
- InstaleoUbuntuatravésdoinstalador(infelizmentenãosuportaessaconfiguraçãoprontaparauso)
- Mudeparaosistemadedestinoviachroot
- Corrigirainstalaçãodomdadm(nãoinstaladaautomaticamenteaoinstalarnoraid)
- Corrigirocrypttab(nãoinstaladoautomaticamenteaoinstalarnovolumecriptografado)
- Corrigirgrub(senecessário)
- Reinicializar
Passoapasso
Porisso,vouorientá-lonestespassos:
CrieumLive-USBStickapartirdo
link (ou de qualquer outro arquitetura se aplicável) -
Inicialize o CD ao vivo (não instale)
3./4. Inicie o primeiro script de shell que o guiará pelas etapas a seguir
- Prepare o RAID
- Preparar o contêiner criptografado
#!/bin/bash
read -p "verify sda/sdb are the intended devices and other devices are unplugged"
sudo apt-get install gparted mdadm
read -p "create empty partitions for raid and also reserved bios gpt areas manually! Use gpt-partition tables in all steps, apply the following layout to both disks: 1MiB unformmated (bios_grub) (recommendation to leave 99MiB unallocated in case we need to do some nasty EFI stuff), remaining space unformatted partition"
sudo gparted
sudo parted /dev/sda set 1 raid on
sudo parted /dev/sdb set 1 raid on
read -p "verify non-bios partition is actual sda2 and sdb2"
sudo mdadm --create /dev/md0 --auto md --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
read -p "create boot partition and empty partition for encryption"
sudo gparted
sudo cryptsetup -c aes-xts-plain64 -s 512 -h sha512 luksFormat /dev/md0p2
sudo cryptsetup luksOpen /dev/md0p2 lukslvm
sudo pvcreate /dev/mapper/lukslvm
sudo vgcreate vgubuntu /dev/mapper/lukslvm
sudo lvcreate -L 10G -n swap vgubuntu
sudo lvcreate -L 100G -n root vgubuntu
sudo lvcreate -l 100%FREE -n home vgubuntu
sudo mkswap /dev/mapper/vgubuntu-swap -L swap
sudo mkfs.ext4 /dev/mapper/vgubuntu-root -L root
sudo mkfs.ext4 /dev/mapper/vgubuntu-home -L home
echo "all done, start installation (and fix boot in chroot)"
-
Instale o Ubuntu através do instalador (a recomendação não instale atualizações na instalação, por isso, em caso de erro, não espere desnecessariamente)
-
Mude para o sistema de destino via chroot. Para fazer isso, abra um novo cd da janela do terminal em / media / ubuntu e prepare o chroot com o seguinte script:
#!/bin/bash
read -p "verify this script is called from /media/ubuntu/ and a subfolder is used as mountpoint for the chroot root filesystem named root"
mkdir /media/ubuntu/root
#umount /media/ubuntu/bootpart
mount /dev/mapper/vgubuntu-root root
mount /dev/md0p1 root/boot/
mount -o rbind /dev root/dev
mount -t proc proc root/proc/
mount -t sysfs sys root/sys
cp /etc/resolv.conf root/etc/resolv.conf
echo "chroot setup, call 'sudo chroot /media/ubuntu/root /bin/bash' to chroot"
7./8./9. Use o seguinte script no shell chroot (depois de chamar 'sudo chroot / media / ubunu / root / bin / bash') para:
- Corrigir a instalação do mdadm
- Corrigir crypttab
- Corrigir grub (se necessário)
#!/bin/bash
sudo apt-get update
apt-get install emacs mdadm
#read -p "the BIOS boot partition must be configured to be 1MiB, unformatted and having flag bios_grub"
#sudo gparted
grub-install /dev/sda
echo "reading UUID of root device /dev/md0p2"
blkid /dev/md0p2
read -p "edit crypttab add line 'lukslvm UUID=<VOLUME_ID> none luks'"
emacs /etc/crypttab
read -p "edit modules add line 'dm-crypt'"
emacs /etc/modules
update-initramfs -u -k all
read -p "add 'kopt=root=/dev/mapper/vgubuntu-root' to 'GRUB_CMDLINE_LINUX_DEFAULT' in /etc/default/grub"
emacs /etc/default/grub
sudo update-grub
- Reinicializar
Você pode adaptar todos os tamanhos nos scripts às suas necessidades. Salve e force-os para reduzir o tempo necessário.
A propósito, agradeço a um bom amigo por me ajudar quando fiquei realmente preso.