guix-play/guix
Mathieu Othacehe f19cf27c2b
image: Add a new API.
Raw disk-images and ISO9660 images are created in a Qemu virtual machine. This
is quite fragile, very slow, and almost unusable without KVM.

For all these reasons, add support for host image generation. This implies the
use new image generation mechanisms.

- Raw disk images: images of partitions are created using tools such as mke2fs
  and mkdosfs depending on the partition file-system type. The partition
  images are then assembled into a final image using genimage.

- ISO9660 images: the ISO root directory is populated within the store. GNU
  xorriso is then called on that directory, in the exact same way as this is
  done in (gnu build vm) module.

Those mechanisms are built upon the new (gnu image) module.

* gnu/image.scm: New file.
* gnu/system/image.scm: New file.
* gnu/build/image: New file.
* gnu/local.mk: Add them.
* gnu/system/vm.scm (system-disk-image): Rename to system-disk-image-in-vm.
* gnu/ci.scm (qemu-jobs): Adapt to new API.
* gnu/tests/install.scm (run-install): Ditto.
* guix/scripts/system.scm (system-derivation-for-action): Ditto.
2020-05-05 16:13:53 +02:00
..
build build: store-copy: Export file-size procedure. 2020-05-05 16:08:32 +02:00
build-system build-system/gnu: Optimize the package graph. 2020-03-29 23:14:28 +02:00
import import: crate: Gracefully handle non-existent crates. 2020-04-27 23:29:40 +02:00
scripts image: Add a new API. 2020-05-05 16:13:53 +02:00
store deduplication: Use nix-base32 encoding for link names. 2020-02-22 00:46:06 +01:00
tests tests: Invoke 'git' with a custom '.gitconfig' and ignore the system config. 2020-04-19 13:27:06 +02:00
base16.scm
base32.scm
base64.scm base64: Do not use (rnrs). 2019-12-15 00:34:05 +01:00
build-system.scm
bzr-download.scm download: Pass 'http_proxy' et al. to git, hg, etc. 2019-09-05 18:33:30 +02:00
cache.scm Remove workaround for 'time-monotonic' in Guile 2.2.2. 2020-03-22 16:49:47 +01:00
channels.scm channels: Use a declarative profile. 2020-04-26 22:49:49 +02:00
ci.scm ci: Fix 'evaluation-spec' binding. 2020-03-31 14:55:42 +02:00
colors.scm ui: Don't disable colors when INSIDE_EMACS is set. 2020-02-24 11:01:52 +01:00
combinators.scm
config.scm.in Add (guix lzlib). 2019-05-06 23:21:33 +02:00
cpio.scm
cve.scm cve: Rewrite to read the JSON feed instead of the XML feed. 2019-10-23 16:40:17 +02:00
cvs-download.scm download: Pass 'http_proxy' et al. to git, hg, etc. 2019-09-05 18:33:30 +02:00
deprecation.scm deprecation: Add a two-element form for simple aliases. 2020-01-12 00:19:09 +01:00
derivations.scm derivations: Inline 'find' in 'coalesce-duplicate-inputs'. 2020-01-23 23:34:10 +01:00
describe.scm guix package: Save provenance information when using '--manifest'. 2019-12-29 18:24:54 +01:00
diagnostics.scm diagnostics: Avoid highlighting complete messages. 2019-08-28 18:52:52 +02:00
discovery.scm discovery: 'scheme-files' ignores hidden files. 2019-07-26 21:49:25 +02:00
docker.scm pack: Provide a meaningful "repository name" for Docker. 2019-09-16 10:25:31 +02:00
download.scm download: Use correct system and guile in 'url-fetch/tarbomb' and 'url-fetch/zipbomb'. 2020-04-08 19:35:34 +02:00
elf.scm
ftp-client.scm
gexp.scm gexp: Add 'load-path?' field to <scheme-file>. 2020-04-22 19:23:57 +02:00
git-download.scm git-version: Raise a condition instead of an error. 2020-04-23 14:23:03 +02:00
git.scm git: Don't try to resolve tags with 'tag-lookup'. 2020-04-02 23:15:11 +02:00
glob.scm
gnu-maintenance.scm upstream: Move KDE updater into a separate module. 2019-09-10 19:04:06 +02:00
gnupg.scm gnupg: Accept revoked keys. 2020-04-17 23:36:47 +02:00
grafts.scm grafts: Simplify access to store item references. 2020-04-02 00:06:26 +02:00
graph.scm
hg-download.scm download: Pass 'http_proxy' et al. to git, hg, etc. 2019-09-05 18:33:30 +02:00
http-client.scm download: Do not leak file descriptors on TLS ports. 2020-01-03 16:06:26 +01:00
i18n.scm
inferior.scm inferior: '&inferior-exception' includes a stack trace. 2020-03-19 15:14:08 +01:00
json.scm Add (guix json). 2019-09-04 13:02:27 +02:00
licenses.scm Revert "licenses: Export license record." 2020-04-24 09:10:35 +02:00
lint.scm lint: 'check-patch-file-names' restricts to shorter file names. 2020-04-10 16:02:51 +02:00
lzlib.scm lzlib: Define 'dictionary-size+match-length-limit'. 2020-01-16 23:14:05 +01:00
man-db.scm
memoization.scm
modules.scm Remove traces of "GuixSD". 2019-03-13 23:12:43 +01:00
monad-repl.scm
monads.scm monads, gexp: Prevent redefinition of syntax parameters. 2019-02-06 23:06:18 +01:00
nar.scm nar: Really lock store files. 2019-06-05 23:10:37 +02:00
openpgp.scm openpgp: Add missing type predicate for '&openpgp-invalid-signature-error'. 2020-05-04 10:51:39 +02:00
packages.scm packages: Recommend against the use of 'package-file'. 2020-04-21 00:06:40 +02:00
pki.scm
profiles.scm profiles: Mark manual database as non-substitutable. 2020-05-01 01:21:03 +02:00
profiling.scm
progress.scm Remove workaround for 'time-monotonic' in Guile 2.2.2. 2020-03-22 16:49:47 +01:00
records.scm records: Have ABI check work well for cross-compilation. 2020-04-08 00:05:45 +02:00
remote.scm remote, ssh: Show the command exit status upon failure. 2019-08-28 18:52:52 +02:00
repl.scm repl: Return stack traces along with exceptions. 2020-03-19 15:14:08 +01:00
scripts.scm scripts: Show disk-space warning when under the min of the thresholds. 2020-03-06 08:32:01 +01:00
search-paths.scm
self.scm self: Build and install 'guix-cookbook.info' and its translations. 2020-04-21 23:52:19 +02:00
serialization.scm serialization: 'read-byte-string' makes a single read(2) call. 2020-01-24 23:56:43 +01:00
sets.scm
ssh.scm ssh: 'send-files' reports missing modules on the remote host. 2020-03-23 10:48:17 +01:00
status.scm status: Remove extra space before ellipsis. 2020-04-19 13:27:06 +02:00
store.scm store: 'with-store' uses 'with-exception-handler'. 2020-04-05 00:36:44 +02:00
svn-download.scm guix: svn: Allow dropping externals. 2019-11-13 22:49:47 +01:00
swh.scm swh: Handle absolute URLs being returned by the API. 2020-02-23 12:30:18 +01:00
tests.scm packages: Remove 'search-bootstrap-binary'. 2019-06-14 21:57:39 +02:00
ui.scm ui: Fix typos, 80-col & grammar in comments & docstrings. 2020-04-17 23:18:32 +02:00
upstream.scm gnupg: 'gnupg-verify*' returns a status symbol. 2019-12-20 22:06:05 +01:00
utils.scm Adjust module autoloads. 2020-01-06 16:31:54 +01:00
workers.scm
zlib.scm