;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2020 Danny Milosavljevic ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu system images novena) #:use-module (gnu bootloader) #:use-module (gnu bootloader u-boot) #:use-module (gnu image) #:use-module (gnu packages linux) #:use-module (guix platforms arm) #:use-module (gnu services) #:use-module (gnu services base) #:use-module (gnu system) #:use-module (gnu system file-systems) #:use-module (gnu system image) #:use-module (srfi srfi-26) #:export (novena-barebones-os novena-image-type novena-barebones-raw-image)) (define novena-barebones-os (operating-system (host-name "vignemale") (timezone "Europe/Paris") (locale "en_US.utf8") (bootloader (bootloader-configuration (bootloader u-boot-novena-bootloader) (targets '("/dev/vda")))) (initrd-modules '()) (kernel linux-libre-arm-generic) (kernel-arguments '("console=ttymxc1,115200")) (file-systems (cons (file-system (device (file-system-label "my-root")) (mount-point "/") (type "ext4")) %base-file-systems)))) (define novena-image-type (image-type (name 'novena-raw) (constructor (lambda (os) (image (inherit (raw-with-offset-disk-image)) (operating-system os) (platform armv7-linux)))))) (define novena-barebones-raw-image (image (inherit (os+platform->image novena-barebones-os armv7-linux #:type novena-image-type)) (name 'novena-barebones-raw-image))) ;; Return the default image. novena-barebones-raw-image > 2019-05-07uuid: 'fat-uuid->string' preserves leading zeros....Fixes <https://bugs.gnu.org/35582>. Reported by sirgazil <sirgazil@zoho.com>. Previously, leading zeros would be removed, leading to an "invalid" UUID: (uuid->string (uuid "00CA-050E" 'fat32)) ⇒ "CA-50E" (string->uuid "CA-50E" 'fat32) ⇒ #f * gnu/system/uuid.scm (fat-uuid->string): Pad digits with zeros. * tests/uuid.scm ("uuid, FAT32, leading zeros preserved"): New test. Ludovic Courtès 2018-05-19uuid: 'uuid' returns #f when 'string->uuid' returns #f....* gnu/system/uuid.scm (uuid): When STR is not a literal, return #f when 'string->uuid' returns #f. * tests/uuid.scm ("uuid, dynamic value"): New test. Ludovic Courtès 2017-10-06uuid: Fix typo in 'uuid=?' test....* tests/uuid.scm ("uuid=?"): Change to 'test-assert'. Ludovic Courtès 2017-10-05uuid: Add 'uuid=?' and use it....* gnu/system/uuid.scm (uuid=?): New procedure. * tests/uuid.scm ("uuid=?"): New test. * gnu/build/file-systems.scm (partition-uuid-predicate) (luks-partition-uuid-predicate): Use it instead of 'bytevector=?'. Ludovic Courtès 2017-09-22uuid: Add a parser for FAT32 UUIDs....* gnu/system/uuid.scm (%fat32-uuid-rx): New variable. (string->fat32-uuid): New procedure. (%uuid-parsers): Add it. * tests/uuid.scm ("uuid, FAT32, format preserved"): New test. Ludovic Courtès 2017-09-14uuid: Move tests to 'tests/uuid.scm'....* tests/file-systems.scm ("uuid->string", "string->uuid") ("uuid", "uuid, syntax error"): Move to... * tests/uuid.scm: ... here. New file. ("uuid, ISO-9660, format preserved"): New test. Ludovic Courtès