diff --git a/internal/disk/customizations.go b/internal/disk/customizations.go index ab7d456e3..825c2f933 100644 --- a/internal/disk/customizations.go +++ b/internal/disk/customizations.go @@ -1,6 +1,7 @@ package disk import ( + "encoding/hex" "io" "math/rand" @@ -97,3 +98,11 @@ func newRandomUUIDFromReader(r io.Reader) (uuid.UUID, error) { id[8] = (id[8] & 0x3f) | 0x80 // Variant is 10 return id, nil } + +// NewRandomVolIDFromReader creates a random 32 bit hex string to use as a +// volume ID for FAT filesystems +func NewRandomVolIDFromReader(r io.Reader) (string, error) { + volid := make([]byte, 4) + _, err := r.Read(volid) + return hex.EncodeToString(volid), err +}