gentoo-install/README.md

2.5 KiB

Gentoo installation script

TL;DR: Installs gentoo on a new system, suited for both servers and desktops. Optionally prepares ansible for automatic system configuration. See Install for usage instructions.


This script will install a minimal (no-bloat) EFI bootable gentoo system. It will stick closely to the Gentoo AMD64 Handbook and Sakaki's EFI Install Guide.

What you will get:

  • EFIstub kernel
  • Minimal system configuration

What you can get optionally:

  • LUKS
  • EFI secure boot
  • Initramfs (compiled into the kernel for EFIstub)
  • Preconfigured sshd
  • Ansible (packages, user, ssh)

What you will NOT get: (i.e. you will have to do it yourself)

  • X11 desktop environment
  • A user (except root)
  • Any form of RAID
  • A specialized kernel (TODO insert links)

Only necessary configuration is applied to provide a common baseline system. If you need advanced features such as an initramfs or a different partitioning scheme, you can definitely use this script but will have to make some adjustments to it.

The main purpose of this script is to provide a universal setup which should be suitable for most use-cases (desktop and server installations).

Overview of executed tasks

  • Check live system
  • Sync time
  • Partition disks
  • Format partitions
  • Download stage3
  • Extract stage3
  • Chroot into new system
  • Update portage tree
  • ... TODO MISSING!

GPT

The script will create GPT partition tables. If your system cannot use GPT, this script is not suited for it.

EFI

It is assumed that your system can (and will) be booted via EFI. This is not a strict requirement, but othewise you will be responsible to make the system bootable.

This probably involves the following steps:

  • Change partition type of efi partition to ef02 (BIOS boot partition)
  • Change partition name and filesystem name to boot
  • Install and configure syslinux

Maybe there will be a convenience script for this at some point. No promises though.

Optional: Ansible ready

Optionally, this script can make the new system ready to be used with ansible.

It will do the following steps for you:

  • Create an ansible user
  • Generate an ssh keypair (type configurable)
  • Setup a secure sshd (safe ciphers, login only with keypair)
  • Install ansible

References