V8.00.000.2025.06.17
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m36s

Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
This commit is contained in:
2025-07-06 22:10:23 +02:00
parent 74442cf1ba
commit 541f4afa38
49 changed files with 431 additions and 388 deletions

View File

@@ -15,19 +15,23 @@ guard_sourcing
#######################################
# Function that generates each partition on each device according to the chosen recipe string.
# Globals:
# ERR_PARTITIONTBL
# ERR_READ_PARTTBL
# HMP_UUID_PARTITION
# RECIPE_STRING
# HMP_PATH_PARTUUID
# VAR_RECIPE_STRING
# VAR_RECIPE_TABLE
# VAR_SETUP_PART
# Arguments:
# None
# None
# Returns:
# "${ERR_PARTITIONTBL}"
# "${ERR_PART_CREATE}"
# "${ERR_PART_READ}"
# "${ERR_TABLE_CREATE}"
# "${ERR_TABLE_DELETE}"
#######################################
partitioning() {
### Declare Arrays and Variables.
declare -Ag HMP_UUID_PARTITION
declare var_dev var_part var_end_arg var_begin var_end var_fs var_boot var_pri var_uuid
declare -Ag HMP_PATH_PARTUUID
declare var_dev var_part var_end_arg var_begin var_end var_fs var_boot var_pri var_uuid var_mount_path
declare -a ary_devs ary_parts
### Iterate over all devices in the recipe.
@@ -68,6 +72,7 @@ partitioning() {
var_fs=$(yq_val ".recipe.${VAR_RECIPE_STRING}.dev.${var_dev}.${var_part}.filesystem.version" "${VAR_SETUP_PART}")
var_boot=$(yq_val ".recipe.${VAR_RECIPE_STRING}.dev.${var_dev}.${var_part}.bootable" "${VAR_SETUP_PART}")
var_pri=$(yq_val ".recipe.${VAR_RECIPE_STRING}.dev.${var_dev}.${var_part}.primary" "${VAR_SETUP_PART}")
var_mount_path=$(yq_val ".recipe.${VAR_RECIPE_STRING}.dev.${var_dev}.${var_part}.mount.path" "${VAR_SETUP_PART}")
### Generate partition.
if [[ "${var_end}" == "-1" ]]; then
@@ -89,15 +94,13 @@ partitioning() {
do_log "info" "false" "Partition: '/dev/${var_dev}${var_part}' marked as bootable."
fi
### Read UUID of the newly created partition
### Store UUID of the partition.
var_uuid=$(blkid -s UUID -o value "/dev/${var_dev}${var_part}")
if [[ -z "${var_uuid}" ]]; then
do_log "fatal" "false" "WARNING: could not read UUID for '/dev/${var_dev}${var_part}'."
return "${ERR_PART_READ}"
else
### Store UUID in an associative array.
HMP_UUID_PARTITION["UUID_${var_dev}${var_part}"]="${var_uuid}"
do_log "info" "false" "Saved in HashMap HMP_UUID_PARTITION: 'UUID_${var_dev}${var_part}' -> '${var_uuid}'."
HMP_PATH_PARTUUID["UUID_${var_mount_path}"]="${var_uuid}"
fi
done