diff --git a/README.md b/README.md index 0e38b76..25cb8f1 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,29 @@ ## About gentoo-install This project aspires to be your favourite way to install gentoo. -It aims to provide a convenient way of installing gentoo, both for beginners and experts. +It aims to provide a smooth installation experience, both for beginners and experts. You may configure it by using a menuconfig-inspired interface or simply via a config file. It supports the most common disk layouts, different file systems like ext4, ZFS and btrfs as well as additional layers such as LUKS or mdraid. It also supports both EFI (recommended) and BIOS boot, and can be used with systemd or OpenRC as the init system. SSH can also be configured to allow using an automation framework -like [Ansible](https://github.com/ansible/ansible) or [fora](https://oddlama.gitbook.io/fora/) to automate beyond system installation. - -[Why?](#Why) | -[Usage](#Usage) | -[Overview](#Overview) | -[Recommendations](#Recommendations) | -[FAQ](#FAQ) - -![](contrib/screenshot_configure.png) - -## Why? +like [Ansible](https://github.com/ansible/ansible) or [Fora](https://github.com/oddlama/fora) to automate beyond system installation. This project might appeal to you if - you want to try gentoo without initially investing a lot of time, or fully committing to it yet. - you already are a gentoo expert but want an automatic and repeatable best-practices installation. +[Usage](#usage) | +[Overview](#overview) | +[Recommendations](#recommendations) | +[Updating the Kernel](#updating-the-kernel) | +[FAQ](#troubleshooting-and-faq) + +![](contrib/screenshot_configure.png) + Of course we do encourage everyone to install gentoo manually. You will learn a lot if you -haven't done it already. +haven't done so already. ## Usage @@ -37,7 +35,7 @@ Afterwards, proceed with the following steps: pacman -Sy git # (Archlinux) Install git in live environment, then clone: git clone "https://github.com/oddlama/gentoo-install" cd gentoo-install -./configure # configure to your liking +./configure # configure to your liking, save as gentoo.conf ./install # begin installation ``` @@ -94,7 +92,34 @@ These will simply be passed to a final `emerge` call before the script is done, where autounmasking will also be done automatically. It is recommended to keep this to a minimum, because of the quite "interactive" nature of gentoo package management ;) -### Recommendations +## Updating the kernel + +By default, the installed system uses gentoo's binary kernel distribution (`sys-kernel/gentoo-kernel-bin`) +together with an initramfs generated by dracut. This ensures that the installed system works on all common hardware configurations. +Feel free to replace this with a custom built kernel (and possibly remove/adjust the initramfs) when the system is booted. + +The installer will provide the convenience script `generate_initramfs.sh` in `/boot/efi/` +or `/boot/bios` which may be used to generate a new initramfs for the given kernel version. +Depending on whether your system uses EFI or BIOS boot, you will also find your kernel and initramfs in different locations: + +```bash +# EFI +kernel="/boot/efi/vmlinuz.efi" +initrd="/boot/efi/initramfs.img" +# BIOS +kernel="/boot/bios/vmlinuz-current" +initrd="/boot/bios/initramfs.img" +``` + +In both cases, the update procedure is as follows: + +1. Emerge new kernel +2. `eselect kernel set ` +3. Backup old kernel and initramfs (`mv "$kernel"{,.bak}`, `mv "$initrd"{,.bak}`) +4. Generate new initramfs for this kernel `generate_initramfs.sh "$initrd"` +5. Copy new kernel `cp /boot/vmlinuz- "$kernel"` + +## Recommendations This project started out as a way of documenting a best-practices installation for myself. As the project grew larger, I've added more configuration options to suit legacy needs. @@ -143,34 +168,6 @@ Make of this what you will, both have their own quirks. Choose your poison. - Use the newer iwd for WIFI instead of wpa_supplicant - (If systemd) Use timers instead of cron jobs -## Updating the kernel - -By default, the installed system uses gentoo's binary kernel distribution (`sys-kernel/gentoo-kernel-bin`) -together with an initramfs generated by dracut. This ensures that the installed system works on all common hardware configurations. -Feel free to replace this with a custom built kernel (and possibly remove/adjust the initramfs) when the system is booted. - -The installer will provide the convenience script `generate_initramfs.sh` in `/boot/efi/` -or `/boot/bios` which may be used to generate a new initramfs for the given kernel version. -Depending on whether your system uses EFI or BIOS boot, you will also find your kernel and initramfs in different locations: - -```bash -# EFI -kernel="/boot/efi/vmlinuz.efi" -initrd="/boot/efi/initramfs.img" - -# BIOS -kernel="/boot/efi/vmlinuz.efi" -initrd="/boot/efi/initramfs.img" -``` - -In both cases, the update procedure is as follows: - -1. Emerge new kernel -2. `eselect kernel set ` -3. Backup old kernel and initramfs (`mv "$kernel"{,.bak}`, `mv "$initrd"{,.bak}`) -4. Generate new initramfs for this kernel `generate_initramfs.sh "$initrd"` -5. Copy new kernel `cp /boot/vmlinuz- "$kernel"` - ## Troubleshooting and FAQ After the initial sanity check, the script should be able to finish unattendedly.