[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Enhance USB install
From: |
Vincent Legoll |
Subject: |
[PATCH] Enhance USB install |
Date: |
Wed, 13 Jul 2016 16:24:08 +0200 |
From: Vincent Legoll <address@hidden>
* doc/guix.texi (USB install): add download & verify subsection,
add a section to explain how to boot a VM for guixsd installation
Signed-off-by: Vincent Legoll <address@hidden>
---
doc/guix.texi | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 90 insertions(+), 1 deletion(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 67ece1d..04de780 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -20,6 +20,7 @@ Copyright @copyright{} 2015, 2016 Leo address@hidden
Copyright @copyright{} 2016 Ben address@hidden
Copyright @copyright{} 2016 Chris address@hidden
Copyright @copyright{} 2016 Efraim Flashner
+Copyright @copyright{} 2016 Vincent Legoll
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -179,6 +180,7 @@ System Installation
* Limitations:: What you can expect.
* Hardware Considerations:: Supported hardware.
* USB Stick Installation:: Preparing the installation medium.
+* USB storage Installation in a VM:: Booting a VM with USB install image.
* Preparing for Installation:: Networking, partitioning, etc.
* Proceeding with the Installation:: The real thing.
* Building the Installation Image:: How this comes to be.
@@ -5931,6 +5933,7 @@ available.
* Limitations:: What you can expect.
* Hardware Considerations:: Supported hardware.
* USB Stick Installation:: Preparing the installation medium.
+* USB storage Installation in a VM:: Booting a VM with USB install image.
* Preparing for Installation:: Networking, partitioning, etc.
* Proceeding with the Installation:: The real thing.
* Building the Installation Image:: How this comes to be.
@@ -6030,7 +6033,35 @@ for a 32-bit GNU/Linux system on Intel-compatible CPUs.
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.
+USB stick. It can also be used to install GuixSD in a QEmu virtual
+machine (@pxref{USB storage Installation in a VM}).
+
+To download and verify this image, follow these steps:
+
address@hidden
address@hidden
+Download the image & signature files using the @command{wget} command:
+
address@hidden
+wget ftp://alpha.gnu.org/gnu/guix/address@hidden@var{system}.xz
+wget ftp://alpha.gnu.org/gnu/guix/address@hidden@var{system}.xz.sign
address@hidden example
+
address@hidden
+Get the PGP key using the @command{gpg} command:
+
address@hidden
+gpg --keyserver keys.gnupg.net --recv-keys 3D9AEBB5
address@hidden example
+
address@hidden
+Check download integrity using the @command{gpg} command:
+
address@hidden
+gpg --verify address@hidden@var{system}.xz.sig
address@hidden example
+
address@hidden enumerate
To copy the image to a USB stick, follow these steps:
@@ -6058,6 +6089,64 @@ Once this is done, you should be able to reboot the
system and boot from
the USB stick. The latter usually requires you to get in the BIOS' boot
menu, where you can choose to boot from the USB stick.
address@hidden USB storage Installation in a VM
address@hidden USB storage Installation in a VM
+
+To boot a QEmu virtual machine for installing GuixSD in a disk image, follow
+these steps:
+
address@hidden
address@hidden
+Prepare a disk image file for the GuixSD system using the @command{dd} command:
+
address@hidden
+dd if=/dev/zero of=guixsd-x86_64-raw.img bs=1G count=5
address@hidden example
+
address@hidden
+Or use the QEmu tool to create a qcow2 formatted image file using
+the @command{qemu-img} command:
+
address@hidden
+qemu-img create -f qcow2 guixsd-x86_64-raw.img 5G
address@hidden example
+
+This will create a 5GB file.
+
address@hidden
+Ensure your running kernel has the required CONFIG_BRIDGE option for the
+network to work properly in the virtual machine:
+
address@hidden
+zgrep CONFIG_BRIDGE= /proc/config.gz
+CONFIG_BRIDGE=y
address@hidden example
+
+If it is compiled as a module & loaded, it will also work:
+
address@hidden
+zgrep CONFIG_BRIDGE= /proc/config.gz
+CONFIG_BRIDGE=m
+lsmod | grep ^bridge
+bridge 117542 0
address@hidden example
+
address@hidden
+Boot a virtual machine with the USB installation image
+
address@hidden
+qemu-system-x86_64 -m 1024 -smp 1 -net default -net nic,model=virtio -boot
menu=on \
+ -drive file=guixsd-x86_64-raw.img \
+ -drive address@hidden@var{system}
address@hidden example
+
+In the VM console, quickly press the <F12> key to enter the boot menu. Then
+press the <2> key and the <ENTER> key to validate your selection.
+
address@hidden enumerate
+
+You're now root in the VM, proceed with the installation process.
+
@node Preparing for Installation
@subsection Preparing for Installation
--
1.9.1