Infrastruktur

Server B2s New

FIXME

Disk /dev/sda: 223.6 GiB, 240057409536 bytes, 468862128 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A624F4BB-13BB-4C6A-80EC-E6DADFFF7D5E

Device       Start       End   Sectors  Size Type
/dev/sda1     2048      6143      4096    2M BIOS boot
/dev/sda2     6144   1054719   1048576  512M Linux filesystem
/dev/sda3  1054720 269490175 268435456  128G Solaris root


# cryptsetup --cipher twofish-xts-plain --key-size 512 --hash sha256 --iter-time 5000 --use-random --verify-passphrase luksFormat /dev/sda3
# cryptsetup luksOpen /dev/sda3 b2s-root1
# zpool create b2s-root /dev/disk/by-id/dm-uuid-CRYPT-LUKS1-bd347e3112fe49398ba11db4c4093b08-b2s-root1
# zfs set mountpoint=/ b2s-root
# zfs create b2s-root/var -o mountpoint=legacy
# zfs set xattr=sa b2s-root/var
# zfs set acltype=posixacl b2s-root/var
# zpool export b2s-root
# zpool import -d /dev/disk/by-id -R /mnt b2s-root
# mkdir /mnt/var
# mount.zfs b2s-root/var /mnt/var
# mkdir -p /mnt/etc/zfs/
# cp /etc/zfs/zpool.cache /mnt/etc/zfs/zpool.cache
# mkfs.ext4 /dev/sda2 -L boot
# mkdir /mnt/boot
# mount /dev/sda2 /mnt/boot

# pacstrap -i /mnt base base-devel zsh grml-zsh-config openssh

# genfstab -U -p /mnt | grep boot | tee /mnt/etc/fstab
# echo "b2s-root/var            /var            zfs             defaults        0 0" | tee -a /mnt/etc/fstab

# arch-chroot /mnt /usr/bin/zsh

# sed -i -e 's/^#en_US.UTF-8/en_US.UTF-8/' -e 's/^#de_DE.UTF-8/de_DE.UTF-8/' /etc/locale.gen
# locale-gen

# echo -e 'LANG=en_US.UTF-8\nLC_TIME=de_DE.UTF-8' | tee /etc/locale.conf
# echo -e 'KEYMAP=de-latin1\nFONT=lat9w-16' | tee /etc/vconsole.conf
# ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
# hwclock --systohc --utc
# sed -i 's/^HOOKS=".*/HOOKS="base udev autodetect modconf block keyboard keymap encrypt zfs filesystems fsck"/' /etc/mkinitcpio.conf
# passwd root
# chsh -s /usr/bin/zsh root
# hostnamectl set-hostname b2s
# hostnamectl set-chassis server 

# echo -e '\n[demz-repo-core]\nServer = http://demizerone.com/$repo/$arch' | tee -a /etc/pacman.conf
# pacman-key -r 5E1ABF240EE7A126
# pacman-key --lsign-key 5E1ABF240EE7A126
# pacman -Sy zfs-git
# systemctl enable zfs.target

# pacman -S syslinux gptfdisk
# syslinux-install_update -i -a -m
# sed -i 's#APPEND.*#APPEND cryptdevice=/dev/disk/by-id/ata-TOSHIBA_Q300_75UB50E6KNSX-part3:b2s-root1:allow-discards zfs=b2s-root rw#' /boot/syslinux/syslinux.cfg
# exit

# umount /mnt/boot /mnt/var
# zfs umount -a
# zpool export b2s-root

# reboot
pacman -S sudo
sed -i 's/^# %wheel ALL=(ALL) NOPASSWD/%wheel ALL=(ALL) NOPASSWD/' /etc/sudoers
useradd -m -U -s /usr/bin/zsh -G wheel $username

su $username

mkdir ~/build
cd ~/build
curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/package-query.tar.gz
tar -xvzf package-query.tar.gz
cd package-query
makepkg -si

cd ~/build
curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/yaourt.tar.gz
tar -xvzf yaourt.tar.gz
cd yaourt
makepkg -si

yaourt -S mkinitcpio-utils mkinitcpio-netconf mkinitcpio-tinyssh

… edit ~/.ssh/authorized_keys

echo 'ssh-ed25519 …' | sudo tee -a /etc/tinyssh/root_key
sudo sed -i 's/^\(HOOKS=.*\)encrypt\(.*\)$/\1netconf tinyssh encryptssh\2/' /etc/mkinitcpio.conf
sudo sed -i 's/^\(MODULES=.*\)"$/\1 e1000"/' /etc/mkinitcpio.conf
sudo sed -i "s/zfs=b2s-root/zfs=b2s-root spl.spl_hostid=0x$(hostid) ip=172.23.195.22:::::eth0:none/" /boot/syslinux/syslinux.cfg
sudo mkinitcpio -p linux

sudo zfs snapshot -r b2s-root@installed
sudo pacman -S boinc-nox boinctui

yaourt -S nvidia nvidia-libgl xf86-input-evdev cuda
sudo systemctl enable nvidia-persistenced.service

… reboot

yaourt -S boinc-nox boinctui
sudo systemctl enable boinc.service
sudo systemctl start boinc.service

… wait for /var/lib/boinc/gui_rpc_auth.cfg
echo | sudo tee /var/lib/boinc/gui_rpc_auth.cfg
sudo systemctl restart boinc.service

Repairing: Live System

echo -e '\n[demz-repo-archiso]\nServer = http://demizerone.com/$repo/$arch' | tee -a /etc/pacman.conf
pacman-key -r 5E1ABF240EE7A126
pacman-key --lsign-key 5E1ABF240EE7A126
pacman -Sy zfs-git
modprobe zfs

cryptsetup luksOpen /dev/disk/by-id/ata-TOSHIBA_Q300_75UB50E6KNSX-part3 b2s-root1
zpool import -d /dev/disk/by-id -R /mnt b2s-root