From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37656) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ddw4y-0006hP-9X for guix-patches@gnu.org; Sat, 05 Aug 2017 06:13:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ddw4t-0000q9-1K for guix-patches@gnu.org; Sat, 05 Aug 2017 06:13:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:39837) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ddw4s-0000pt-UG for guix-patches@gnu.org; Sat, 05 Aug 2017 06:13:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ddw4s-0006n3-Ln for guix-patches@gnu.org; Sat, 05 Aug 2017 06:13:02 -0400 Subject: [bug#27967] [PATCH] maint: Create an ISO9660 installation image in the 'release' target. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37379) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ddw4S-0006ez-8v for guix-patches@gnu.org; Sat, 05 Aug 2017 06:12:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ddw4N-0000KE-9G for guix-patches@gnu.org; Sat, 05 Aug 2017 06:12:36 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:56758) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ddw4M-0000Hs-VF for guix-patches@gnu.org; Sat, 05 Aug 2017 06:12:31 -0400 From: Danny Milosavljevic Date: Sat, 5 Aug 2017 12:12:21 +0200 Message-Id: <20170805101221.1984-1-dannym@scratchpost.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 27967@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