-- psrtition the drive -- parted /dev/sda mklabel msdos parted /dev/sda mkpart primary 1 500 parted /dev/sda set 1 boot on parted /dev/sda mkpart primary 501 100% parted /dev/sda set 2 lvm on pvcreate /dev/sda2 vgcreate gentoo /dev/sda2 lvcreate -L 2G -n tmp gentoo lvcreate -L 4G -n swap gentoo lvcreate -L 4G -n var_log gentoo lvcreate -l100%FREE -n root gentoo -- setup file systems -- mkfs.ext4 /dev/sda1 mkfs.ext4 /dev/gentoo/root mkfs.ext4 /dev/gentoo/var_log mkfs.ext4 /dev/gentoo/tmp mkswap /dev/gentoo/swap swapon /dev/gentoo/swap -- mount partitions -- mount /dev/gentoo/root /mnt cd /mnt mkdir -p boot tmp var/log mount /dev/sda1 /mnt/boot mount /dev/gentoo/var_log /mnt/var/log mount /dev/gentoo/tmp /mnt/tmp chmod 1777 /mnt/tmp -- install systemd stage3 -- wget http://mirrors.linux.iu.edu/linux/gentoo/releases/amd64/autobuilds/current-stage3-amd64-systemd/stage3-amd64-systemd-20180318.tar.bz2.DIGESTS wget http://mirrors.linux.iu.edu/linux/gentoo/releases/amd64/autobuilds/current-stage3-amd64-systemd/stage3-amd64-systemd-20180318.tar.bz2 grep 'SHA512' -A 1 stage3-amd64-systemd-20180318.tar.bz2.DIGESTS| grep -v 'CONTENTS' | grep 'stage3' openssl dgst -r -sha512 stage3-amd64-systemd-20180318.tar.bz2 tar xpf stage3-amd64-systemd-20180318.tar.bz2 --xattrs-include='*.*' --numeric-owner rm stage3-amd64-systemd-20180318.tar.bz2 stage3-amd64-systemd-20180318.tar.bz2.DIGESTS -- setup portage rsync repo -- mkdir --parents /mnt/etc/portage/repos.conf cp /mnt/usr/share/portage/config/repos.conf /mnt/etc/portage/repos.conf/gentoo.conf -- enter systemd namespace -- sed -i -e 's/^root:\*/root:/' /mnt/etc/shadow systemd-nspawn -bD /mnt -- setup system locale -- locale -a | grep -i us cat << EOF >> /etc/locale.gen en_US ISO-8859-1 en_US.UTF-8 UTF-8 EOF locale-gen localectl list-locales | grep -i us localectl set-locale LANG=en_US.utf8 localectl list-keymaps | grep -i us localectl set-keymap us -- set hostname -- hostnamectl set-hostname gentoo-systemd echo "127.0.1.1 gentoo-systemd.localdomain gentoo-systemd" >> /etc/hosts -- setup timezone -- timedatectl list-timezones | grep -i america timedatectl set-timezone America/Indiana/Indianapolis timedatectl set-ntp yes -- leave systemd namespace -- poweroff -- chroot into gentoo -- mount -t proc none /mnt/proc mount --rbind /dev /mnt/dev mount --rbind /sys /mnt/sys chroot /mnt /bin/bash source /etc/profile export PS1="(chroot) $PS1" -- setup portage -- emerge-webrsync -- optional: update package repo to current -- emerge --sync -- update portage if it is suggested (optional) -- emerge -1 sys-apps/portage -- configure portage -- echo 'MAKEOPTS="-j4"' >> /etc/portage/make.conf sed -i.bak -e 's/bindist/device-mapper/' \ -e 's/CFLAGS="/CFLAGS="-march=native /' /etc/portage/make.conf -- configure fstab -- cat <> /etc/fstab /dev/sda1 /boot ext4 noatime 0 2 /dev/gentoo/root / ext4 noatime 0 1 /dev/gentoo/var_log /var/log ext4 noatime 0 2 /dev/gentoo/tmp /tmp ext4 noatime 0 2 /dev/gentoo/swap none swap sw 0 0 EOF -- optional: rebuild packages with new USE flags -- emerge -auDN @world -- install kernel and system tools -- emerge gentoo-sources lvm2 linux-firmware genkernel-next cronie mlocate rsyslog grub systemctl enable rsyslog systemctl enable cronie -- configure networkd -- cat < /etc/systemd/network/50-dhcp_eth0.network [Match] Name=eth0 [Network] DHCP=yes EOF systemctl enable systemd-networkd.service ln -snf /run/systemd/resolve/resolv.conf /etc/resolv.conf systemctl enable systemd-resolved.service -- configure and compile the kernel -- sed -i.bak -e 's/^#LVM="no"/LVM="yes"/' \ -e 's/^#MAKEOPTS="-j[1-9]"/MAKEOPTS="-j4"/' \ -e 's/#UDEV="[A-Za-z]*"/UDEV="yes"/' /etc/genkernel.conf genkernel --menuconfig all select systemd from gentoo specific init systems -- configure and install grub -- echo 'GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd dolvm"' >> /etc/default/grub grub-install /dev/sda grub-mkconfig -o /boot/grub/grub.cfg -- set root passwd -- passwd -- optional: create normal user account -- useradd -m -G users,wheel,systemd-journal -s /bin/bash syseng passwd syseng -- reboot into gentoo system -- exit reboot