--- releng/urls.py | 5 ++ releng/views.py | 4 ++ templates/releng/netboot.html | 125 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+) create mode 100644 templates/releng/netboot.html diff --git a/releng/urls.py b/releng/urls.py index 76c3634..be94404 100644 --- a/releng/urls.py +++ b/releng/urls.py @@ -20,9 +20,14 @@ 'release_torrent', {}, 'releng-release-torrent'), ) +netboot_patterns = patterns('releng.views', + (r'^$', 'netboot_info', {}, 'releng-netboot-info'), +) + urlpatterns = patterns('', (r'^feedback/', include(feedback_patterns)), (r'^releases/', include(releases_patterns)), + (r'^netboot/', include(netboot_patterns)), ) # vim: set ts=4 sw=4 et: diff --git a/releng/views.py b/releng/views.py index b1c76a4..e3a58bb 100644 --- a/releng/views.py +++ b/releng/views.py @@ -238,4 +238,8 @@ def release_torrent(request, version): response['Content-Disposition'] = 'attachment; filename=%s' % filename return response + +def netboot_info(request): + return render(request, "releng/netboot.html", None) + # vim: set ts=4 sw=4 et: diff --git a/templates/releng/netboot.html b/templates/releng/netboot.html new file mode 100644 index 0000000..3242e6f --- /dev/null +++ b/templates/releng/netboot.html @@ -0,0 +1,125 @@ +{% extends "base.html" %} + +{% block title %}Arch Linux - Netboot Live System{% endblock %} + +{% block content %} +<div id="arch-downloads" class="box"> + +<h2>Arch Linux Netboot Live System</h2> + +<p>The Arch Linux netboot environment allows booting Arch Linux live + media directly over the network. It will boot into a menu where you + can choose from a list of available mirrors. The image will be + downloaded into memory. +</p> + +<p><strong>Requirements:</strong> A computer that connects to the internet via LAN and DHCP.</p> + +<p>If your ethernet NIC is not supported by iPXE, you must use your NIC's netboot capabilities. + This is only possible if you select "Boot from network" in the BIOS and + configure your DHCP server to <a href="#undi_pxeimage">load the PXE image provided below</a>. + In this case, the UNDI driver will be used for downloads until Linux is booted. The first + stage of the download can be <strong>extremely</strong> + slow. +</p> + +<h3>Test netboot with qemu</h3> + +<p>Download an iPXE kernel image.</p> +<ul> + <li><a href="ipxe.lkrn">ipxe.lkrn</a> Graphical Menu</li> + <li><a href="ipxe_text.lkrn">ipxe_text.lkrn</a> Text Menu</li> +</ul> +<p>Run qemu with the kernel image:</p> +<pre>qemu -m 1G -kernel ipxe.lkrn</pre> + +<h3><a name="kernelimage">Boot with any Linux bootloader</a></h3> + +<p>Download an iPXE kernel image to <i>/boot</i>.</p> +<ul> + <li><a href="ipxe.lkrn">ipxe.lkrn</a> Graphical Menu</li> + <li><a href="ipxe_text.lkrn">ipxe_text.lkrn</a> Text Menu</li> +</ul> +<p>Add the image to your bootloader configuration:</p> + +<p>GRUB 2:</p> +<pre>menuentry 'Arch Linux Netboot Environment' { + set root='(hd0,1)' + linux16 /ipxe.lkrn +}</pre> + +<p>Syslinux:</p> +<pre>LABEL archnetboot +MENU LABEL Arch Linux Netboot Environment +KERNEL /ipxe.lkrn</pre> + +<p>GRUB Legacy:</p> +<pre>title Arch Linux Netboot Environment +kernel (hd0,0)/ipxe.lkrn</pre> + +<h3>Boot from USB</h3> + +<!-- +<p><strong>This method will overwrite the USB drive. To avoid that, it is recommended that +you install a bootloader and use the <i>.lkrn</i> file as describe above.</strong></p> + +<p>Download an iPXE USB image.</p> +<ul> + <li><a href="ipxe.usb">ipxe.usb</a> Graphical Menu</li> + <li><a href="ipxe_text.usb">ipxe_text.usb</a> Text Menu</li> +</ul> +<p>Write the image to a USB drive:</p> +<pre>dd if=ipxe.usb of=/dev/sdx</pre> +//--> + +<p>Install a bootloader (e.g. GRUB or syslinux) onto the USB drive and use the <i>.lkrn</i> file + <a href="#kernelimage">as described above</a>.</p> + +<h3>Boot from Floppy</h3> + +<p>Download an iPXE floppy image.</p> +<ul> + <li><a href="ipxe.dsk">ipxe.dsk</a> Graphical Menu</li> + <li><a href="ipxe_text.dsk">ipxe_text.dsk</a> Text Menu</li> +</ul> +<p>Write the image to your floppy:</p> +<pre>dd if=ipxe.dsk of=/dev/fd0</pre> + +<h3>Boot from CD</h3> + +<p>Download an iPXE ISO image and write it to a CD.</p> +<ul> + <li><a href="ipxe.iso">ipxe.iso</a> Graphical Menu</li> + <li><a href="ipxe_text.iso">ipxe_text.iso</a> Text Menu</li> +</ul> + +<h3>Boot from the network</h3> + +There are two ways to do this: + +<h4><a name="undi_pxeimage">Using an iPXE image</a></h4> + +<p>Download an iPXE PXE image into your TFTP root.</p> +<ul> + <li><a href="ipxe.pxe">ipxe.pxe</a> Graphical Menu</li> + <li><a href="ipxe_text.pxe">ipxe_text.pxe</a> Text Menu</li> +</ul> + +<p>Set the PXE filename to <i>ipxe.pxe</i> (using the <i>filname</i> option in dhcpd or the <i>-M</i> option in dnsmasq).</p> + +<p>This method is recommended, as it will always work - if iPXE lacks a native NIC driver, the UNDI driver will be used.</p> + +<h4>Flashing your boot ROM</h4> + +<p>You can build a custom iPXE images and flash it to your boot ROM. +You must include one of the following iPXE scripts:</p> + +<ul> + <li><a href="arch.ipxe">arch.ipxe</a> Graphical Menu</li> + <li><a href="arch_text.ipxe">arch_text.ipxe</a> Text Menu</li> +</ul> + +<p><strong>If you do this, your computer will always boot the Arch netboot environment when you netboot your computer.</strong></p> + +</div> +{% endblock %} -- 1.8.3