Thanks
Actually I recently found that there is some program called 'ipconfig' that tries to re-acquire DHCP in this specific point and for some reason it sends requests that the server ignores. So it waits 60 seconds and fails.
This is the DHCP request sent initially on PXE boot:
Code:
03:32:00.255217 IP (tos 0x0, ttl 20, id 1, offset 0, flags [none], proto UDP (17), length 576)
0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:0c:29:79:86:c1 (oui Unknown), length 548, xid 0x2a7986c1, secs 4, Flags [Broadcast] (0x8000)
Client-Ethernet-Address 00:0c:29:79:86:c1 (oui Unknown) [|bootp]
And this is the answer from server:
Code:
03:32:00.317616 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
yotam-server.local.bootps > 255.255.255.255.bootpc: BOOTP/DHCP, Reply, length 300, xid 0x2a7986c1, secs 4, Flags [Broadcast] (0x8000)
Your-IP 192.168.1.3
Server-IP yotam-server.local
Client-Ethernet-Address 00:0c:29:79:86:c1 (oui Unknown) [|bootp]
Now, this is the request ipconfig sends later that gets no answer:
Code:
03:32:19.957269 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 299)
0.0.0.0.bootpc > 255.255.255.255.bootps: [no cksum] BOOTP/DHCP, Request from 00:0c:29:79:86:c1 (oui Unknown), length 271, xid 0xb4b70b15, secs 1, Flags [none] (0x0000)
Client-Ethernet-Address 00:0c:29:79:86:c1 (oui Unknown) [|bootp]
I managed to partially overcome it by setting a different PXE config file for each client, in which I set:
Code:
APPEND root=/dev/nfs initrd=initrd.img-2.6.32-22-generic nfsroot=192.168.1.115:/nfsroot ip=192.168.1.3:192.168.1.115:192.168.1.1:255.255.255.0:::none rw
(in addition to KERNEL) - this is instead of setting 'ip=dhcp'.
This way clients do not wait for DHCP in this stage and continue to boot normally.
However, I would like to avoid configuring each client separately...