Gentoo Install NVME

This aligns more with my attempt to install Gentoo on an X1 Carbon

I’ve tried for a week to install Gentoo on this laptop. All attempts have failed. :(

General Prep

  • lsblk

  • ping www.gentoo.org

  • ifconfig to get interfaces

Interfaces:

  • enp0s31f6

  • wlp2s0

If you want to remotely install start sshd and set the root password

Prepare Disks

wipefs -a /dev/nvme0n1
/dev/nvme0n1: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54
/dev/nvme0n1: 8 bytes were erased at offset 0x773c255e00 (gpt): 45 46 49 20 50 41 52 54
/dev/nvme0n1: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aa
/dev/nvme0n1: calling ioctl to re-read partition table: Success

cfdisk /dev/nvme0n1

nvme0n1p1    1G  fat32   # efi partion
nvme0n1p2    16G  swap    # 2 times ram
nvme0n1p3    *   xfs    root

mkfs.vfat -F 32 /dev/nvme0n1p1
mkswap          /dev/nvme0n1p2
mkfs.xfs       /dev/nvme0n1p3

Mount Drives

mount /dev/nvme0n1p3 /mnt/gentoo
swapon /dev/nvme0n1p2
mkdir -p /mnt/gentoo/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 -C /mnt/gentoo

Update make.conf

COMMON_FLAGS="-march=native -O2 -pipe"
MAKEOPTS="-j8 -l9"
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/nvme0n1p1 /efi

emerge-webrsync

eselect profile list
eselect profile set 5

emerge --oneshot sys-apps/portage
emerge --sync

eselect news list
eselect news read

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?

Some instructions have adding VIDEO_CARDS to make.conf

VIDEO_CARDS="intel"

emerge --ask sys-apps/nvme-cli  # for nvme drivers. [NVMe](https://wiki.gentoo.org/wiki/NVMe#Installation)
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

VIDEO Card:

(chroot) livecd / # dmesg | grep -i graphics
[    0.062111] Reserving Intel graphics memory at [mem 0x5a800000-0x5c7fffff]
(chroot) livecd / #

vim /etc/portage/package.use/00video_cards

*/* VIDEO_CARDS: intel

GRUB

echo "sys-kernel/installkernel dracut grub" >> /etc/portage/package.use/installkernel

emerge --ask sys-kernel/installkernel
emerge --ask sys-kernel/gentoo-kernel

Configure System

fstab dev

vim /etc/fstab

/dev/nvme0n1p1   /efi   vfat    defaults            0 2
/dev/nvme0n1p2   none        swap    sw                  0 0
/dev/nvme0n1p3   /           xfs    defaults,noatime    0 1

fstab blkid

(chroot) livecd / # blkid

vim /etc/fstab

UUID=a21029c4-160e-4c85-b285-5ff23e109495    /           xfs     defaults,noatime    0 1
UUID=6A8B-A612                               /efi   vfat    defaults            0 2
UUID=8afc8f4a-fd82-4fa1-a52f-328227bea259    none        swap    sw                  0 0

Network

echo "carbonCow" > /etc/hostname

Edit /etc/hosts

127.0.0.1   carbonCow 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/zsh bash

useradd -m -G wheel,video,audio,kvm,plugdev -s /usr/bin/zsh 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 /efi
grub-install --target=x86_64-efi --efi-directory=/efi
grub-mkconfig -o /efi/EFI

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