Toon posts:

[Gentoo]Diskless Nodes

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wat wil ik?
Ik wil een diskless-node maken. Een pc dus die volledig van het netwerk af werkt.

Wat heb ik tot nu toe gedaan?
Ik heb Gentoo's Guide hiervoor gevolgd (http://www.gentoo.org/doc/en/diskless-howto.xml)
De DHCP, TFTP, en NFS-server draaien. Ik heb alles precies zo gedaan zoals in de guide beschreven staat.

Op ip-adressen na is mijn dhcpd.conf hetzelfde als in de guide, echter in.tftpd (in /etc/conf.d) is ietwat afwijkend:
code:
1
INTFTPD_OPTS="-l -v -s ${INTFTPD_PATH} -r blksize
. Dit omdat mijn NIC (http://www.cti-texas.com/cti-texas/noname5.html) anders niet correct communiceert met TFTPD. Ik vond in de output van tcpdump telkens "33 RRQ "/pxelinux.0" octet blksiz"

De 'workaround' hiervoor stond op http://syslinux.zytor.com/hardware.php#network bij "PXE stacks based on Intel's 0.99 series code".

Wat is het probleem?
Hij blijft niet meer hangen op hetzelfde punt, maar bij het volgende punt. Bij de melding "Transferring control to bootstrap" blijft hij staan, en gebeurt er niets meer.
De tcpdump (tcpdump host 10.0.0.155 and 10.0.0.150) output op de server is als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
18:14:57.503862 IP (tos 0x10, ttl  16, id 0, offset 0, flags [none], length: 328) ward0.bootps > 10.0.0.155.bootpc: BOOTP/DHCP, Reply, length: 300, xid:0xc7c58e30, flags: [none]
          Your IP: 10.0.0.155
          Server IP: ward0 [|bootp]
18:14:57.512728 IP (tos 0x10, ttl  16, id 0, offset 0, flags [none], length: 328) ward0.bootps > 10.0.0.155.bootpc: BOOTP/DHCP, Reply, length: 300, xid:0xc7c58e30, flags: [none]
          Your IP: 10.0.0.155
          Server IP: ward0 [|bootp]
18:14:57.513246 arp who-has ward0 tell 10.0.0.155
18:14:57.513312 arp reply ward0 is-at 00:50:da:29:9d:cb
18:14:57.513400 IP (tos 0x0, ttl  20, id 2, offset 0, flags [none], length: 61) 10.0.0.155.2070 > ward0.tftp:  33 RRQ "/pxelinux.0" octet blksiz
18:14:57.514222 IP (tos 0x0, ttl  64, id 33426, offset 0, flags [none], length: 32) ward0.32952 > 10.0.0.155.2070: [bad udp cksum 854c!] UDP, length: 4
18:14:57.514339 IP (tos 0x0, ttl  20, id 3, offset 0, flags [none], length: 32) 10.0.0.155.2070 > ward0.32952: [udp sum ok] UDP, length: 4
18:15:02.513320 arp who-has 10.0.0.155 tell ward0
18:15:03.513167 arp who-has 10.0.0.155 tell ward0
18:15:04.513016 arp who-has 10.0.0.155 tell ward0

Daarna is er geen netwerk-activiteit meer. De enige google-hit op de melding "transferring control to bootstrap" is http://smartdata.usbid.com/datasheets/usbid/readme.pdf. Daarin staat enkel dat de melding 'geschrapt' is omdat die niet te internationaliseren was. Weet iemand wat dat nu is geworden? Of liever nog; een oplossing voor mijn probleem? Ik denk dat de DHCP correct werkt, anders zou hij geen ip krijgen en TFTP kunnen benaderen, lijkt me? Anders post ik nog wel even mijn dhcpd.conf

Alvast bedankt voor de reacties

edit:
10.0.0.155 is het client-ip en 10.0.0.150 de server

edit:
Ik zoek ondertussen naar een andere NIC met PXE-mogelijkheden

[ Voor 12% gewijzigd door Verwijderd op 23-10-2005 21:27 ]


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 10:34
Als die NIC idd op Intel 0.99k of eerder is gebaseerd (0.99l werkt wel, heb hier 2 machines met zo'n PXE ROM :P), dan moet je pmtu-discovery uitzetten op je tftp server: dit doe je als volgt:
code:
1
echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc


Als het goed is zal dat ding dan wel gewoon starten. Betere oplossing is natuurlijk een echte netwerkkaart die wel fatsoenlijk kan booten, zoals een 3COM 3C905C waar ik hier het halve netwerk op had draaien totdat ik machines met onboard intel NICs met 0.99l PXE firmware kreeg.

Verwijderd

Topicstarter
Dat had ik al gedaan, dat stond ook op die pagina waar ik naar linkte. Helaas veranderd dat niets.

Ik heb hier wel een 3C905TX maar als ik het goed heb kunnen alleen bepaalde versies (ben de letters even vergeten) met PXE omgaan? Hij heeft er nl. al ingezeten, maar ook als ik het MAC-adres heb ingevoerd boot hij niet van het netwerk.

[ Voor 8% gewijzigd door Verwijderd op 23-10-2005 21:39 ]


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 10:34
Er zijn 3 versies van de 3C905: de 3C905-TX en 3C905B-TX, die hebben beide een socket waar een chip in moet, deze chip is wel of niet aanwezig en bevat niet altijd PXE firmware, vaak zit er gewoon novell boot rotzooi in, waar je niets aan hebt met linux.

Verder heb je nog de 3C905C-TX(M), waarbij een klein bijna-vierkant chipje gesoldeerd is. Dit chipje bevat een Intel PXE 4.0 bootrom en is op veel netwerkkaarten uitgeschakeld. Je kunt de bootrom weer inschakelen met het DOS tooltje wat je van de 3COM site kunt downloaden.

Verwijderd

Topicstarter
Ik zal dat eens proberen :)

Helaas, mijn 3C905-TX heeft geen Bootrom....morgen maar ff goed zoeken dan.

[ Voor 60% gewijzigd door Verwijderd op 23-10-2005 23:43 ]


Verwijderd

Topicstarter
Mijn laptop, een Toshiba Satellite 4600PRO, heeft een Intel PRO/100 VE netwerkkaart. Deze heeft een Intel Boot Agent, maar gek genoeg krijg hij geen ip. Ook als ik het MAC-adres in het juiste heb veranderd in mijn dhcpd.conf.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# dhcpd.conf
ddns-update-style none;
option space PXE;
option PXE.mtftp-ip               code 1 = ip-address;
option PXE.mtftp-cport            code 2 = unsigned integer 16;
option PXE.mtftp-sport            code 3 = unsigned integer 16;
option PXE.mtftp-tmout            code 4 = unsigned integer 8;
option PXE.mtftp-delay            code 5 = unsigned integer 8;
option PXE.discovery-control      code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr   code 7 = ip-address;

default-lease-time 600;
max-lease-time 7200;
deny unknown-clients;

subnet 10.0.0.0 netmask 255.255.255.0 {
}


  class "pxeclients" {
    match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
    option vendor-class-identifier "PXEClient";
    vendor-option-space PXE;
 
    # At least one of the vendor-specific PXE options must be set in
    # order for the client boot ROMs to realize that we are a PXE-compliant
    # server.  We set the MCAST IP address to 0.0.0.0 to tell the boot ROM
    # that we can't provide multicast TFTP (address 0.0.0.0 means no
    # address).
 
    option PXE.mtftp-ip 0.0.0.0;
 
    # This is the name of the file the boot ROMs should download.
    filename "pxelinux.0";
    # This is the name of the server they should get it from.
    # Use the master's IP
    next-server 10.0.0.150;
  }

 #If you are using etherboot with a non specific image
    class "etherboot" {
        if substring (option vendor-class-identifier, 0, 9) = "Etherboot" {
        filename "/diskless/vmlinuz";
        }
  }

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

# No service will be given on this subnet, but declaring it helps the 
# DHCP server to understand the network topology.


host slave {
    hardware ethernet       00:00:39:51:AA:32;
    fixed-address           10.0.0.155;
    server-name         "ward0";
#   option routers          10.0.0.138;
#   option domain-name-servers  10.0.0.138;
    option host-name        "slave";
    option root-path        "/diskless/10.0.0.155";
    if substring (option vendor-class-identifier, 0, 9) = "Etherboot" {
                            filename "/vmlinuz_arch";
        } else if substring (option vendor-class-identifier, 0,9) ="PXEClient" {
                        filename "/pxelinux.0";
        }
}


Hij blijft telkens maar bij DHCP 'hangen'. Misschien toch een stomme fout in mijn config?

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 09-02 01:57
Verwijderd schreef op maandag 24 oktober 2005 @ 21:00:
Mijn laptop, een Toshiba Satellite 4600PRO, heeft een Intel PRO/100 VE netwerkkaart. Deze heeft een Intel Boot Agent, maar gek genoeg krijg hij geen ip. Ook als ik het MAC-adres in het juiste heb veranderd in mijn dhcpd.conf.

code:
1
(...)


Hij blijft telkens maar bij DHCP 'hangen'. Misschien toch een stomme fout in mijn config?
Krijg je wel entries in je syslog of kan die bak de DHCP server helemaal niet bereiken?

Trouwens, mijn dhcpd.conf is wel een stuk simpeler (alleen voor PXE):
code:
1
2
3
4
5
6
host mp3bak {
        hardware ethernet xx:xx:xx:xx:xx:xx;
        fixed-address 192.168.0.50;
        filename "pxelinux.0";
        next-server 192.168.0.2;
}
En voor de rest was er niets nodig qua configuratie voor diskless boots.

[ Voor 3% gewijzigd door Jaap-Jan op 24-10-2005 23:11 ]

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


Verwijderd

Topicstarter
Japie_17 schreef op maandag 24 oktober 2005 @ 21:42:
[...]

Krijg je wel entries in je syslog of kan die bak de DHCP server helemaal niet bereiken?
Ja, ik krijg ze wel in mijn syslog:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Oct 24 22:00:33 localhost dhcpd: DHCPDISCOVER from 00:00:39:51:aa:32 via eth0
Oct 24 22:00:33 localhost dhcpd: DHCPOFFER on 10.0.0.155 to 00:00:39:51:aa:32 via eth0
Oct 24 22:00:33 localhost dhcpd: DHCPREQUEST for 10.0.0.155 (10.0.0.150) from 00:00:39:51:aa:32 via eth0
Oct 24 22:00:33 localhost dhcpd: DHCPACK on 10.0.0.155 to 00:00:39:51:aa:32 via eth0
Oct 24 22:00:37 localhost dhcpd: DHCPREQUEST for 10.0.0.155 from 00:00:39:51:aa:32 via eth0
Oct 24 22:00:37 localhost dhcpd: DHCPACK on 10.0.0.155 to 00:00:39:51:aa:32 via eth0
Oct 24 22:03:22 localhost dhcpd: DHCPDISCOVER from 00:00:39:51:aa:32 via eth0
Oct 24 22:03:22 localhost dhcpd: DHCPOFFER on 10.0.0.155 to 00:00:39:51:aa:32 via eth0
Oct 24 22:03:22 localhost dhcpd: DHCPDISCOVER from 00:00:39:51:aa:32 via eth0
Oct 24 22:03:22 localhost dhcpd: DHCPOFFER on 10.0.0.155 to 00:00:39:51:aa:32 via eth0
Oct 24 22:03:22 localhost dhcpd: DHCPREQUEST for 10.0.0.155 (10.0.0.150) from 00:00:39:51:aa:32 via eth0
Oct 24 22:03:22 localhost dhcpd: DHCPACK on 10.0.0.155 to 00:00:39:51:aa:32 via eth0
Oct 24 22:12:57 localhost dhcpd: DHCPDISCOVER from 00:00:39:51:aa:32 via eth0
Oct 24 22:12:57 localhost dhcpd: DHCPOFFER on 10.0.0.155 to 00:00:39:51:aa:32 via eth0
Oct 24 22:12:57 localhost dhcpd: DHCPDISCOVER from 00:00:39:51:aa:32 via eth0
Oct 24 22:12:57 localhost dhcpd: DHCPOFFER on 10.0.0.155 to 00:00:39:51:aa:32 via eth0
Oct 24 22:12:57 localhost dhcpd: DHCPREQUEST for 10.0.0.155 (10.0.0.150) from 00:00:39:51:aa:32 via eth0
Oct 24 22:12:57 localhost dhcpd: DHCPACK on 10.0.0.155 to 00:00:39:51:aa:32 via eth0
Trouwens, mijn dhcpd.conf is wel een stuk simpeler (alleen voor PXE):
code:
1
2
3
4
5
6
host mp3bak {
        hardware ethernet xx:xx:xx:xx:xx:xx;
        fixed-address 192.168.0.50;
        filename "pxelinux.0";
        next-server 192.168.0.2;
}
En voor de rest was er niets nodig qua configuratie van dhcp.
Dan zie ik dat de mijne omslachtig groot is, ik heb nl. al een gewone dhcp-server op mijn netwerk. Daar ik die graag werkende wil houden had ik besloten daar niet aan te gaan rommelen.

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 10:34
Ah, een tweede DHCP server op je netwerk... Je weet dat dat vaker fout gaat dan goed gaat? Het kan best zijn dat die andere DHCP server net iets eerder is met antwoorden en dan zit je PXE client zonder instellingen.

  • daft_dutch
  • Registratie: December 2003
  • Laatst online: 02-12-2025

daft_dutch

>.< >.< >.< >.<

gewoon een andere dhcp poort gebruiken

alles kan je downloaden vanaf www.ltsp.org

>.< >.< >.< >.<


Verwijderd

Topicstarter
Ja, maar bij de 1e DHCP mogen die MAC-adressen geen ip krijgen. Anders zou hij toch wel de eerste DHCP dan moeten vinden, alleen dan geen DHCP-server? Bij de niet-laptop krijgt hij het juiste ip én maakt hij verbinding met TFTPD.
Pagina: 1