1<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-booting-from-pxe">
2 <title>Booting from the <quote>netboot</quote> media (PXE)</title>
3 <para>
4 Advanced users may wish to install NixOS using an existing PXE or
5 iPXE setup.
6 </para>
7 <para>
8 These instructions assume that you have an existing PXE or iPXE
9 infrastructure and simply want to add the NixOS installer as another
10 option. To build the necessary files from a recent version of
11 nixpkgs, you can run:
12 </para>
13 <programlisting>
14nix-build -A netboot.x86_64-linux nixos/release.nix
15</programlisting>
16 <para>
17 This will create a <literal>result</literal> directory containing: *
18 <literal>bzImage</literal> – the Linux kernel *
19 <literal>initrd</literal> – the initrd file *
20 <literal>netboot.ipxe</literal> – an example ipxe script
21 demonstrating the appropriate kernel command line arguments for this
22 image
23 </para>
24 <para>
25 If you’re using plain PXE, configure your boot loader to use the
26 <literal>bzImage</literal> and <literal>initrd</literal> files and
27 have it provide the same kernel command line arguments found in
28 <literal>netboot.ipxe</literal>.
29 </para>
30 <para>
31 If you’re using iPXE, depending on how your HTTP/FTP/etc. server is
32 configured you may be able to use <literal>netboot.ipxe</literal>
33 unmodified, or you may need to update the paths to the files to
34 match your server’s directory layout.
35 </para>
36 <para>
37 In the future we may begin making these files available as build
38 products from hydra at which point we will update this documentation
39 with instructions on how to obtain them either for placing on a
40 dedicated TFTP server or to boot them directly over the internet.
41 </para>
42</section>