6c2d12f1fa
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.
109 lines
2.9 KiB
XML
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>
|