Gentoo Install
General Prep
lsblk
ping www.gentoo.org
ifconfig to get interfaces
If you want to remotely install start sshd and set the root password
Prepare Disks
cfdisk /dev/sda
sda1 1G fat32 efi partion
sda2 8G swap 2 times ram
sda3 * ext4 root
mkfs.vfat -F 32 /dev/sda1
mkswap /dev/sda2
mkfs.ext4 /dev/sda3
Mount Drives
mount /dev/sda3 /mnt/gentoo
swapon /dev/sda2
mkdir -p /mnt/gentoo/boot/efi
Grab Stage
Make sure you are in the proper directory
cd /mnt/gentoo
date MMDDhhmmCCYY
links https://www.gentoo.org/downloads/mirrors/
tar xpvf <stage> --xattrs-include='*.*' --numeric-owner
Update make.conf
COMMON_FLAGS="-march=native -O2 -pipe"
MAKEOPTS="-j8"
USE="-systemd -KDE X gtk gnome"
cp --dereference /etc/resolv.conf /mnt/gentoo/etc
Mount Stuff
mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
mount --bind /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"
mount /dev/sda1 /boot/efi
emerge-webrsync
eselect profile list
eselect profile set 23
emerge --sync
echo 'sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE' | tee -a /etc/portage/package.license
Note: set portage env var ACCEPT_LICENSE
Note: /var/db/repos/gentoo/profiles/use.desc describes all USE flags
Note: What about video card in /etc/portage/package.use/00video_cards?
emerge --ask app-editors/vim
emerge --ask --verbose --update --deep --changed-use @world
Locale
ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
vim /etc/locale.gen
locale-gen
eselect locale list
eselect locale set 4
Update env
env-update && source /etc/profile && export PS1="(chroot) $PS1"
Configure Kernel
emerge --ask sys-kernel/linux-firmware
emerge --ask sys-firmware/sof-firmware
GRUB
echo "sys-kernel/installkernel dracut grub" >> /etc/portage/package.use/installkernel
emerge --ask sys-kernel/installkernel
emerge --ask sys-kernel/gentoo-kernel-bin
Configure System
vim /etc/fstab
/dev/sda1 /boot/efi vfat defaults 0 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / ext4 defaults,noatime 0 1
Network
echo "YOURHOSTNAME" > /etc/hostname
Edit /etc/hosts
127.0.0.1 YOURHOSTNAME localhost
Edit /etc/conf.d/hostname
emerge --ask net-misc/dhcpcd
emerge --ask net-misc/networkmanager
rc-update add NetworkManager default
rc-update add dhcpcd default
rc-service NetworkManager start
rc-service dhcpcd start
Adding Users:
Note: before adding users, add the shells you want
Change root password
passwd root
emerge --ask app-shells/fish bash
useradd -m -G wheel,video,audio,kvm,plugdev -s /usr/bin/fish rgeorgia
passwd rgeorgia
emerge --ask app-admin/sysklogd
emerge --ask sys-apps/mlocate
emerge --ask net-misc/chrony
emerge --ask app-admin/sudo
rc-update add sysklogd default
rc-update add chronyd default
rc-update add sshd default
EDITOR=vim visudo
Boot Loader
echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
emerge --ask sys-boot/grub efibootmgr
grub-install --efi-directory /boot/efi
grub-mkconfig -o /boot/grub/grub.cfg
REBOOT
Exit chroot
exit
cd to home or /root
umount -l /mnt/gentoo/{shm,pts}
umount -R /mnt/gentoo
reboot
POST INSTALL
sudo touch /etc/portage/package.use/xorg
echo 'sys-auth/pambase elogind' | tee -a /etc/portage/package.use/xorg
echo 'media-libs/libglvd x' | tee -a /etc/portage/package.use/xorg
echo 'sys-apps/dbus' | tee -a /etc/portage/package.use/xorg
sudo emerge --ask sys-apps/dbus
sudo emerge --ask dev-vcs/git
sudo emerge --ask x11-base/xorg-server
sudo emerge --ask x11-drivers/xf86-video-intel
sudo emerge --ask x11-apps/xinit
sudo emerge --ask x11-apps/xrandr
sudo emerge --ask gnome-base/gdm
sudo emerge --ask gnome-base/gnome
sudo emerge --ask --noreplace gui-libs/display-manager
Display Manager
vim /etc/conf.d/display-manager
DISPLAYMANAGER="gdm"
sudo rc-update add display-manager default
Add for video card to package.use
echo "*/* VIDEO_CARDS: -* intel" >> /etc/portage/package.use/00video-cards
Note: add binary package
Note: if you want .xinitrc add exec sway