danderson / netboot

Packages and utilities for network booting
Apache License 2.0
1.48k stars 179 forks source link

IPv6 PXE support #29

Open danderson opened 7 years ago

danderson commented 7 years ago

UEFI firmwares know how to netboot over IPv6. The process is similar to IPv4, but different. Some braindumped notes at https://github.com/google/netboot/blob/master/pixiecore/README.ipv6.md .

dmitri-d commented 7 years ago

Anyone working on this yet? I can offer some help with coding...

dmitri-d commented 7 years ago

I started on adding dhcpv6 support to netboot. It's very early stages, but I can do an ipv6-only httpboot + ipxe. You can take a look at the progress at https://github.com/witlessbird/netboot/tree/dhcpv6.

mdlayher commented 7 years ago

Just found this repo again and wanted to mention that I did some DHCPv6 experiments once.

https://github.com/mdlayher/dhcp6

Would love to help make this happen. PXE is awesome.

dmitri-d commented 6 years ago

I opened a PR that adds initial support for IPv6: https://github.com/google/netboot/pull/49

andar1an commented 8 months ago

I saw a readme in pixiecore related to pxe boot over IPV6, which lead me to this issue! haha

This is something I am also curious about and will be investigating as well.

I stumbled on pixiecore through my investigation of NixOS for my server host os. I am looking to create a deployment setup similar to what one may see with Canonical's MaaS, Equinix's Tinkerbell or Sidero metal, though IPV6 is a significant part of my plans.

Wondering if this is still something being investigated? Or if you have moved forward with any plans already?

The last comment appears to be from 2017. Have you found an alternate solution that you use?

dmitri-d commented 8 months ago

The last comment appears to be from 2017.

The PR was merged then; I haven't worked with it since, as the project i was doing this work (the Foreman) rejected my approach to bare-metal provisioning over IPv6. There's a video somewhere on youtube with my demo that uses netboot + IPv6.

andar1an commented 8 months ago

This is good information, thank you. I will search for the video, it may be a good learning exercise to try and code something simple to understand the process. The graph image is really helpful for the boot process, just need to understand nuance for v6 now.

The last comment appears to be from 2017.

The PR was merged then; I haven't worked with it since, as the project i was doing this work (the Foreman) rejected my approach to bare-metal provisioning over IPv6. There's a video somewhere on youtube with my demo that uses netboot + IPv6.

dmitri-d commented 8 months ago

I will search for the video

Here you are: https://www.youtube.com/watch?v=6KJne_Hyv5k

danderson commented 8 months ago

Also note from the repo's main readme:

This project is no longer actively developed. I'm glad if you find it useful, but don't expect any significant changes.

andar1an commented 8 months ago

Also note from the repo's main readme:

This project is no longer actively developed. I'm glad if you find it useful, but don't expect any significant changes.

No worries! Thank you for leaving this as a learning tool. It is wonderful. I am looking forward to trying my hand at writing something with Rust.

danderson commented 8 months ago

Have fun! With any luck, the state of UEFI bugs has improved since I wrote pixiecore, and some of the hacks may not be necessary any more. I can always dream...