* UPDATE Virtualbox guide
[ecelis-guix:hackathon.git] / INSTALL.VirtualBox
1 Guix 0.7 VirtualBox install guide
2 =================================
3
4     Copyright (c)  2014  Ernesto Angel Celis de la Fuente
5     Permission is granted to copy, distribute and/or modify this document
6     under the terms of the GNU Free Documentation License, Version 1.3
7     or any later version published by the Free Software Foundation;
8     with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
9     A copy of the license is included in the section entitled "GNU
10     Free Documentation License".
11
12
13 Intro
14 -----
15
16 This document is not a replacement for the Guix manual, you still should
17 read the [System installation](http://www.gnu.org/software/guix/manual/html_node/System-Installation.html#System-Installation) guide at least.
18
19 Install
20 -------
21
22 Create a new virtual machine featuring the following:
23
24   * Type Linux Version Linux 2.6/3.x (64 bit)
25   * 512MB RAM (or more)
26   * 8GB hard drive device, it will be the target for the system install
27   * After booting into the installer, crete two partitions one for /
28   and one for swap
29
30   1. Convert the USB raw image to vmdk
31
32     qemu-img convert -O vmdk gnu-usb-install-0.7.system \
33       gnu-install-0.7.system.vmdk
34
35 NOTE: Replace **system** in the above command for **x86_64-linux** or
36 **i686-linux** to suit your hardware architecture.
37
38   2. Attach the resulting vmdk to the first IDE channel in the virtual
39      machine
40
41   3. Boot the virtual machine
42
43     dhclient eth0
44     fdisk /dev/sdb
45     mkfs.ext4 /dev/sdb1
46     e2label /dev/sdb1 root
47     mkswap /dev/sdb2
48     swapon /dev/sdb2
49     mkdir ~/.config
50     mount /dev/sdb1 /mnt
51     mkdir /mnt/etc
52     head -n 18 /etc/configuration-template.scm > /mnt/etc/config.scm
53     echo ')' >> /mnt/etc/config.scm
54     sed -i 's/sdX/sdb/g' /mnt/etc/config.scm
55     export GUIX_VERSION=`find /gnu/store -type d -name \
56         "*guix-$(guix --version | cut -d " " -f 4 | head -n 1)*" | cut -d '/' -f  4`
57     guix archive --authorize < /gnu/store/$GUIX_VERSION/share/guix/hydra.gnu.org.pub
58     guix pull
59     guix package -i guix
60     deco start cow-store /mnt
61     guix system init /mnt/etc/config.scm /mnt
62
63   4. Halt the system and remove the instller image from the virtual
64      machine
65
66   5. Boot into your new GNU Guix system