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:
@@ -41,7 +41,7 @@ recipe:
|
||||
table: "gpt" # MUST be "gpt" for "UEFI" || "msdos":
|
||||
syntax: true # This is set to "false" by default, otherwise if the recipe is tested by the authors to "true".
|
||||
### Version of the specific recipe.
|
||||
version: "1.1.6"
|
||||
version: "1.1.7"
|
||||
dev:
|
||||
sda:
|
||||
1:
|
||||
@@ -72,6 +72,7 @@ recipe:
|
||||
label: "ESP"
|
||||
options: ""
|
||||
version: "fat32"
|
||||
label: ""
|
||||
mount:
|
||||
enable: true # MUST be "true" for "/boot/efi"
|
||||
options: "umask=0077,uid=0,gid=0"
|
||||
@@ -106,6 +107,7 @@ recipe:
|
||||
version: "btrfs"
|
||||
label: "btrfs_boot"
|
||||
options: ""
|
||||
label: "part_boot"
|
||||
mount:
|
||||
enable: true # MUST be "true" for "/boot"
|
||||
options: "defaults,nodev,nosuid,noexec,noatime,compress=no,discard=async,subvol=@boot"
|
||||
@@ -140,6 +142,7 @@ recipe:
|
||||
label: "ext4_rescue"
|
||||
options: ""
|
||||
version: "ext4"
|
||||
label: "part_recovery"
|
||||
mount:
|
||||
enable: true
|
||||
options: "defaults,nodev"
|
||||
@@ -158,7 +161,7 @@ recipe:
|
||||
hash: "sha512"
|
||||
itertime: "3000"
|
||||
key: "512"
|
||||
label: "crypt_ephemeral_SWAP"
|
||||
label: "crypt_ephemeral_swap"
|
||||
metadatasize: "4096k"
|
||||
pbkdf: "argon2id"
|
||||
rng: "use-random"
|
||||
@@ -174,6 +177,7 @@ recipe:
|
||||
label: "host_swap" # MUST be "host_swap" for ephemeral "SWAP"
|
||||
options: ""
|
||||
version: "ext4" # MUST be "ext4" for ephemeral "SWAP"
|
||||
label: "part_ephem_swap"
|
||||
mount:
|
||||
enable: true
|
||||
options: "defaults,discard"
|
||||
@@ -208,6 +212,7 @@ recipe:
|
||||
label: "host_tmp" # MUST be "host_tmp" for ephemeral "/tmp"
|
||||
options: ""
|
||||
version: "ext4" # MUST be "ext4" for ephemeral "/tmp"
|
||||
label: "part_ephem_tmp"
|
||||
mount:
|
||||
enable: true
|
||||
options: "defaults,rw,nodev,nosuid,noatime,discard,mode=1777"
|
||||
@@ -242,6 +247,7 @@ recipe:
|
||||
label: "btrfs_root"
|
||||
options: ""
|
||||
version: "btrfs"
|
||||
label: "part_root"
|
||||
mount:
|
||||
enable: true
|
||||
options: "defaults,errors=remount-ro,noatime,discard=async,autodefrag,subvol=@root"
|
||||
@@ -276,6 +282,7 @@ recipe:
|
||||
label: "btrfs_home"
|
||||
options: ""
|
||||
version: "btrfs"
|
||||
label: "part_home"
|
||||
mount:
|
||||
enable: true
|
||||
options: "defaults,nodev,nosuid,relatime,discard=async,autodefrag,subvol=@home"
|
||||
@@ -310,6 +317,7 @@ recipe:
|
||||
label: "btrfs_usr"
|
||||
options: ""
|
||||
version: "btrfs"
|
||||
label: "part_usr"
|
||||
mount:
|
||||
enable: true
|
||||
options: "defaults,nodev,relatime,discard=async,subvol=@usr"
|
||||
@@ -344,6 +352,7 @@ recipe:
|
||||
label: "btrfs_var"
|
||||
options: ""
|
||||
version: "btrfs"
|
||||
label: "part_var"
|
||||
mount:
|
||||
enable: true
|
||||
options: "defaults,nodev,nosuid,relatime,discard=async,subvol=@var"
|
||||
@@ -378,6 +387,7 @@ recipe:
|
||||
label: "btrfs_var_log"
|
||||
options: ""
|
||||
version: "btrfs"
|
||||
label: "part_var_log"
|
||||
mount:
|
||||
enable: true
|
||||
options: "defaults,nodev,nosuid,noexec,noatime,nodatacow,discard=async,subvol=@var_log"
|
||||
@@ -412,6 +422,7 @@ recipe:
|
||||
label: "btrfs_var_log_audit"
|
||||
options: ""
|
||||
version: "btrfs"
|
||||
label: "part_var_log_audit"
|
||||
mount:
|
||||
enable: true
|
||||
options: "defaults,nodev,nosuid,noexec,noatime,nodatacow,discard=async,subvol=@var_log_audit"
|
||||
@@ -446,6 +457,7 @@ recipe:
|
||||
label: "btrfs_var_tmp"
|
||||
options: ""
|
||||
version: "btrfs"
|
||||
label: "part_var_tmp"
|
||||
mount:
|
||||
enable: true
|
||||
options: "defaults,nodev,nosuid,noatime,nodatacow,discard=async,subvol=@var_tmp"
|
||||
@@ -480,6 +492,7 @@ recipe:
|
||||
label: "btrfs_opt"
|
||||
options: ""
|
||||
version: "btrfs"
|
||||
label: "part_opt"
|
||||
mount:
|
||||
enable: true
|
||||
options: "defaults,nodev,nosuid,relatime,discard=async,subvol=@opt"
|
||||
|
||||
@@ -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
|
||||
|
||||
gpt)
|
||||
if ! parted -s "/dev/${var_dev}" mkpart "${var_label}" "${var_fs}" "${var_begin}" "${var_end_arg}"; then
|
||||
|
||||
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