Use MS DHCP for both UEFI and BIOS
|
2014-08-31, 17:49
Post: #1
|
|||
|
|||
Use MS DHCP for both UEFI and BIOS
I was wondering if it is possible to use the Windows Server DHCP role to hand out different boot file names for both BIOS and UEFI machines using either vendor or user classes similar to the way it is done for iPXE chainloading?
Is there a guide somewhere? Or is this just not possible and ISC DHCP should be used because of the logic support in dhcpd.conf? |
|||
2014-09-05, 09:49
Post: #2
|
|||
|
|||
RE: Use MS DHCP for both UEFI and BIOS
I've just updated my ISC dhcpd.conf example to also account for UEFI. You should be able to use this as a basis for building a similar config for MS dhcpd. You can find it here: https://gist.github.com/robinsmidsrod/4008017
The magic DHCP option number is 93, as you can see in the linked example. Making a conditional for "filename" that uses the value of option 93 should work for MS DHCP server as well. |
|||
2016-09-14, 09:07
(This post was last modified: 2016-09-14 09:09 by sebus.)
Post: #3
|
|||
|
|||
RE: Use MS DHCP for both UEFI and BIOS
Anybody has concise instructions for MS DHCP?
I have used: https://wiki.fogproject.org/wiki/index.p...-Existence but it does not do what I need (I did build ipxe.efi with my script) I use for BIOS PXE booting: ipxe undionly.kkpxe --> pxelinux.0 (for menu) --> whatever menu gets selected (ipxe.lkrn for wimboot / smsboot\x86\wdsnbp.com -W for SCCM WDS ) but now my EFI based devices instantly boot ONLY to SCCM WDS without any menu being presented Any idea how to get menu presented while doing IPv4 PXE EFI boot? Thanks sebus |
|||
2016-09-21, 02:21
(This post was last modified: 2016-09-21 02:21 by power270.)
Post: #4
|
|||
|
|||
RE: Use MS DHCP for both UEFI and BIOS
I had WDS setup as well with PXELinux, but I moved away from it because I didn’t like WDS and the way it handled EFI. I use Tiny PXE server with iPXE. I have two created one for bios and one for EFI.
MS DHCP Config: Right Click IPv4 1. Define Vendor Classes Display Name: PXEClient (UEFI X64) Description: PXEClient:Arch:00007 ASCII: PXEClient:Arch:00007 Display Name: PXEClient (BIOS) Description: PXEClient:Arch:00000 ASCII: PXEClient:Arch:00000 2. Right Click New Policy under Policy Scope Policy Name: PXEClient (UEFI X64) Description: PXEClient (UEFI X64) Add Condition: Check Append wildcard(*) Click Add Then Ok Add DHCP Options 66 – pxe.domain.ca 67 - boot\ipxe.efi 3. Right Click New Policy under Policy Scope Policy Name: PXEClient (BIOS) Description: PXEClient (BIOS) Add Condition: Check Append wildcard(*) Click Add Then Ok Add DHCP Options 66 – pxe.domain.ca 67 - boot\ipxe.kpxe Built into the iPXE boot loaders: #!ipxe prompt --key 0x197e --timeout 4000 Press F12 for network boot... || goto no_shell dhcp set boot-imageurl http://pxe.domain.ca/boot/background set boot-image gflwallpaper.png console --x 1024 --y 768 console --picture ${boot-imageurl}/${boot-image} --left 180 --right 82 --top 90 colour --basic 7 7 login chain http://${username:uristring}:${p.../menu.ipxe exit :no_shell Exit Chains to menu.ipxe #!ipxe set boot-url http://pxe.domain.ca/boot/background set boot-image gnlwallpaper.png console --x 1024 --y 768 console --picture ${boot-url}/${boot-image} --left 180 --right 82 --top 90 set menu-timeout 10000 isset ${menu-default} || set menu-default ServerDeploymentX86 :menu menu item ServerDeploymentX86 Server Deployment X86 item ServerDeploymentX64 Server Deployment X64 item AcronisTrueImage Acronis TrueImage item CloneZilla CloneZilla item DBAN DBAN item gParted gParted item MemTest MemTest item exit Exit choose --timeout 0 --default ${menu-default} selected || goto cancel set menu-timeout 0 goto ${selected} :ServerDeploymentX86 kernel /boot/x86/wimboot initrd /boot/x86/bootmgr.exe bootmgr.exe initrd /boot/x86/bcd BCD initrd /boot/boot.sdi boot.sdi initrd /boot/x86/boot.wim boot.wim boot || goto failed :ServerDeploymentX64 kernel /boot/x64/wimboot initrd /boot/x64/bootmgr.exe bootmgr.exe initrd /boot/x64/bcd BCD initrd /boot/boot.sdi boot.sdi initrd /boot/x64/boot.wim boot.wim boot || goto failed :AcronisTrueImage initrd /boot/iso/AcronisFree.iso chain /boot/x64/memdisk iso raw boot || goto failed :CloneZilla kernel /boot/iso/ClonezillaLive/live/vmlinuz boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 nosplash noprompt fetch=http://pxe.domain.ca/boot/iso/ClonezillaLive/live/filesystem.squashfs initrd /boot/iso/ClonezillaLive/live/initrd.img boot || goto failed :DBAN initrd /boot/iso/dban-2.2.8_i586.iso chain /boot/x64/memdisk iso raw boot || goto failed :gParted kernel /boot/iso/GPartedLive/live/vmlinuz boot=live config noswap union=aufs noswap noprompt vga=788 fetch=${boot-url}/boot/iso/GPartedLive/live/filesystem.squashfs initrd /boot/iso/GPartedLive/live/initrd.img boot || goto failed :MemTest initrd /boot/iso/memtest.iso chain /boot/x64/memdisk iso raw boot || goto failed :failed exit [/align] |
|||
2017-02-09, 14:58
(This post was last modified: 2017-02-11 16:50 by sebus.)
Post: #5
|
|||
|
|||
RE: Use MS DHCP for both UEFI and BIOS
I do not have "luxury" of removing WDS, as it is vital part of SCCM that is being used for imagining
This one is not working in my environment at the moment: https://2pintsoftware.com/whitepaper-usi...e-booting/ I have also tried PXE Forced Mode as per: https://support.symantec.com/en_US/artic...O7071.html Same difference, no go with UEFI PXE boot (legacy BIOS works fine) Next my try would be Option 43 as per https://www.ibm.com/support/knowledgecen...ttype.html or https://www.ibm.com/support/knowledgecen...ample1.htm or http://techthoughts.info/pxe-booting-wds...p-helpers/ and http://www.syslinux.org/archives/2014-Ja...21481.html sebus |
|||
2017-02-17, 21:43
Post: #6
|
|||
|
|||
RE: Use MS DHCP for both UEFI and BIOS
(2014-09-05 09:49)robinsmidsrod Wrote: I've just updated my ISC dhcpd.conf example to also account for UEFI. You should be able to use this as a basis for building a similar config for MS dhcpd. You can find it here: https://gist.github.com/robinsmidsrod/4008017 How would that be configured? When the PXE (or whatever it’s called with UEFI) client requests a DHCP lease, it provides various details (“options”) about itself, including the “Client System Architecture Type”, (option 93). So it is client that sends this info, what does server return that would need to be configured? |
|||
2017-02-18, 00:13
Post: #7
|
|||
|
|||
RE: Use MS DHCP for both UEFI and BIOS
(2017-02-17 21:43)sebus Wrote: How would that be configured? Client sends option 93 aka option arch in discover and/or request and that means that the dhcp server can make decisions on what to send in the response. So depending on arch sent by the client the server responds with different filenames Code: # Allow both legacy BIOS and EFI architectures There is something similar to these conditionals in MS DHCP as well. Use GitHub Discussions VRAM bin |
|||
2017-02-18, 09:28
(This post was last modified: 2017-02-18 09:28 by sebus.)
Post: #8
|
|||
|
|||
RE: Use MS DHCP for both UEFI and BIOS
(2017-02-18 00:13)NiKiZe Wrote:(2017-02-17 21:43)sebus Wrote: How would that be configured? That is done in Policies, as per already stated - https://2pintsoftware.com/whitepaper-usi...-booting/, I see no option 93 involvement at all on the SERVER SIDE |
|||
2017-02-18, 10:45
Post: #9
|
|||
|
|||
RE: Use MS DHCP for both UEFI and BIOS
(2017-02-18 09:28)sebus Wrote: I see no option 93 involvement at all on the SERVER SIDEoption 93 = arch used on server side, what do you mean with "at all on the SERVER SIDE" from the wp Quote:How does the server know which file to give the client? Is it magic? No, it’s not magic. It’s fairly So the arch option is "only" used on the server side. Use GitHub Discussions VRAM bin |
|||
2017-02-18, 11:22
Post: #10
|
|||
|
|||
RE: Use MS DHCP for both UEFI and BIOS
But the server does NOT return Option 93 to client!
It is client telling server in Discovery what arch it is |
|||
2017-02-18, 11:24
Post: #11
|
|||
|
|||
RE: Use MS DHCP for both UEFI and BIOS
(2017-02-18 11:22)sebus Wrote: But the server does NOT return Option 93 to client! Exactly arch is defined by the client since it is only the client that knows what kind of cpu it is running, the server uses this information to construct special responses for each arch. Use GitHub Discussions VRAM bin |
|||
2017-02-18, 11:45
Post: #12
|
|||
|
|||
RE: Use MS DHCP for both UEFI and BIOS
OK, back to square one then. Still can not boot UEFI PXE client with ONLY DHCP options!
|
|||
2017-02-18, 16:40
(This post was last modified: 2017-02-18 16:40 by sebus.)
Post: #13
|
|||
|
|||
[SOLVED] RE: Use MS DHCP for both UEFI and BIOS
Got it in the end.
For UEFI boot, in Policy had to remove option 60 & ADD option 150 -TFTP Server IP Address as per http://www.cisco.com/c/en/us/support/doc...-dhcp.html Now my UEFI PXE client boots from what I tell it to boot from! |
|||
2017-02-19, 03:16
Post: #14
|
|||
|
|||
RE: [SOLVED] Use MS DHCP for both UEFI and BIOS
(2017-02-18 16:40)sebus Wrote: Got it in the end. Option 60 is only used when you are running DHCP and proxyDHCP on the same server. It should almost never be used. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)