-
Determine disk name
# lsblk -
Launch parted
# parted -a optimal /dev/sda -
Erase everything
mklabel gpt -
Make partitions
unit mib
mkpart primary 1 129
name 1 boot
mkpart primary 129 4225
name 2 swap
mkpart primary 4225 -1
name 3 rootfs
set 1 boot on
print
- Create filesystems
# mkfs.fat -F 32 /dev/sda1
# mkfs.ext4 /dev/sda3
# mkswap /dev/sda2
# swapon /dev/sda2
- Mount root partition
# mkdir -p /mnt/gentoo
# mount /dev/sda3 /mnt/gentoo
# cd /mnt/gentoo
-
Check that date is correct. See here if it's wrong.
# date -
Download tarball a. Find download link from: https://www.gentoo.org/downloads b.
# wget <url> -
Validate tarball
# wget <url>.DIGESTS
# openssl dgst -r -sha512 stage3-.tar.xz
Ensure a pair of the numbers above match
-
Unpack
# tar xpf stage3-.tar.xz --xattrs-include='*.*' --numeric-owner -
Configure options
# nano -w /mnt/gentoo/etc/portage/make.conf
For XPS 8500, add the following:
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=native"
CFLAGS="${CFLAGS} -O2 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j8"
INPUT_DEVICES="evdev"
VIDEO_CARDS="nvidia"
USE="X bluetooth dbus pulseaudio savedconfig xinerama zsh-completion"
PYTHON_TARGETS="python2_7 python3_6"
PYTHON_SINGLE_TARGET="python3_6"
GRUB_PLATFORMS="efi-64"
- Add mirrors
# mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
or, if mirrorselect isn't available, add this to the bottom of /etc/portage/make.conf:
GENTOO_MIRRORS="http://lug.mtu.edu/gentoo/ http://mirrors.evowise.com/gentoo/"
- Repo config
# mkdir -p /mnt/gentoo/etc/portage/repos.conf
# cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
- Copy DNS info
# cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
4 Mount filesystems
# mount --types proc /proc /mnt/gentoo/proc/
# mount --rbind /sys /mnt/gentoo/sys/
# mount --rbind /dev /mnt/gentoo/dev/
# test -L /dev/shm/ && rm /dev/shm/ && mkdir /dev/shm/
# mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
# chmod 1777 /dev/shm/
- Enter the new environment
# chroot /mnt/gentoo /bin/bash
# source /etc/profile
# export PS1="(chroot) ${PS1}"
-
Mount boot
# mount /dev/sda1 /boot/ -
Update the ebuild repo
# emerge --sync -
Select the right profile [16] default/linux/amd64/17.0/desktop (stable)
# eselect profile list
# eselect profile set 16
- Update the @world set
# emerge -auvDN @world
- Set the timezone
#