From d3bc0b663ff84ff09ba42f1f0aa759388d9e7ff9 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 27 May 2021 15:45:29 +0000 Subject: [PATCH] master: Generate a random label for the disk image This can also be set by the user by using the --label switch. Signed-off-by: Michael Tremer --- src/bricklayer-master | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/bricklayer-master b/src/bricklayer-master index 01feb0a..86dcb04 100644 --- a/src/bricklayer-master +++ b/src/bricklayer-master @@ -264,7 +264,8 @@ install_initramfs() { mkimage() { local buildsystem="${1}" - local filename="${2}" + local label="${2}" + local filename="${3}" local r=0 # Create a temporary working directory @@ -288,7 +289,7 @@ mkimage() { #-quiet # The name of the volume - -volid "${name}" + -volid "${label}" # Set ISO9660 conformance level -iso-level 3 @@ -394,6 +395,7 @@ mkimage() { main() { local arch="$(uname -m)" local filename + local label while [ $# -gt 0 ]; do case "${1}" in @@ -401,6 +403,10 @@ main() { arch="${1#*=}" ;; + --label=*) + label="${1#*=}" + ;; + *.iso) if [ -n "${filename}" ]; then echo "Filename has already been set" >&2 @@ -424,6 +430,17 @@ main() { return 2 fi + # Generate a random label if nothing was set + if [ -z "${label}" ]; then + label="$(make_label)" + fi + + # Check if the label is < 16 characters + if [ "${#label}" -gt 16 ]; then + echo "The label cannot be longer than 16 characters" >&2 + return 2 + fi + local has_bios_boot="false" local has_efi_boot="false" @@ -453,7 +470,7 @@ main() { fi # Make image and delete it if something went wrong - if ! mkimage "${buildsystem}" "${filename}"; then + if ! mkimage "${buildsystem}" "${label}" "${filename}"; then rm -rf "${buildsystem}" "${filename}" return 1 fi -- 2.47.3