I'm reorganizing my home network, which now includes a NAS box, that, among other things, allows me to export partitions via iSCSI. Now I'd like to get rid of the harddisk in my Windows machine, as it makes quite an amount of noise and provides no redundancy, so I'd like to boot from the network and have my system installation on iSCSI.
As the NAS box runs Linux and this is just enough of a personal itch to scratch, I'm willing to code my way around some problems. I understand the Windows boot sequence is very much like Linux's in that a kernel and an initial set of drivers is loaded as blobs by the bootloader, then the kernel is invoked, which then initializes and loads the drivers from the image left by the bootloader, however the devil is in the details in this case.
My approach would be to provide an iSCSI initiator as an EFI Boot Service, which should allow the loader to retrieve the kernel and drivers, however I see issues with the initial installation (network drivers are loaded after SCSI drivers in the installer), and whether network drivers can be part of the dependency chain for Boot drivers.
Is it possible to load network drivers that early in the boot process, and if yes, can I somehow influence the preparation of the Boot driver collection image so that they are included? Can I get around the installer limitation?