[arch-projects] [archweb] [RFC 1/2] releng: Add netboot information to archweb.

Thomas Bächler thomas at archlinux.org
Sat Jun 1 17:02:32 EDT 2013


---
 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



More information about the arch-projects mailing list