Talk:Install Arch from network via PXE

From ArchWiki
Latest comment: 20 August 2012 by Fengchao in topic Confirm : instructions are outdated

Netboot ?

I just packaged netbootAUR on AUR, which is a minimal implementation of DHCP + BOOTP for easy PXE boot. Using it instead of dhcpd+tftpd is easier and requires less configuration, so I think it would be interesting to modify the instructions on this page to use it. Delroth 12:40, 9 March 2010 (EST)

Confirm : instructions are outdated

What I wrote as workaround in bash to do the trick ( none solutions on aur, wiki or bbs works as-is with archlinux-2011.08.19-core-i686.iso !) :

#!/bin/bash

broadcast=192.168.0.255
serverip=192.168.0.1
range=192.168.0.201,192.168.0.253
clientmac=00:22:33:44:55:aa:ee

[[ $1 ]] || { echo >&2 "Usage: $0 /path/to/iso"; exit 1; }

trap '\rm -rf /arch /nbd-server.conf' 0 1 2 3 15

archiso-pxe-server -s "$1"
pkill dnsmasq
cd /tmp/archiso-pxe-server/syslinux
cp -a ../nbd-server.conf arch /
netboot $broadcast $serverip $range $clientmac

Quick & dirty, but that works, I can boot my EEEPC 1005HA with PXE (no cdrom)

--Sputnick 19:08, 3 September 2011 (EDT)

I've updated the page a bit so that it reflects the contents of the ISO released in July 2012. Firstly, <ISO>/boot/ is now <ISO>/arch/boot/. Secondly, many of the config files use relative paths "boot/syslinux/whichsys.c32", so rather than moving <tftproot>/boot/syslinux/* to <tftproot>/, we can just start pxelinux.0 in <tftproot>/ and keep everything else in <tftproot>/boot/syslinux/ to get it working without having to edit any config files.
While this page seems to be aimed at configuring the bare essentials of getting the installer to boot, I'm still tempted to change the instructions to put everything in <tftproot>/arch/ instead of straight into <tftproot>/ so that it's self-contained and will sit neatly alongside any other PXE setups that might be added later. Windows PE, for example, is hardcoded to grab /boot/bcd and some stuff from /boot/fonts.
Teaspoon (talk) 07:39, 16 August 2012 (UTC)Reply[reply]
I'm new here, and new to wiki-editing in general (this is the first publicly visible wiki page I've ever edited) so I'm unsure of the etiquette, but I'm pretty sure that RunningDroid's changes are wrong. Both the July and August ISO releases have the boot directory inside /arch so that needs to be in there. As for syslinux.cfg vs archiso.cfg, all syslinux.cfg tries to do is load archiso.cfg from the current directory with a working directory two parents up. That won't work because the current directory is /var/tftpboot, which doesn't have an archiso.cfg file available.
All this said, this particular page is also missing the somewhat crucial detail that the PXE-booted system is going to want access to the /arch directory from the ISO via http, nfs or nbd. That request for merging on this page ain't kidding! Rewriting this whole topic is something I may be able to make a project of over the next few weeks; I expect to be up to my eyeballs in PXE configs at work and will be generating documentation for an internal wiki that could be adapted to fit here.
Teaspoon (talk) 12:42, 18 August 2012 (UTC)Reply[reply]
Add accuracy flag. Feel free to update it. As suggested before, Archiso_as_pxe_server has more updated info and you can check and merge it to this page. -- Fengchao (talk) 02:46, 20 August 2012 (UTC)Reply[reply]

Add Windows PXE Boot Section

I can't add to the guide, but felt that there must be other users in my position who want to netboot using a Windows server. I worked out how to do this:

1) Download TFTPD64 (http://tftpd32.jounin.net/tftpd32_download.html) and install it. 2) Download the Arch Linux ipxe (https://releng.archlinux.org/pxeboot) under 'Boot from the network' (filename ipxe.pxe) to the TFTPD directory in a 'boot' subdirectory (for example, 'C:\Program Files\Tftpd64\boot'). 3) Open a command prompt (cmd) on the Windows machine and run ipconfig /all, leave this window open. 4) Open the program and click the Settings button, click the TFTP tab and click 'PXE Compatibility', change the 'Base Directory' to the TFTP folder (by default, 'C:\Program Files\Tftpd64'). 5) Click the 'DHCP' tab and change the settings: IP pool starting address: Default Gateway +1 (for example, 192.168.1.1 becomes 192.168.1.2) Size of pool: 20 Boot File: boot\ipxe.pxe WINS/DNS Server: Default Gateway Default router: Default Gateway Mask: Subnet Mask Domain Name: Leave Blank Additional Option: Do not change Under 'DHCP Options', untick 'Ping address before assignation' 6) Turn on the machine which you want to PXE boot from and select PXE boot, it should bring up the Arch Linux boot menu.

-- Calumon