Subject: [PATCH 00/10] Allow users to specify the UUID of disk images
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Cc: Danny Milosavljevic <[email-masked]>,Ludovic Courtès <[email-masked]>, Tobias Geerinckx-Rice <[email-masked]>
Date: Wed, 6 Sep 2017 23:51:30 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello!

This is a followup to
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27735#31>: it’s about
making it possible to specify the UUID of the root partition of the disk
image.

To get there, this patch series does a few things:

  1. Give a 2nd argument to ‘uuid->string’ et al., which is the name of
     the UUID format.

  2. Move UUID-related code to (gnu system uuid).

  3. Introduce a <uuid> record type that ties together a bytevector and
     a symbol specifying the UUID type (DCE, ISO9660, etc.).  This
     allows ‘uuid->string’ to generate a string in the “right” format as
     expected by tools such as GRUB.

  4. Finally, generate a UUID for generated images.

Tested with both an ISO and an ext4/qcow2 image.

Feedback welcome!

Ludo’.

Ludovic Courtès (10):
  vm: Allow partitions to be initialized with a given UUID.
  file-systems: Add UUID type dictionaries.
  services: base: Import the closure of (gnu build file-systems).
  file-systems: Introduce (gnu system uuid).
  services: file-system: Use 'file-system->spec'.
  system: Introduce a disjoint UUID type.
  system: Serialize the UUID type in the "parameters" file.
  uuid: 'uuid' macro supports more UUID types.
  vm: Allow users to specify a UUID for the root partition.
  vm: Generate a UUID to identify the root file system.

 gnu/bootloader/grub.scm       |   4 +-
 gnu/build/file-systems.scm    | 130 +--------------------
 gnu/build/vm.scm              |  28 +++--
 gnu/local.mk                  |   1 +
 gnu/services/base.scm         |  15 +--
 gnu/system.scm                |  48 +++++---
 gnu/system/file-systems.scm   |  26 ++---
 gnu/system/mapped-devices.scm |   7 +-
 gnu/system/uuid.scm           | 265 ++++++++++++++++++++++++++++++++++++++++++
 gnu/system/vm.scm             |  63 ++++++++--
 10 files changed, 393 insertions(+), 194 deletions(-)
 create mode 100644 gnu/system/uuid.scm

-- 
2.14.1