Subject: bug#27967: closed (Re: [PATCH] maint: Create an ISO9660 installation image in the 'release' target.)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 19 Aug 2017 02:43:02 +0000

Your bug report

#27967: [PATCH] maint: Create an ISO9660 installation image in the 'release' target.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
27967: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=27967
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [PATCH] maint: Create an ISO9660 installation image in the 'release' target.
From: Danny Milosavljevic <[email-masked]>
To: [email-masked]
Date: Sat, 19 Aug 2017 04:42:06 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Pushed to master as d79013f66a98dca24e11193c43e78364043d0c16 with minimal changes (to the generated filename to keep it the same as before).  This means that our releases can now also be booted from DVD.

Subject: [PATCH] maint: Create an ISO9660 installation image in the 'release' target.
From: Danny Milosavljevic <[email-masked]>
To: [email-masked]
Cc: Danny Milosavljevic <[email-masked]>
Date: Sat, 5 Aug 2017 12:12:21 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* Makefile.am (GUIXSD_IMAGE_BASE): Adapt target file name.
(release): Use file-system-type iso9660.
* doc/guix.texi: Document installation from DVD.
---
 Makefile.am   |  9 +++---
 doc/guix.texi | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 84 insertions(+), 16 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 91a9113d2..7f6887cce 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -577,7 +577,7 @@ GUIXSD_SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux
 GUIXSD_VM_SYSTEMS ?= x86_64-linux
 
 # Prefix of the GuixSD installation image file name.
-GUIXSD_IMAGE_BASE = guixsd-usb-install-$(PACKAGE_VERSION)
+GUIXSD_IMAGE_BASE = guixsd-install-$(PACKAGE_VERSION)
 
 # Prefix of the GuixSD VM image file name.
 GUIXSD_VM_IMAGE_BASE = guixsd-vm-image-$(PACKAGE_VERSION)
@@ -628,15 +628,16 @@ release: dist
 	for system in $(GUIXSD_SUPPORTED_SYSTEMS) ; do					\
 	  image=`$(top_builddir)/pre-inst-env						\
 	    guix system disk-image							\
+	    --file-system-type=iso9660							\
             --system=$$system								\
 	    gnu/system/install.scm` ;							\
 	  if [ ! -f "$$image" ] ; then							\
 	    echo "failed to produced GuixSD installation image for $$system" >&2 ;	\
 	    exit 1 ;									\
 	  fi ;										\
