Gentoo Archives: gentoo-user

From: Roger Mason <rmason@×××××××.ca>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] diskless booting [solved, I hope]
Date: Mon, 01 Oct 2007 15:41:57
Message-Id: y65bqbic0ty.fsf@minnie.esd.mun.ca
In Reply to: Re: [gentoo-user] diskless booting [solved, I hope] by Dan Farrell
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

Replies

Subject Author
Re: [gentoo-user] diskless booting Dan Farrell <dan@×××××××××.cx>