Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
soc:2011:pcmattman:notes:start [2011/07/04 04:16]
pcmattman rfc for network boot dhcp6 options
soc:2011:pcmattman:notes:start [2011/08/15 18:34]
pcmattman added information about building from source
Line 28: Line 28:
 ===== Tutorials ===== ===== Tutorials =====
  
-==== Setting up IPv6 on your network ​====+==== Building gPXE with IPv6 Enabled ​====
  
-To work with IPv6 in gPXE on your network, you will need both an IPv6 prefix and a router advertisement daemonDHCPv6 ​support ​is coming soon!+By default, ​IPv6 is disabled ​in gPXE. You must explicitly build IPv6 support ​into gPXE in order to use it.
  
-The best place to get an IPv6 is your ISP, but if your ISP does not offer IPv6, [[http://www.tunnelbroker.net|Hurricane Electric]] offers a fairly stable and easy-to-use tunnelHE also provides configuration commands for wide range of operating systems.+The easiest way to do this is to use ROM-o-matic (http://rom-o-matic.net) with the "​current-top-of-git-tree"​ and make sure NET_PROTO_IPV6 and IPV6_CMD are both ticked before you finish creating your image. However, if you do not want to use ROM-o-matic,​ you can uncomment/​define NET_PROTO_IPV6 and IPV6_CMD in src/​config/​general.h. These should both already exist in the file (in disabled state).
  
-Once your network is IPv6-enabledyou will need a router advertisement daemon ​to advertise ​the prefix you have been assignedThese router ​advertisements allow hosts to autoconfigure themselves where  DHCPv6 server ​is not present.+The following are valid DEBUG entries if you wish to enable debugging:​ 
 +  * ipv6 the IPv6 protocol itself. Use to see errors in traffic coming in and outand to see address assignment and other routing information. 
 +  * ip6mgmt - the IPv6 commandsThis will output extra information during the process of configuring IPv6 at runtime. 
 +  * icmpv6 - ICMPv6. Mostly just errors. 
 +  * ndp - Neighbour Discovery Protocol. A lot of debugging here related to router ​and neighbour discovery. Recommended if you are having trouble enabling IPv6 in your environment. 
 +  * dhcp6 - DHCPv6. Debugging related ​to DHCPv6. Only really worth using if you actually have a DHCPv6 server, and if you are having trouble with it.
  
-Note that currently ​IPv6 in gPXE will not work properly ​on IPv6 networks with DHCPv6 servers.+==== Setting up IPv6 on your network ==== 
 + 
 +To work with IPv6 in gPXE on your network, you will need both an IPv6 prefix and a router advertisement daemon. If you like, you can set up DHCPv6 for your network for address assignment. A router advertisement daemon will still be required for routing, but in the future DHCPv6 will offer boot filenames and other boot-related options. 
 + 
 +The best place to get an IPv6 is your ISP, but if your ISP does not offer IPv6, [[http://​www.tunnelbroker.net|Hurricane Electric]] offers a fairly stable and easy-to-use tunnel. HE also provides configuration commands for a wide range of operating systems. These should be able to be copied and pasted into a terminal ​on your workstation to set up IPv6 connectivity quickly and easily. There are a variety of tutorials on the internet that will cover adding router advertisements and/​or ​DHCPv6 ​to an IPv6 tunnel. 
 + 
 +Booting over IPv6 in gPXE is quite simple: instead of using the '​dhcp'​ command (ala IPv4), you use the '​ipv6'​ command. This obtains an address and sets up routing for IPv6 so that you can use IPv6 servers.
  
 You can use the following script to test gPXE's HTTP boot over IPv6: You can use the following script to test gPXE's HTTP boot over IPv6:
Line 42: Line 53:
 #!gpxe #!gpxe
 ipv6 any ipv6 any
-kernel http://ipv6.theiselins.net/​gpxe/​bz2bzImage root=100 +kernel http://flash6.etherboot.org/​gpxe/​bz2bzImage root=100 
-initrd http://ipv6.theiselins.net/​gpxe/​initrd.bz2+initrd http://flash6.etherboot.org/​gpxe/​initrd.bz2
 boot boot
 </​code>​ </​code>​
 +
 +(note: flash6 may need these image files uploaded - TODO!)
  
 This should boot a Linux kernel. This should boot a Linux kernel.
 +
 +If you don't have a DNS name for an IPv6 host, you can boot from an IPv6 address using the following syntax:
 +<​code>​
 +http://​[2001:​ab:​cd:​ef::​1]:​1234/​file.bin
 +</​code>​
 +
 +Note that [[http://​msdn.microsoft.com/​en-us/​library/​aa921042.aspx|zero compression ("​Compressing Zeroes"​ section)]] can be used for all IPv6 addresses.

QR Code
QR Code soc:2011:pcmattman:notes:start (generated for current page)