-	  xz < "$$image" > "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.xz.tmp" ;	\
-	  mv "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.xz.tmp"			\
-	     "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.xz" ;				\
+	  xz < "$$image" > "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz.tmp" ;	\
+	  mv "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz.tmp"			\
+	     "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz" ;			\
 	done
 	for system in $(GUIXSD_VM_SYSTEMS) ; do						\
 	  image=`$(top_builddir)/pre-inst-env						\
diff --git a/doc/guix.texi b/doc/guix.texi
index 88bf0bb62..20dd09a6d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -7464,6 +7464,7 @@ available.
 * Limitations::                 What you can expect.
 * Hardware Considerations::     Supported hardware.
 * USB Stick Installation::      Preparing the installation medium.
+* DVD Installation::            Preparing the installation medium.
 * Preparing for Installation::  Networking, partitioning, etc.
 * Proceeding with the Installation::  The real thing.
 * Installing GuixSD in a VM::   GuixSD playground.
@@ -7553,7 +7554,7 @@ about their support in GNU/Linux.
 @subsection USB Stick Installation
 
 An installation image for USB sticks can be downloaded from
-@indicateurl{ftp://alpha.gnu.org/gnu/guix/guixsd-usb-install-@value{VERSION}.@var{system}.xz},
+@indicateurl{ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz},
 where @var{system} is one of:
 
 @table @code
@@ -7569,8 +7570,8 @@ Make sure to download the associated @file{.sig} file and to verify the
 authenticity of the image against it, along these lines:
 
 @example
-$ wget ftp://alpha.gnu.org/gnu/guix/guixsd-usb-install-@value{VERSION}.@var{system}.xz.sig
-$ gpg --verify guixsd-usb-install-@value{VERSION}.@var{system}.xz.sig
+$ wget ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig
+$ gpg --verify guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig
 @end example
 
 If that command fails because you do not have the required public key,
@@ -7584,9 +7585,8 @@ $ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
 and rerun the @code{gpg --verify} command.
 @c end duplication
 
-This image contains a single partition with the tools necessary for an
-installation.  It is meant to be copied @emph{as is} to a large-enough
-USB stick.
+This image contains the tools necessary for an installation.
+It is meant to be copied @emph{as is} to a large-enough USB stick or DVD.
 
 To copy the image to a USB stick, follow these steps:
 
@@ -7595,7 +7595,7 @@ To copy the image to a USB stick, follow these steps:
 Decompress the image using the @command{xz} command:
 
 @example
-xz -d guixsd-usb-install-@value{VERSION}.@var{system}.xz
+xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz
 @end example
 
 @item
@@ -7604,7 +7604,7 @@ its device name.  Assuming that the USB stick is known as @file{/dev/sdX},
 copy the image with:
 
 @example
-dd if=guixsd-usb-install-@value{VERSION}.x86_64 of=/dev/sdX
+dd if=guixsd-install-@value{VERSION}.x86_64.iso of=/dev/sdX
 sync
 @end example
 
@@ -7618,12 +7618,79 @@ UEFI boot menu, where you can choose to boot from the USB stick.
 @xref{Installing GuixSD in a VM}, if, instead, you would like to install
 GuixSD in a virtual machine (VM).
 
+@node DVD Installation
+@subsection DVD Installation
+
+An installation image for DVDs can be downloaded from
+@indicateurl{ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz},
+where @var{system} is one of:
+
+@table @code
+@item x86_64-linux
+for a GNU/Linux system on Intel/AMD-compatible 64-bit CPUs;
+
+@item i686-linux
+for a 32-bit GNU/Linux system on Intel-compatible CPUs.
+@end table
+
+@c start duplication of authentication part from ``Binary Installation''
+Make sure to download the associated @file{.sig} file and to verify the
+authenticity of the image against it, along these lines:
+
+@example
+$ wget ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig
+$ gpg --verify guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig
+@end example
+
+If that command fails because you do not have the required public key,
+then run this command to import it:
+
+@example
+$ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
+@end example
+
+@noindent
+and rerun the @code{gpg --verify} command.
+@c end duplication
+
+This image contains the tools necessary for an installation.
+It is meant to be copied @emph{as is} to a large-enough USB stick or DVD.
+
+To copy the image to a DVD, follow these steps:
+
+@enumerate
+@item
+Decompress the image using the @command{xz} command:
+
+@example
+xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz
+@end example
+
+@item
+Insert a blank DVD into your machine, and determine
+its device name.  Assuming that the DVD drive is known as @file{/dev/srX},
+copy the image with:
+
+@example
+growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.x86_64.iso
+@end example
+
+Access to @file{/dev/srX} usually requires root privileges.
+@end enumerate
+
+Once this is done, you should be able to reboot the system and boot from
+the DVD.  The latter usually requires you to get in the BIOS or
+UEFI boot menu, where you can choose to boot from the DVD.
+
+@xref{Installing GuixSD in a VM}, if, instead, you would like to install
+GuixSD in a virtual machine (VM).
+
 @node Preparing for Installation
 @subsection Preparing for Installation
 
-Once you have successfully booted the image on the USB stick, you should
-end up with a root prompt.  Several console TTYs are configured and can
-be used to run commands as root.  TTY2 shows this documentation,
+Once you have successfully booted your computer using the installation medium,
+you should end up with a root prompt.  Several console TTYs are configured
+and can be used to run commands as root.  TTY2 shows this documentation,
 browsable using the Info reader commands (@pxref{Top,,, info-stnd,
 Stand-alone GNU Info}).  The installation system runs the GPM mouse
 daemon, which allows you to select text with the left mouse button and
@@ -7978,7 +8045,7 @@ Boot the USB installation image in an VM:
 @example
 qemu-system-x86_64 -m 1024 -smp 1 \
   -net user -net nic,model=virtio -boot menu=on \
-  -drive file=guixsd-usb-install-@value{VERSION}.@var{system} \
+  -drive file=guixsd-install-@value{VERSION}.@var{system}.iso \
   -drive file=guixsd.img
 @end example