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

  • Done
  • quality assurance status badge
Details
2 participants
  • Danny Milosavljevic
  • ng0
Owner
unassigned
Submitted by
Danny Milosavljevic
Severity
normal

Debbugs page

Danny Milosavljevic wrote 8 years ago
(address . guix-patches@gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20170805101221.1984-1-dannym@scratchpost.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(-)

Toggle diff (186 lines)
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
Danny Milosavljevic wrote 8 years ago
(address . 27967-done@debbugs.gnu.org)
20170819044206.67dc824b@scratchpost.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.
Closed
ng0 wrote 8 years ago
Re: bug#27967: [PATCH] maint: Create an ISO9660 installation image in the 'release' target.
20170819091309.evdroejighjwsyva@abyayala
Danny Milosavljevic transcribed 0.2K bytes:
Toggle quote (2 lines)
> 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.

I think there's the need to mention .iso extensions of the files,
pr .iso.xz in case we compress them.

This hasn't happened in the commit.
--
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAlmYASQACgkQ4i+bv+40
hYiOVw//RvTSpnEnVBit8yveWZfpi+YjkfI61ZF4W9catMidKtQRXgX5V7yjtkbT
067gFDHSiWemrFqw9pccBlB9TgzUJxalR6WweFLAY8O8yQwjLXbZBYWwy+FsRi/8
k7qH8plmFM2HrGOq5KvcOPVjw3dBaRt2VNL+hhjHcrktn2H/FeDvZWxF0D3lxiL2
lL2nlpPZkq2cSFDquB9hcGeHuL7/+Yd3oSsnn9hyXY6oZ3/eNIPuPA2uVxnQFndu
TCDF9fZYYUBSzMYQtZ/+1cdcU9eBycyyNELAPIRPc71a3mss5GqFzlAGjYcbcnax
LZjH00aMlpavedH9dZySFuzZybRt1ibLtqQTpGocWQBklmOUt55BO2eHePzGc3Sv
tK9pQqbiBfWHpHtF8vvnSPQfO1HWnzi7KtABqzZ5Ub/pHoCnrBaE4tTON3dXoMRJ
uW/dkDyOZjizS1LyN066/mE8StzT5Y8+tCkobEx09X/uv4Aati5yq2El+JIZFB3V
+isfB65nOVFq2n8UHZkggYXtaDCP1Zxp6Q0Bjk49OemP/In7tRDR3iX8sdUK1Jhv
LJKYDXo46hpsaqWH0XnzYIbwxvAKshlTexzsJ70WRCrH0qQYeauT7c75BxahUzAY
YC582WDe/rkE1oRcVdUA4H44jsndwQ2/MN4d42ckUQt1vbHrf7I=
=viJ0
-----END PGP SIGNATURE-----


Danny Milosavljevic wrote 8 years ago
[PATCH] maint: Rename release disk-images to include ".iso" in the name.
(address . 27967@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20170819103038.1717-1-dannym@scratchpost.org
* Makefile.am (release): Adapt image file name.
* doc/guix.texi: Adapt image file name.
---
Makefile.am | 6 +++---
doc/guix.texi | 16 ++++++++--------
2 files changed, 11 insertions(+), 11 deletions(-)

Toggle diff (79 lines)
diff --git a/Makefile.am b/Makefile.am
index 9ba4ccba7..c3244552f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -635,9 +635,9 @@ release: dist
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 9521181f5..984659282 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -7555,7 +7555,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-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
@@ -7571,8 +7571,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-install-@value{VERSION}.@var{system}.xz.sig
-$ gpg --verify guixsd-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,
@@ -7596,7 +7596,7 @@ To copy the image to a USB stick, follow these steps:
Decompress the image using the @command{xz} command:
@example
-xz -d guixsd-install-@value{VERSION}.@var{system}.xz
+xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz
@end example
@item
@@ -7623,7 +7623,7 @@ GuixSD in a virtual machine (VM).
@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}.xz},
+@indicateurl{ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz},
where @var{system} is one of:
@table @code
@@ -7639,8 +7639,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-install-@value{VERSION}.@var{system}.xz.sig
-$ gpg --verify guixsd-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,
@@ -7664,7 +7664,7 @@ To copy the image to a DVD, follow these steps:
Decompress the image using the @command{xz} command:
@example
-xz -d guixsd-install-@value{VERSION}.@var{system}.xz
+xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz
@end example
@item
Danny Milosavljevic wrote 8 years ago
Re: bug#27967: [PATCH] maint: Create an ISO9660 installation image in the 'release' target.
(name . ng0)(address . ng0@infotropique.org)(address . 27967@debbugs.gnu.org)
20170819124820.2e7e98fc@scratchpost.org
Hi ng0,

On Sat, 19 Aug 2017 09:13:09 +0000
ng0 <ng0@infotropique.org> wrote:

Toggle quote (6 lines)
> Danny Milosavljevic transcribed 0.2K bytes:
> > 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.
>
> I think there's the need to mention .iso extensions of the files,
> pr .iso.xz in case we compress them.

Hmm... what would that improve?

Toggle quote (2 lines)
> This hasn't happened in the commit.

Indeed it hasn't. The file names are the same as in the original. That's mainly because I don't know what other scripts (possibly not in the Guix git repo) use these names and expect them to be as they were.

Also, there are a lot of systems which will never boot from DVD and also don't use Grub but rather boot from some strange fixed-position sector. For those we'd not use grub-mkrescue (and hence no iso but rather a whole-disk image of a hard drive). But then these images' names would be different.

So in the end if we conditionally changed the name I think we'd increase our maintenance burden for no gain (that I can see).

I've submitted a patch adding ".iso" anyway just now - not applied.
?
Your comment

This issue is archived.

To comment on this conversation send an email to 27967@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 27967
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help