nixpkgs/nixos/doc/manual/installation/installing-virtualbox-guest.xml
Pascal Bach 6c2d12f1fa nixos/manual: recommend VMSVGA as graphics adapter
Virtualbox recommends VMSVGA for Linux guests.

It is also currently the only one supporting 3D acceleration
and it works out of the box with NixOS and auto screen resizing.
2020-06-17 18:43:27 +02:00

109 lines
2.9 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>
Click on Settings / Display / Screen and select VMSVGA as Graphics Controller
</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>