V8.00.000.2025.06.17
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 41s
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 41s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
This commit is contained in:
@@ -22,7 +22,9 @@ guard_sourcing
|
||||
#######################################
|
||||
# Function that generates each partition on each device according to the chosen recipe string.
|
||||
# Globals:
|
||||
# DIR_LOG
|
||||
# HMP_PATH_PARTUUID
|
||||
# VAR_RECIPE_FIRMWARE
|
||||
# VAR_RECIPE_STRING
|
||||
# VAR_RECIPE_TABLE
|
||||
# VAR_SETUP_PART
|
||||
@@ -39,7 +41,7 @@ guard_sourcing
|
||||
partitioning() {
|
||||
### Declare Arrays and Variables.
|
||||
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 var_dev var_part var_end_arg var_begin var_end var_fs var_boot var_pri var_uuid var_mount_path var_label var_end_mib
|
||||
declare -a ary_devs ary_parts
|
||||
declare -i i=0 var_dev_size=0 var_dev_end=0
|
||||
|
||||
@@ -79,6 +81,7 @@ partitioning() {
|
||||
gpt|mbr)
|
||||
if ! parted -s "/dev/${var_dev}" mklabel "${VAR_RECIPE_TABLE,,}"; then
|
||||
|
||||
do_log "fatal" "file_only" "3200() [parted -s /dev/${var_dev} mklabel ${VAR_RECIPE_TABLE,,}] failed."
|
||||
do_log "fatal" "file_only" "3200() Partition table: '/dev/${var_dev}' creation failed."
|
||||
return "${ERR_TABLE_CREATE}"
|
||||
|
||||
@@ -106,9 +109,10 @@ partitioning() {
|
||||
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}")
|
||||
var_label=$(yq_val ".recipe.${VAR_RECIPE_STRING}.dev.${var_dev}.${var_part}.label" "${VAR_SETUP_PART}")
|
||||
|
||||
### Assign the landing zone of each partition.
|
||||
if [[ "${var_end}" == "-1" ]]; then
|
||||
if [[ "${var_end,,}" == "max" ]]; then
|
||||
var_dev_size=$(blockdev --getsize64 "/dev/${var_dev}")
|
||||
var_dev_end=$(( var_dev_size - 16 * 1024 * 1024 ))
|
||||
var_end_mib=$(( var_dev_end / 1024 / 1024 ))
|
||||
@@ -117,12 +121,29 @@ partitioning() {
|
||||
var_end_arg="${var_end}"
|
||||
fi
|
||||
|
||||
if ! parted -s "/dev/${var_dev}" mkpart "${var_pri}" "${var_fs}" "${var_begin}" "${var_end_arg}"; then
|
||||
case "${VAR_RECIPE_TABLE,,}" in
|
||||
|
||||
do_log "fatal" "file_only" "3200() Partition: '/dev/${var_dev}${var_part}' creation failed."
|
||||
return "${ERR_PART_CREATE}"
|
||||
gpt)
|
||||
if ! parted -s "/dev/${var_dev}" mkpart "${var_label}" "${var_fs}" "${var_begin}" "${var_end_arg}"; then
|
||||
|
||||
fi
|
||||
do_log "fatal" "file_only" "3200() [parted -s /dev/${var_dev} mkpart ${var_label} ${var_fs} ${var_begin} ${var_end_arg}] failed."
|
||||
do_log "fatal" "file_only" "3200() Partition: '/dev/${var_dev}${var_part}' creation failed."
|
||||
return "${ERR_PART_CREATE}"
|
||||
|
||||
fi
|
||||
;;
|
||||
|
||||
mbr|msdos)
|
||||
if ! parted -s "/dev/${var_dev}" mkpart "${var_pri}" "${var_fs}" "${var_begin}" "${var_end_arg}"; then
|
||||
|
||||
do_log "fatal" "file_only" "3200() [parted -s /dev/${var_dev} mkpart ${var_pri} ${var_fs} ${var_begin} ${var_end_arg}] failed."
|
||||
do_log "fatal" "file_only" "3200() Partition: '/dev/${var_dev}${var_part}' creation failed."
|
||||
return "${ERR_PART_CREATE}"
|
||||
|
||||
fi
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
do_log "info" "file_only" "3200() Partition: '/dev/${var_dev}${var_part}' generated | begin: '${var_begin}' | end: '${var_end_arg}'."
|
||||
|
||||
|
||||
Reference in New Issue
Block a user