Installation d'une Gentoo

Pour l'installation d'une machine Gentoo, il faut suivre le handbook officiel. Cette page ne continents que des bouts de configuration visant à simplifier l'installation.

Vous trouverez dans cette page quelques snippets utile pour la configuration de la machine durant son installation. Il faut viser une installation minimale, puisqu'elle ne servira qu'à bootstraper Puppet, qui appliquera tout le nécessaire à Grifon lors de son exécution.

post-chroot:

  1. Configurer le hostname et renseigner le FQDN dans /etc/hosts

echo tux > /etc/hostname

  1. Configurer le network via netifrc:
emerge --noreplace net-misc/netifrc
vim /etc/conf.d/net
cd /etc/init.d
ln -s net.lo net.eth0
rc-update add net.eth0 default
  1. Configurer le password root: passwd
  2. Snippet cat EOF automagique ®
cat > /etc/portage/make.conf << EOF
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O2 -pipe -march=native -mtune=native"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

RUSTFLAGS="${RUSTFLAGS} -C target-cpu=native"

#CPU_FLAGS_X86="REPLACE_ME"

# NOTE: This stage was built with the bindist USE flag enabled

# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C.UTF-8

MAKEOPTS="-j1"

USE="
-bindist -graph -gtk3 -gtk4 -pulseaudio -qt4 -qt5 -ruby -selinux -systemd -branding
bash-completion curl dedicated git leaps_timezone lto man
openssl pgo server symlink threads vim-pager vim-syntax
"

GENTOO_MIRRORS="https://herbizarre.swordarmor.fr
https://ftp.uni-erlangen.de/pub/mirrors/gentoo"

GRUB_PLATFORMS="pc"
FEATURES="${FEATURES} getbinpkg"
ACCEPT_LICENSE="* -@EULA"
EOF

cat > /etc/portage/binrepos.conf/samis.conf << EOF
[samis]
priority = 10
sync-uri = http://samis.grifon.fr/build-grifon/
verify-signature = false
EOF

mkdir -p /etc/portage/repos.conf
cat > /etc/portage/repos.conf/SwordArMor.conf << EOF
[SwordArMor]
location = /var/db/repos/SwordArMor/
sync-type = git
sync-uri = https://gitlab.grifon.fr/alarig/SwordArMor-gentoo-overlay.git
auto-sync = yes
EOF

cat > /etc/portage/package.use/installkernel << EOF
sys-kernel/installkernel grub dracut
sys-boot/grub -themes -truetype -branding
EOF

emerge-webrsync
emerge -v app-portage/eix app-editors/vim dev-vcs/git
eselect editor set vim
eix-sync

emerge --oneshot app-portage/cpuid2cpuflags
sed -i "s/#CPU_FLAGS_X86.*/CPU_FLAGS_X86=\"$(cpuid2cpuflags | cut -d ":" -f 2- | sed "s/^ //g")\"/g" /etc/portage/make.conf

emerge --verbose --update --deep --newuse --getbinpkg @world

ln -sf ../usr/share/zoneinfo/Europe/Paris /etc/localtime

cat > /etc/locale.gen << EOF
C.UTF-8 UTF-8
en_GB.UTF-8 UTF-8
en_US.UTF-8 UTF-8
fr_FR.UTF-8 UTF-8
EOF
locale-gen

env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

emerge -v sys-kernel/installkernel 
emerge -v sys-kernel/gentoo-kernel-bin

emerge -v1 sys-fs/genfstab
genfstab -U / > /etc/fstab

emerge -v app-admin/rsyslog sys-process/cronie app-shells/bash-completion net-misc/chrony
rc-update add rsyslog default
rc-update add cronie default
rc-update add sshd default
rc-update add chronyd default

emerge -v app-admin/openvox-agent

emerge -vac
  1. Installation de Grub
grub-install /dev/sda