From: Leo Famulari <leo@famulari.name>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Planning for the next release
Date: Sun, 14 May 2017 15:14:07 -0400 [thread overview]
Message-ID: <20170514191407.GA4673@jasmine> (raw)
In-Reply-To: <87mvag3lj7.fsf@gnu.org>
[-- Attachment #1.1: Type: text/plain, Size: 1477 bytes --]
On Sat, May 13, 2017 at 03:59:24PM +0200, Ludovic Courtès wrote:
> Leo Famulari <leo@famulari.name> skribis:
> > If possible, I would appreciate if the release included a QEMU image
> > that we could offer to VPS hosters like serveraptor.com, as discussed in
> > this thread:
> >
> > If the maintainers want to try for this, I'm happy to help prepare a
> > system declaration and test it.
I'll work on the system declaration shortly. I think it should take some
parts from installation-os from (gnu system install), but the
file-systems can be simplified, and the packages reduced.
> The main “difficulty” would be to adjust the “Download” page on the web
> site, the instructions in the manual, “make release”, and to come up
> with a clear file name for the new image.
I think the name should be "guixsd-vm-image-VERSION", since this follows
the convention established with `guix system vm-image`.
I've attached some rough patches for guix.git and guix-artwork.git.
I'm confused about `make release`. The for-loop that builds the disk
images doesn't seem to set up offloading or actually build the images
for the different values of $SUPPORTED_SYSTEMS [0]. Am I missing this
somewhere?
For the web-site, I'm struggling to set up a development environment
where I can run (export-web-site) and test my changes.
[0]
https://git.savannah.gnu.org/cgit/guix.git/tree/Makefile.am?id=e0b2e93005188ab4d6c7413a27832ba2fb7388e8#n608
[-- Attachment #1.2: 0001-doc-Mention-the-pre-built-VM-image.patch --]
[-- Type: text/plain, Size: 2145 bytes --]
From 6ae03aa362b3542590e12c0ab2b65af127bdb00d Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Sat, 13 May 2017 20:44:36 -0400
Subject: [PATCH 1/2] doc: Mention the pre-built VM image.
* doc/guix.texi (Running GuixSD in a VM): Mention the pre-built VM image.
---
doc/guix.texi | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 844f0d74f..7b8a4fea0 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -15649,17 +15649,21 @@ example graph.
@subsection Running GuixSD in a Virtual Machine
@cindex virtual machine
-One way to run GuixSD in a virtual machine (VM) is to build a GuixSD
-virtual machine image using @command{guix system vm-image}
-(@pxref{Invoking guix system}). The returned image is in qcow2 format,
-which the @uref{http://qemu.org/, QEMU emulator} can efficiently use.
+To run GuixSD in a virtual machine (VM), one can either use the
+pre-built GuixSD VM image distributed at
+@indicateurl{ftp://alpha.gnu.org/guix/guixsd-vm-image-@value{VERSION}.@var{system}.tar.xz}
+, or build their own virtual machine image using @command{guix system
+vm-image} (@pxref{Invoking guix system}). The returned image is in
+qcow2 format, which the @uref{http://qemu.org/, QEMU emulator} can
+efficiently use.
@cindex QEMU
-To run the image in QEMU, copy it out of the store (@pxref{The Store})
-and give yourself permission to write to the copy. When invoking QEMU,
-you must choose a system emulator that is suitable for your hardware
-platform. Here is a minimal QEMU invocation that will boot the result
-of @command{guix system vm-image} on x86_64 hardware:
+If you built your image image, you must copy it out of the store
+(@pxref{The Store}) and give yourself permission to write to the copy
+before you can use it. When invoking QEMU, you must choose a system
+emulator that is suitable for your hardware platform. Here is a minimal
+QEMU invocation that will boot the result of @command{guix system
+vm-image} on x86_64 hardware:
@example
$ qemu-system-x86_64 \
--
2.13.0
[-- Attachment #1.3: 0002-maint-The-release-target-builds-a-VM-image.patch --]
[-- Type: text/plain, Size: 2198 bytes --]
From 30effa15369a1707755d134e37e63e2df135422e Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Sat, 13 May 2017 18:07:01 -0400
Subject: [PATCH 2/2] maint: The 'release' target builds a VM image.
* Makefile.am (GUIXSD_VM_SYSTEMS, GUIXSD_VM_IMAGE_BASE,
GUIXSD_VM_IMAGE_SIZE): New variables.
(release): Add logic to build a VM image.
---
Makefile.am | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/Makefile.am b/Makefile.am
index 4b5a29a72..8663de3ba 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -571,12 +571,21 @@ BINARY_TARBALLS = \
# Systems supported by GuixSD.
GUIXSD_SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux
+# Systems for which we build GuixSD VMs.
+GUIXSD_VM_SYSTEMS ?= x86_64-linux
+
# Prefix of the GuixSD installation image file name.
GUIXSD_IMAGE_BASE = guixsd-usb-install-$(PACKAGE_VERSION)
+# Prefix of the GuixSD VM image file name.
+GUIXSD_VM_IMAGE_BASE = guixsd-vm-image-$(PACKAGE_VERSION)
+
# Size of the installation image (for x86_64 typically).
GUIXSD_INSTALLATION_IMAGE_SIZE ?= 950MiB
+# Size of the VM image (for x86_64 typically).
+GUIXSD_VM_IMAGE_SIZE ?= 2GiB
+
# The release process works in several phases:
#
# 0. We assume the developer created a 'vX.Y' tag.
@@ -627,6 +636,19 @@ release: distcheck
mv "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.xz.tmp" \
"$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.xz" ; \
done
+ for system in $(GUIXSD_VM_SYSTEMS) ; do \
+ image=`$(top_builddir)/pre-inst-env \
+ guix system vm-image \
+ --image-size=$(GUIXSD_VM_IMAGE_SIZE) \
+ gnu/system/install.scm` ; \
+ if [ ! -f "$$image" ] ; then \
+ echo "failed to produced GuixSD VM image for $$system" >&2 ; \
+ exit 1 ; \
+ fi ; \
+ xz < "$$image" > "$(releasedir)/$(GUIXSD_VM_IMAGE_BASE).$$system.xz.tmp" ; \
+ mv "$(releasedir)/$(GUIXSD_VM_IMAGE_BASE).$$system.xz.tmp" \
+ "$(releasedir)/$(GUIXSD_VM_IMAGE_BASE).$$system.xz" ; \
+ done
@echo
@echo "Congratulations! All the release files are now in $(releasedir)."
@echo
--
2.13.0
[-- Attachment #1.4: 0001-website-downloads-Mention-the-VM-image.patch --]
[-- Type: text/plain, Size: 2453 bytes --]
From 584a9dfb224de28dc40692d2957d2301952378c2 Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Sun, 14 May 2017 15:03:57 -0400
Subject: [PATCH] website: downloads: Mention the VM image.
* website/www/download.scm (%vm-image-description, %vm-image-manual,
%vm-image-image): New variables.
(guixsd-vm-image-files): New procedure.
(download-page): Use guixsd-vm-image-files.
---
website/www/download.scm | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/website/www/download.scm b/website/www/download.scm
index 887c6db..98f03ee 100644
--- a/website/www/download.scm
+++ b/website/www/download.scm
@@ -62,6 +62,15 @@ dependencies.")
(define %guix-src-image
"src-package.png")
+(define %vm-image-description
+ "Virtual machine (QEMU) image of GuixSD.")
+
+(define %vm-image-manual
+ "manual/html_node/Running-GuixSD-in-a-VM.html")
+
+(define %vm-image-image
+ "GuixSD-package.png")
+
(define (ftp-url file)
(string-append "ftp://alpha.gnu.org/gnu/guix/" file))
@@ -75,6 +84,12 @@ dependencies.")
"-linux.xz"))))
archs))
+(define (guixsd-vm-image-files archs)
+ (map (lambda (arch)
+ (cons arch (https-url (string-append "guixsd-vm-image-"
+ (latest-guix-version) "." arch
+ "-linux.xz"))))))
+
(define (guix-files archs)
(map (lambda (arch)
(cons arch (https-url (string-append "guix-binary-" (latest-guix-version)
@@ -150,7 +165,12 @@ Linux-based system.")
#:files (guix-source-files '("tarball"))
#:description %source-tarball-description
#:manual %source-tarball-manual
- #:image %guix-src-image))
+ #:image %guix-src-image)
+ ,(download-box (string-append "GuixSD " (latest-guix-version))
+ #:files (guixsd-vm-image-files '("x86_64"))
+ #:description %vm-image-description
+ #:manual %vm-image-manual
+ #:image %guixsd-vm-image))
(p "Source code for the Guix System Distribution USB
installation images as well as GNU Guix can be found on the GNU ftp server for "
--
2.13.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2017-05-14 19:14 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-30 12:37 Planning for the next release Ludovic Courtès
2017-03-31 13:57 ` ng0
2017-03-31 16:25 ` Ludovic Courtès
2017-03-31 16:33 ` ng0
2017-03-31 23:07 ` Leo Famulari
2017-04-01 7:24 ` ng0
2017-04-04 10:39 ` Ricardo Wurmus
2017-05-20 8:40 ` Ludovic Courtès
2017-05-20 10:51 ` Ricardo Wurmus
2017-05-20 12:15 ` Ludovic Courtès
2017-05-20 21:45 ` Ricardo Wurmus
2017-05-20 22:29 ` Ludovic Courtès
2017-05-20 15:14 ` Ludovic Courtès
2017-05-20 19:40 ` Marius Bakke
2017-05-20 21:40 ` Marius Bakke
2017-05-20 22:32 ` Ludovic Courtès
2017-05-20 23:18 ` Ludovic Courtès
2017-05-20 21:42 ` Ricardo Wurmus
2017-04-02 22:13 ` Marius Bakke
2017-04-03 8:23 ` Ludovic Courtès
2017-04-17 20:41 ` UEFI support in boot image Marius Bakke
2017-04-19 20:26 ` Ludovic Courtès
2017-04-19 21:43 ` Marius Bakke
2017-05-05 20:54 ` Ludovic Courtès
2017-05-06 14:49 ` Marius Bakke
2017-05-07 14:42 ` Marius Bakke
2017-04-03 0:28 ` Planning for the next release Leo Famulari
2017-04-03 8:26 ` Ludovic Courtès
2017-04-03 17:52 ` Leo Famulari
2017-04-04 11:56 ` Ludovic Courtès
2017-04-21 22:27 ` Ludovic Courtès
2017-04-21 22:33 ` Leo Famulari
2017-04-27 12:40 ` Ricardo Wurmus
2017-05-11 9:00 ` Ludovic Courtès
2017-05-12 5:45 ` Ricardo Wurmus
2017-05-12 12:13 ` Hartmut Goebel
2017-05-12 15:25 ` Ludovic Courtès
2017-05-12 18:50 ` Ricardo Wurmus
[not found] ` <CAFtzXzMOGmQ6PKxarkmAKENR0EkWsfVoN7qdUjsnvZ6fgrAdTA@mail.gmail.com>
[not found] ` <CAFtzXzO7+7nO0XF0xDWktoApobNwVyHSg_1q6Z2hmeLc6czf4w@mail.gmail.com>
[not found] ` <CAFtzXzMBqiHBhusVx651nm1xH+XvacLKeuDDZ-iaMzx7FawyhA@mail.gmail.com>
2017-05-12 18:18 ` Fwd: " Manolis Ragkousis
2017-05-13 7:06 ` Ricardo Wurmus
2017-05-12 18:04 ` Leo Famulari
2017-05-12 21:04 ` ng0
2017-05-13 13:59 ` Ludovic Courtès
2017-05-13 14:20 ` Vincent Legoll
2017-05-14 19:14 ` Leo Famulari [this message]
2017-05-14 20:19 ` Leo Famulari
2017-05-15 1:52 ` Leo Famulari
2017-05-15 12:44 ` Ludovic Courtès
2017-05-16 14:41 ` sirgazil
2017-05-16 18:17 ` Leo Famulari
2017-05-16 18:19 ` Leo Famulari
2017-05-17 0:51 ` sirgazil
2017-05-17 3:02 ` Leo Famulari
2017-05-17 8:29 ` Ludovic Courtès
2017-05-16 17:12 ` Alex Kost
2017-05-16 23:03 ` Leo Famulari
2017-05-17 12:38 ` Ludovic Courtès
2017-05-17 18:20 ` Leo Famulari
2017-05-22 11:49 ` Building the web site Ludovic Courtès
2017-05-21 13:04 ` Planning for the next release Ricardo Wurmus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170514191407.GA4673@jasmine \
--to=leo@famulari.name \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).