summaryrefslogtreecommitdiff
path: root/stages/first_stage.sh
blob: a3b7c0388e0635e6ea7a4277c0117dcd22e3ccc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/bash


#  archinstall - A minimal Installation Script for Arch Linux
#  Copyright (C) 2019  xengineering

#  This program is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.

#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.

#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <https://www.gnu.org/licenses/>.


echo "Entering first_stage.sh - OK"


# Write config

mkdir $(dirname "$CONFIG_FILE_PATH")
touch $CONFIG_FILE_PATH
python $REPOSITORY_PATH/util/write_config.py $CONFIG_FILE_PATH


# Reading config values to bash

export disk=$(python $REPOSITORY_PATH/util/read_config_string.py $CONFIG_FILE_PATH "disk")
export disk_path=/dev/$disk
export efi_partition_path="${disk_path}1"
export boot_partition_path="${disk_path}2"
export main_partition_path="${disk_path}3"
export hostname=$(python $REPOSITORY_PATH/util/read_config_string.py $CONFIG_FILE_PATH "hostname")
export desktop=$(python $REPOSITORY_PATH/util/read_config_string.py $CONFIG_FILE_PATH "desktop")
export admin_username=$(python $REPOSITORY_PATH/util/read_config_string.py $CONFIG_FILE_PATH "admin_username")
export system_encryption=$(python $REPOSITORY_PATH/util/read_config_string.py $CONFIG_FILE_PATH "system_encryption")


bash confirm_installation.sh $disk

bash check_bootmode.sh

bash partition_disk.sh $disk_path

if [ $system_encryption == "yes" ];then

    bash format_crypto_partition.sh $main_partition_path $DEFAULT_PASSWORD

    bash open_crypto_partition.sh $main_partition_path $DEFAULT_PASSWORD

    export root_partition_path="/dev/mapper/main"

else

    export root_partition_path=$main_partition_path

fi

bash create_filesystems.sh $efi_partition_path $boot_partition_path $root_partition_path

bash mount_filesystems.sh $boot_partition_path $root_partition_path

bash install_packages.sh $desktop

bash install_archinstall.sh $REPOSITORY_PATH

bash write_fstab.sh

echo "bash second_stage.sh" | arch-chroot /mnt

bash copy_archinstall_log.sh $LOG_FILE_PATH

bash unmount_filesystems.sh $boot_partition_path $root_partition_path

if [ $system_encryption == "yes" ];then

    bash close_crypto_partition.sh $main_partition_path

fi

bash print_final_message.sh $DEFAULT_PASSWORD