mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-19 10:54:06 -06:00
7.1 KiB
7.1 KiB
Gentoo installs everything from source (except new bin repo!). It uses the source code and the building instruction Ebuild. the gentoolkit contains helpful tools e.g.
# euse get mening of useflag
euse -i gpm
# enable flag
euse -E gpm
# disable flag
euse -D gpm
# switch of X11 suport for package
flaggie app-editors/vim -X
# show architecture compatibility and version info
eshowkw cups
# get more info about ebuild
equery
# unmask package for compilation
flaggie app-editors/vim +~amd64
eix is a tool to help with searching the ebuild repository.
install
install not from Gentoo live image but from another distro with GUI!
- boot from any linux cd.
- create fielsystem and partitions like in Archlinux install. Be sure if using GPT or MBR!!
- mount disks to
/mnt/gentoo cd /mnt/gentoo/wget https://distfiles.gentoo.org/releases/amd64/autobuilds/20231224T164659Z/stage3-amd64-desktop-openrc-20231224T164659Z.tar.xzget the stage 3 tar.xztar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-ownerextract arcive- compile options
nano /mnt/gentoo/etc/portage/make.conf- check
COMMON_FLAGS="-march=native -O2 -pipe" - if not all cores change:
MAKEOPTS="-j4 -l5" - add
RUSTFLAGS="${RUSTFLAGS} -C target-cpu=native" - Links:
- check
- select portage mirrors
add
GENTOO_MIRRORS="https://ftp.snt.utwente.nl/pub/os/linux/gentoo/"inetc/portage/make.conf Gentoo ebuild repositorycp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf- copy DNS:
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/ - mounting file systems:
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}"
- (optional, if low ram) create swap
- install ebuild repository:
emerge-webrsync - (optional) update rep:
emerge --sync - (optional) Reading news items:
1)
eselect news list eselect news read 1 | less - Choosing the right profile
- this selects the @World packages (
emerge --info) eselect profile listandeselect profile set 27or the one you want.
- this selects the @World packages (
- set additional USE items (optional)
- copy the USE variable to the make.conf
emerge --info | grep ^USE - to remove a item you need to add a
-in front. USE="X a52 aac acl acpi activities alsa amd64 bluetooth branding bzip2 cairo cdda cdr cet crypt cups dbus declarative dri dts dvd dvdr elogind encode exif flac gdbm gif gpm gui iconv icu ipv6 jpeg kde kwallet lcms libnotify libtirpc lzma mad mng mp3 mp4 mpeg multilib ncurses networkmanager nls ogg opengl openmp pam pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 readline screencast sdl seccomp semantic-desktop sound spell ssl startup-notification svg tcpd test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib zstd"
- copy the USE variable to the make.conf
- ACCEPT_LICENSE variable:
ACCEPT_LICENSE="*"in make.conf - update:
emerge --ask --verbose --update --deep --newuse @world - (otional) install other editor:
emerge -p app-editors/vim - time zone:
echo "Europe/Vienna" > /etc/timezone emerge --config sys-libs/timezone-data- Locale generation:
echo "de_AT.UTF-8 UTF-8" >> /etc/locale.gen locale-gen- check locale:
eselect locale list - select now locale:
eselect locale set 4 env-update && source /etc/profile && export PS1="(chroot) ${PS1}"- create /etc/portage/package.license
- install kernal (i use the binary hire):
- Linux Firmware:
emerge --ask sys-kernel/linux-firmware
- bootloader:
- add
grubto useflags emerge --ask sys-kernel/installkernel- maybe you need to run
dispatch-conf
- add
- initramfs
- add
dracutto useflags emerge --ask sys-kernel/installkernel
- add
- get binary kernal
emerge --ask sys-kernel/gentoo-kernel-bin- or kernal from source
emerge --ask sys-kernel/gentoo-kernel emerge --autounmask-write gentoo-kernel-bin linux-firmware intel-microcode installkernel
- kernal modules:
find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less- but will be automaticly enabled by udev!
- Linux Firmware:
- (optional) intel mircocodes:
emerge --ask sys-firmware/intel-microcode. AMD is in firmware included. - check kernal install
eselect kernel list - generate /etc/fstab
- network config
- hostname
echo gentoo > /etc/hostname - hostsfile
passwd- install aditonal packages
emerge dhcpcd sudo screenfetch app-misc/screen gentoolkit app-misc/resolve-march-native
- grub bootloader
grub-install /dev/sdagrub-mkconfig -o /boot/grub/grub.cfg
- set sudoers:
EDITOR=nano visudo useradd -m -G wheel,users,video,audio,usb -s /bin/bash x4xpasswd x4xrm -rf stage3-amd64-*.tar.xzsystemctl enable --now dhcpcd
install desktop
emerge --autounmask-write --autounmask dev-util/xxdiff
emerge --ask app-text/wgetpaste
emerge app-portage/cfg-update
# check lua version in make.conf!
emerge kde-plasma/plasma-meta
emerge x11-misc/sddm
emerge gui-libs/display-manager-init
#rc-service display-manager start
rc-update add display-manager default
usermod -a -G video sddm
emerge media-libs/mesa
emerge x11-terms/xterm
emerge --autounmask-write --newuse x11-base/xorg-server
# set in make.conf
# INPUT_DEVICE="libinput"
# VIDEO_DEVICE="virtio vmware intel"
emerge --newuse x11-base/xorg-drivers
env-update
source /etc/profile
# todo
emerge kde-apps/dolphin
emerge kde-apps/konsole
emerge sys-apps/usbutils
#emerge --autounmask-write kde-apps/kde-apps-meta
emerge --autounmask-write kde-apps/kdecore-meta
fixes
dispatch-conf # fix emerge config problems
# update
emaint --auto sync
emerge --ask --verbose --update --deep --newuse @world
etc-update
# system update
emaint sync
emerge -uDU --keep-going --with-bdeps=y @world
#emerge -avuUD @world
# search package
emerge --search firefox
emerge --info firefox
# remove package
emerge -cev firefox
emerge --unmerge firefox
# remove with ignoring dependencys
emerge -C firefox
# dependensy problems
emerge --autounmask-write kde-apps/kde-apps-meta
emerge --autounmask-continue kde-apps/kde-apps-meta
# compile build to package
emerge --buildpkg firefox
PKGDIR=/mnt/cdrom/packages
emerge --usepkg firefox
cpu flags
emerge app-portage/cpuid2cpuflags
cpuid2cpuflags
echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags