Files
Moje_Poznamky/gentoo.txt
2024-06-11 14:02:09 +02:00

158 lines
3.9 KiB
Plaintext

##EFI, no swap, ext4, OpenRc
####################### chroot to middle of install
mount /dev/sda3 /mnt/gentoo && \
mount /dev/sda1 /mnt/gentoo/efi && \
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}"
#######################
## ssh set up
rc-service sshd start && passwd
## partitioning && mount
cfdisk /dev/sda #GPT, sda1 type - efi, sda2 type - Linux root (x86-64)
mkfs.fat -F 32 /dev/sda1 && \
mkfs.ext4 /dev/sda2 && \
mkdir --parents /mnt/gentoo && \
mount /dev/sda3 /mnt/gentoo && \
mkdir --parents /mnt/gentoo/boot \
mount /dev/sda1 /mnt/gentoo/boot
## download and extract stage3
cd /mnt/gentoo
links https://www.gentoo.org/downloads/mirrors/
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
## portage set
nano /mnt/gentoo/etc/portage/make.conf
COMMON_FLAGS="-march=native -O2 -pipe"
MAKEOPTS="-j2 -l4"
USE="-gtk -gnome qt5 kde alsa"
VIDEO_CARDS="intel"
ACCEPT_LICENSE="*"
GRUB_PLATFORMS="efi-64"
## chroot time
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/ && \
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}"
## portage repo
mkdir --parents /etc/portage/repos.conf && \
cp /usr/share/portage/config/repos.conf /etc/portage/repos.conf/gentoo.conf && \
cat /etc/portage/repos.conf/gentoo.conf
emerge-webrsync && \
emerge app-portage/mirrorselect && \
mirrorselect -i -o >> /etc/portage/make.conf
## profile select
eselect profile list
eselect profile set {{number}}
## CPU flags
emerge app-portage/cpuid2cpuflags && \
echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags
## Updating the @world set
emerge --ask --verbose --update --deep --newuse @world
emerge --ask --depclean
## Timezone
echo "Europe/Prague" > /etc/timezone && \
emerge --config sys-libs/timezone-data
## Locale
nano /etc/locale.gen
locale-gen
eselect locale list
eselect locale set {{number}}
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
## Linux Firmware for non-FOSS
emerge sys-kernel/linux-firmware && \
emerge --depclean && \
emerge sys-kernel/installkernel && \
emerge sys-kernel/gentoo-sources && \
emerge sys-kernel/dracut && \
emerge sys-kernel/genkernel
genkernel --no-mountboot --install all
eselect kernel list
eselect kernel set 1
genkernel --no-mountboot --install all
## Fstab set
nano /etc/fstab
/dev/sda1 /efi vfat umask=0077 0 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / xfs defaults,noatime 0 1
## Networking
echo gentoo > /etc/hostname
emerge --ask --noreplace net-misc/netifrc
nano /etc/conf.d/net
config_enp0s18="192.168.6.9 netmask 255.255.255.0 brd 192.168.6.255" #config_eth0="dhcp"
routes_enp0s18="default via 192.168.6.1"
cd /etc/init.d && \
ln -s net.lo net.enp0s18 && \
rc-update add net.enp0s18 default
nano /etc/hosts
## Password
passwd
## RC-init set, Cron, Time synchronization, Ext4 manipulation
nano /etc/rc.conf
nano /etc/conf.d/keymaps
emerge app-admin/sysklogd && \
rc-update add sysklogd default && \
emerge sys-process/cronie && \
rc-update add cronie default && \
rc-update add sshd default && \
emerge net-misc/chrony && \
rc-update add chronyd default && \
emerge sys-fs/e2fsprogs
## Grub install
emerge sys-boot/grub
grub-install --efi-directory=/efi
grub-mkconfig -o /boot/grub/grub.cfg
## Done
exit
cd && umount -l /mnt/gentoo/dev{/shm,/pts,} && umount -R /mnt/gentoo && shutdown now