nixpkgs/nixos/doc/manual/installation/installing-virtualbox-guest.xml

103 lines
2.7 KiB
XML

<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-instaling-virtualbox-guest">
<title>Installing in a VirtualBox guest</title>
<para>
Installing NixOS into a VirtualBox guest is convenient for users who want to
try NixOS without installing it on bare metal. If you want to use a pre-made
VirtualBox appliance, it is available at
<link
xlink:href="https://nixos.org/nixos/download.html">the downloads
page</link>. If you want to set up a VirtualBox guest manually, follow these
instructions:
</para>
<orderedlist>
<listitem>
<para>
Add a New Machine in VirtualBox with OS Type "Linux / Other Linux"
</para>
</listitem>
<listitem>
<para>
Base Memory Size: 768 MB or higher.
</para>
</listitem>
<listitem>
<para>
New Hard Disk of 8 GB or higher.
</para>
</listitem>
<listitem>
<para>
Mount the CD-ROM with the NixOS ISO (by clicking on CD/DVD-ROM)
</para>
</listitem>
<listitem>
<para>
Click on Settings / System / Processor and enable PAE/NX
</para>
</listitem>
<listitem>
<para>
Click on Settings / System / Acceleration and enable "VT-x/AMD-V"
acceleration
</para>
</listitem>
<listitem>
<para>
Save the settings, start the virtual machine, and continue installation
like normal
</para>
</listitem>
</orderedlist>
<para>
There are a few modifications you should make in configuration.nix. Enable
booting:
</para>
<programlisting>
<xref linkend="opt-boot.loader.grub.device"/> = "/dev/sda";
</programlisting>
<para>
Also remove the fsck that runs at startup. It will always fail to run,
stopping your boot until you press <literal>*</literal>.
</para>
<programlisting>
<xref linkend="opt-boot.initrd.checkJournalingFS"/> = false;
</programlisting>
<para>
Shared folders can be given a name and a path in the host system in the
VirtualBox settings (Machine / Settings / Shared Folders, then click on the
"Add" icon). Add the following to the
<literal>/etc/nixos/configuration.nix</literal> to auto-mount them. If you
do not add <literal>"nofail"</literal>, the system will no boot properly.
The same goes for disabling <literal>rngd</literal> which is normally used
to get randomness but this does not work in virtual machines.
</para>
<programlisting>
{ config, pkgs, ...} :
{
security.rngd.enable = false; // otherwise vm will not boot
...
fileSystems."/virtualboxshare" = {
fsType = "vboxsf";
device = "nameofthesharedfolder";
options = [ "rw" "nofail" ];
};
}
</programlisting>
<para>
The folder will be available directly under the root directory.
</para>
</section>