scripts/config.sh -> gentoo.conf

This commit is contained in:
oddlama 2021-04-20 16:55:38 +02:00
parent 7c54bac857
commit 920e0f7f55
No known key found for this signature in database
GPG Key ID: 14EFE510775FE39A
7 changed files with 24 additions and 13 deletions

View File

@ -18,7 +18,7 @@ to detect and manage your kernel configuration, have a look at [autokernel](http
## Quick start
Edit `scripts/config.sh` and execute `./install` in any live system.
Edit `gentoo.conf` and execute `./install -i` in any live system.
You can review the partitioning that will be applied before anything critical is done.
Afterwards, this will apply the partitioning scheme and properly
install the selected stage3 gentoo system. By default, the new system will use
@ -61,10 +61,10 @@ Installing gentoo with this script is simple.
I recommend using a live system where you can quickly install new software.
Any [Arch Linux](https://www.archlinux.org/download/) live iso works fine.
2. Clone this repository
3. Edit `scripts/config.sh`, and particularily pay attention to
3. Edit `gentoo.conf`, and particularily pay attention to
the device which will be partitioned. The script will ask for confirmation
before partitioning, but better be safe there.
4. Execute `./install`. The script will tell you if your live
before doing any partitioning - but better be safe there.
4. Execute `./install -i`. The script will tell you if your live
system is missing any required software.
The script should be able to run without any user supervision after partitioning, but depending
@ -73,7 +73,7 @@ to emerge. The critical commands will ask you what to do in case of a failure.
### Config
The config file `scripts/config.sh` allows you to adjust some parameters of the installation.
The config file `gentoo.conf` allows you to adjust some parameters of the installation.
The most important ones will probably be the device to partition, and the stage3 tarball name
to install. By default you will get the hardened nomultilib profile without systemd.

2
TODO
View File

@ -1,6 +1,6 @@
- root authorized_keys support
- generalize ansible -> any infrastructure management by allowing only root ssh login.
- zfs support
- dracut -> genkernel
- save meta information to /var/db/gentoo-install
- systemd settings pls
- (dracut -> genkernel, or better?)

View File

@ -1,10 +1,13 @@
# vim: set ft=sh ts=4 sw=4 sts=-1 noet:
# This file will be interpreted by /bin/bash.
################################################
# Disk configuration
# Below you will see examples of how to use the provided default partitioning schemes.
# Generally these should be sufficient for most system setups.
#
# You can also create your own scheme using the functions provided in internal_config.sh,
# You can also create your own scheme using the functions provided in scripts/config.sh,
# if you need something tailored to your specific system. Generally supported is
# any combination of RAID0/1, luks, zfs, btrfs and the usual filesystems (ext4, fat)
# Have a look at the implementation of the default schemes, but be aware that you
@ -71,12 +74,12 @@ create_btrfs_raid_layout swap=8GiB luks=true /dev/sdX
# ######## Example: Password
#
# If you want a standard password, you should do the following:
# 1. echo -n "mypassword" > /tmp/mylukskey
# 2. Adjust the function below to return the path: echo -n "/tmp/mylukskey"
# 1. echo -n "mypassword" > /tmp/a_strong_encryption_key
# 2. Adjust the function below to return the path: echo -n "/tmp/a_strong_encryption_key"
#
# By default, the selected KEYMAP will also be applied in the initramfs.
# If you want to be sure, use a longer password but without special characters
# so that you could also type it without your selected keymap on the default layout.
# If you want to be sure, use a long passphrase with standard alphanumeric characters,
# so that you could also type it without your selected keymap on the default english layout.
#
# ######## Example: Keyfile
#
@ -95,7 +98,7 @@ create_btrfs_raid_layout swap=8GiB luks=true /dev/sdX
# as you can always use the keyfile in a live system. This might be easier if you
# are currently not sure what options you need exactly.
#
# To generate a strong keyfile, wh
# To generate a strong keyfile, follow this procedure:
#
# 1. Generating a strong keyfile with (resulting file must be < 8MiB)
# `head -c1024 /dev/urandom | base64 -w0 > /path/to/keyfile`

View File

@ -25,7 +25,7 @@ export GENTOO_INSTALL_REPO_SCRIPT_PID=$$
umask 0077
source "$GENTOO_INSTALL_REPO_DIR/scripts/utils.sh"
source "$GENTOO_INSTALL_REPO_DIR/scripts/internal_config.sh"
source "$GENTOO_INSTALL_REPO_DIR/scripts/config.sh"
source "$GENTOO_INSTALL_REPO_DIR/scripts/functions.sh"
source "$GENTOO_INSTALL_REPO_DIR/scripts/main.sh"

View File

@ -20,6 +20,8 @@ LUKS_HEADER_BACKUP_DIR="$TMP_DIR/luks-headers"
USED_RAID=false
# Flag to track usage of luks (needed to check for cryptsetup existence)
USED_LUKS=false
# Flag to track usage of zfs
USED_ZFS=false
# Flag to track usage of btrfs
USED_BTRFS=false

View File

@ -130,6 +130,8 @@ generate_initramfs() {
&& modules+=("mdraid")
[[ $USED_LUKS == "true" ]] \
&& modules+=("crypt crypt-gpg")
[[ $USED_ZFS == "true" ]] \
&& modules+=("zfs")
[[ $USED_BTRFS == "true" ]] \
&& modules+=("btrfs")

4
tests/gentoo-mdadm.sh Normal file
View File

@ -0,0 +1,4 @@
#!/bin/bash
# virt-install
# virsh