1 |
Hello Dan, |
2 |
|
3 |
Dan Farrell <dan@×××××××××.cx> writes: |
4 |
|
5 |
> I was going to suggest you avoid pxegrub, but I guess you figured that |
6 |
> out for yourself. |
7 |
> |
8 |
>> |
9 |
>> I'm almost certain to get stuck so I'll |
10 |
>> probably be back asking again. |
11 |
> |
12 |
> Let me know. |
13 |
|
14 |
Well, I had it working on Friday but over the weeekend I tinkered some |
15 |
more with pixegrub and broke it again. Now pxelinux won't work |
16 |
either. |
17 |
|
18 |
I have the following dhcpd.conf on the host (192.168.0.2): |
19 |
|
20 |
+dhcpd.conf++++++++++++++++++++++++++++++++++++++++++++ |
21 |
ddns-update-style none ; |
22 |
|
23 |
next-server 192.168.0.2; |
24 |
|
25 |
option domain-name-servers 192.168.0.2; |
26 |
option routers 192.168.0.2; |
27 |
|
28 |
option space PXE; |
29 |
option PXE.mtftp-ip code 1 = ip-address; |
30 |
option PXE.mtftp-cport code 2 = unsigned integer 16; |
31 |
option PXE.mtftp-sport code 3 = unsigned integer 16; |
32 |
option PXE.mtftp-tmout code 4 = unsigned integer 8; |
33 |
option PXE.mtftp-delay code 5 = unsigned integer 8; |
34 |
option PXE.discovery-control code 6 = unsigned integer 8; |
35 |
option PXE.discovery-mcast-addr code 7 = ip-address; |
36 |
|
37 |
# Declare the subnet where our diskless nodes will live |
38 |
subnet 192.168.0.0 netmask 255.255.255.0 { |
39 |
# Provide PXE clients with appropriate information |
40 |
class "pxeclient" { |
41 |
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; |
42 |
vendor-option-space PXE; |
43 |
|
44 |
# At least one of the vendor-specific PXE options must be set in |
45 |
# order for the client boot ROMs to realize that we are a PXE-compliant |
46 |
# server. We set the MCAST IP address to 0.0.0.0 to tell the boot ROM |
47 |
# that we can't provide multicast TFTP. |
48 |
|
49 |
option PXE.mtftp-ip 0.0.0.0; |
50 |
|
51 |
} |
52 |
|
53 |
host cctp { |
54 |
|
55 |
hardware ethernet 00:01:03:ce:52:a8; |
56 |
fixed-address 192.168.0.3; |
57 |
# option option-150 "/calcite/boot/grub.lst"; |
58 |
filename "pxelinux.0"; |
59 |
} |
60 |
|
61 |
} |
62 |
|
63 |
allow bootp; |
64 |
allow booting; |
65 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
66 |
|
67 |
I have the following in.tftp on the host (192.168.0.2): |
68 |
|
69 |
+in.tftpd++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
70 |
|
71 |
# /etc/init.d/in.tftpd |
72 |
|
73 |
INTFTPD_PATH="/diskless" |
74 |
INTFTPD_USER="nobody" |
75 |
|
76 |
INTFTPD_OPTS="-v -s ${INTFTPD_PATH}" |
77 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
78 |
|
79 |
I have bzImage, pxelinux.0 and pxelinux.cfg/ in /diskless on the |
80 |
host. pxelinux.cfg/ contains a default file with these contents: |
81 |
|
82 |
+pxelinux.cfg/default+++++++++++++++++++++++++++++++++++++++++++++++++ |
83 |
|
84 |
DEFAULT /bzImage |
85 |
APPEND ip=dhcp root=/dev/nfs nfsroot=192.168.0.2:/diskless/calcite |
86 |
|
87 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
88 |
|
89 |
When I try to boot the client, tcpdump -i eth1 prints the following |
90 |
dialogue: |
91 |
|
92 |
tcpdump -i eth1 |
93 |
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode |
94 |
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes |
95 |
11:50:39.930039 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:01:03:ce:52:a8 (oui Unknown), length 548 |
96 |
11:50:39.930886 IP lowalbite.private.bootps > 255.255.255.255.bootpc: BOOTP/DHCP, Reply, length 300 |
97 |
11:50:42.072242 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:01:03:ce:52:a8 (oui Unknown), length 548 |
98 |
11:50:42.073040 IP lowalbite.private.bootps > 255.255.255.255.bootpc: BOOTP/DHCP, Reply, length 300 |
99 |
11:50:42.077032 arp who-has lowalbite.private tell calcite.private |
100 |
11:50:42.077088 arp reply lowalbite.private is-at 00:04:75:77:98:4f (oui Unknown) |
101 |
11:50:42.077165 IP calcite.private.2070 > lowalbite.private.tftp: 27 RRQ "pxelinux.0" octet tsize 0 |
102 |
11:50:42.080043 IP lowalbite.private.32771 > calcite.private.2070: UDP, length 36 |
103 |
11:50:42.081409 IP calcite.private.2071 > lowalbite.private.tftp: 32 RRQ "pxelinux.0" octet blksize 1456 |
104 |
11:50:42.084147 IP lowalbite.private.32771 > calcite.private.2071: UDP, length 36 |
105 |
11:50:47.077314 arp who-has calcite.private tell lowalbite.private |
106 |
11:50:48.077397 arp who-has calcite.private tell lowalbite.private |
107 |
11:50:49.077484 arp who-has calcite.private tell lowalbite.private |
108 |
|
109 |
If I connect a terminal to the client I see: |
110 |
|
111 |
"Non-system disk or disk error replace and strike any key when ready" |
112 |
|
113 |
|
114 |
> By the way, if you're looking for performance enhancements to your |
115 |
> diskless hosts, let me know. I have found some, and am also always |
116 |
> looking for more. |
117 |
|
118 |
Right now I'd be happy to have it working, no matter how slowly. |
119 |
|
120 |
One think I have found by searching the internet is that pxegrub has |
121 |
history of poor interaction with 3Com cards, which is what I'm using. |
122 |
|
123 |
Thanks for any help you can offer. |
124 |
|
125 |
Roger |
126 |
|
127 |
-- |
128 |
gentoo-user@g.o mailing list |