[ipxe-devel] sanboot nbd

James Harper james at ejbdigital.com.au
Thu Oct 13 09:56:27 UTC 2016


I have the beginnings of an implementation of the nbd protocol (https://github.com/NetworkBlockDevice/nbd) for iPXE. My efforts so far are attached, although note that I have stripped out a bunch of extensions from the above so it probably won't actually compile as-is (The stripped code is not part of the standard nbd protocol, and includes some deep changes like allowing writes to a physical disk).

Writes are not implemented as yet, as my project doesn't require them (writes will be redirected to local storage, but the attached code just completes the writes as though they succeeded)
My eventual goal is to support the following scenarios:

1.       Diskless windows boot with writes stored to local cache

2.       Deploy images of windows machine live (boot and image simultaneously rather than waiting for the image process to complete before the machine can be used)

3.       Restore windows machines from backup live (boot as soon as the restore process has started)

I originally implemented this in my own custom protocol but nbd supports the "sparse" IO calls I need, and a standard nbd implementation might be more useful to others, maybe?

So firstly, is the attached code on the right track? It's fairly minimal, and needs a lot more error checking, but is it architecturally sound? Am I doing the right things with interfaces?

Secondly, is anyone actually interested in an nbd implementation for iPXE? It would boot into DOS or another environment that uses int13h, but obviously would require drivers for any other OS. Linux can already net boot into an nbd root volume without needing nbd support from iPXE, and many of the other interesting use cases for nbd are already possible via iSCSI.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20161013/04a714ee/attachment.htm>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: nbd.c
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20161013/04a714ee/attachment.c>

More information about the ipxe-devel mailing list