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