gentoo

 setup rootfs

https://www.gentoo.org/downloads/
https://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64-hardened-nomultilib-openrc/
https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation
https://www.gentoo.org/downloads/mirrors/


sudo mkfs.fat -F 32 /dev/sda1  
sudo mkfs.ext4 /dev/sda6  
sudo mke2fs -t ext4 -O ^has_journal /dev/sda5  
sudo mount /dev/sda6 /mnt  
sudo mount /dev/sda1 /mnt/efi       #if efi partition isnt mounted  

cd ~/Downloads  
sudo tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner -C /mnt     #use tab after stage3 if many stage3   

 df -h /dev/sda6   
Filesystem      Size  Used Avail Use% Mounted on  
/dev/sda6        40G  1.4G   36G   4% /mnt  

sudo cp --dereference /etc/resolv.conf /mnt/etc/

 

chroot.sh

#!/bin/sh  
mount --rbind /dev /mnt/dev && mount --make-rslave /mnt/dev
mount --rbind /dev/pts /mnt/dev/pts && mount --make-rslave /mnt/dev/pts
mount --rbind /proc /mnt/proc && mount --make-rslave /mnt/proc
mount --rbind /sys /mnt/sys && mount --make-rslave /mnt/sys
chroot  /mnt /bin/bash

 


sudo bash chroot.sh

source /etc/profile
export PS1="(chroot) ${PS1}


nano /etc/portage/make.conf

 COMMON_FLAGS="-O2 -pipe -march=native"
 #ram/2 or nproc, if unset defaults to nproc
MAKEOPTS="-j4 -l5"

USE="-dbus -polkit -introspection -pulseaudio -llvm -X"

ACCEPT_LICENSE="*"
VIDEO_CARDS="intel "
INPUT_DEVICES="libinput"


emerge-webrsync

...

    IMPORTANT: 20 news items need reading for repository 'gentoo'.
    Use eselect news read to view new items.

use binpkg for heavy apps
#run getuto to get keys for binpkg
getuto
emerge --usebinpkgonly --binpkg-respect-use pkgname

#this doesnt respect use and emerge anyway
emerge --usebinpkgonly

emerge --getbinpkg pkgname
emerge --ask --verbose -G  gcc
emerge --ask --verbose -G media-libs/libva-intel-media-driver  #not availabe for hardened / other profile


emerge --ask --oneshot app-portage/cpuid2cpuflags
echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags

eselect profile list
eselect profile set xx  #if update profile required
emerge --ask --verbose --update --deep --newuse @world
emerge --ask --pretend --depclean

setup timezone

echo "Asia/Kathmandu" > /etc/timezone

emerge --config sys-libs/timezone-data or just

ln -s /usr/share/zoneinfo/Asia/Kathmandu /etc/localtime

 

portage tmpdir
to save disk write as it extract and build src code in this dir nano /etc/fstab

tmpfs        /var/tmp/portage        tmpfs    size=2G,uid=portage,gid=portage,mode=775    0 0

mount /var/tmp/portage

/etc/portage/env/notmpfs.conf

PORTAGE_TMPDIR="/var/tmp/notmpfs"

mkdir /var/tmp/notmpfs
chown portage:portage /var/tmp/notmpfs
chmod 775 /var/tmp/notmpfs

/etc/portage/package.env

sys-devel/gcc            notmpfs.conf

 

localization

nano /etc/locale.gen

en_US.UTF-8 UTF-8

locale-gen
 

git sync gentoo

emerge -a gentoolkit eix iwd eselect-repository

emerge eselect-repository dev-vcs/git  
rm -r /var/db/repos/gentoo
eselect repository enable gentoo

emerge --sync

use flags

 
cat /etc/portage/package.use/all


app-admin/doas persist

dev-libs/light udev
sys-apps/util-linux   udev
sys-devel/gcc -zstd
sys-apps/openrc -netifrc
net-wireless/iwd standalone -monitor


media-libs/mesa vaapi
x11-libs/libdrm udev
sys-auth/seatd server builtin
gui-wm/sway -swaynag
x11-misc/i3blocks -contrib
media-video/mpv -xv alsa vaapi drm lcms
media-video/ffmpeg  vaapi alsa  mp3 libdrm lcms vorbis
media-libs/libva-intel-media-driver redistributable
media-libs/freetype  harfbuzz
app-misc/nnn -pcre
app-text/mupdf -javascript
app-text/zathura-pdf-mupdf -javascript


emerge media-libs/mesa

 
avoiding rust for now

cat /etc/portage/profile/package.provided

gnome-base/librsvg-2.57.3


 

   

 cat /var/lib/portage/world

app-admin/doas
app-eselect/eselect-repository
app-misc/neofetch
app-misc/nnn
app-portage/eix
app-portage/gentoolkit
app-shells/bash-completion
app-text/zathura-pdf-mupdf
dev-libs/light
dev-vcs/git
gui-apps/foot
gui-apps/wl-clipboard
gui-apps/wmenu
gui-apps/wofi
gui-wm/sway
media-libs/alsa-lib
media-libs/libva-intel-media-driver
media-libs/mesa
media-sound/alsa-utils
media-sound/apulse
media-video/mpv
net-wireless/iwd
net-wireless/wireless-regdb
sys-apps/pciutils
sys-fs/dosfstools
sys-fs/ntfs3g
sys-kernel/gentoo-sources
sys-process/htop
#for firefox
x11-libs/gtk+
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXi
x11-libs/libXrandr

https://github.com/kzwkt/gentoo-dell-inspiron-3501
https://wiki.gentoo.org/wiki/Dell_Inspiron_3501


 

 
x11-libs/libXcomposite x11-libs/libXcursor x11-libs/libXdamage  x11-libs/libXi x11-libs/libXrandr  x11-libs/libXi