Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

PXELinux: Soms bestand niet gevonden

Pagina: 1
Acties:

  • SvMp
  • Registratie: September 2000
  • Niet online
Ik heb op mijn fileserver een aantal services ingericht/geconfigureerd om een Ubuntu-installatie via het netwerk te kunnen booten.

Ik gebruik hiervoor PXELinux, versie 6.02, momenteel de meest recente versie. Met behulp van de diensten TFTP, DHCP, NFS en HTTP.

Soms gebeurt het dat na het ophalen van een ip-adres een "File not found" melding verschijnt. Dit gebeurt ongeveer 1 op de 5 keer. Het systeem start vervolgens gewoon vanaf de lokale schijf. Ik heb dit getest met twee laptops, beide hetzelfde probleem.

Via dhcp wordt doorgegeven welk bestand moet worden geladen, in mijn geval "pxelinux.0". Ik vermoed dat soms niet het juiste bestand wordt doorgegeven.

Ik kan niet vinden wat de oorzaak is en dat wil ik graag weten.

Server: Ubuntu 14.04.1 LTS. IP van de server is 192.168.1.3

DHCP-configuatie /etc/dhcp/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
ddns-update-style none;

# option definitions common to all supported networks...
option domain-name "prive";
option domain-name-servers 194.109.6.66, 194.109.9.99;

default-lease-time 600;
max-lease-time 7200;

# 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;

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.60 192.168.1.150;
  option routers 192.168.1.1;
  option broadcast-address 192.168.1.255;
  default-lease-time 600;
  max-lease-time 7200;

  # pxe boot
  filename "lpxelinux.0";
  next-server 192.168.1.3;

}


TFTP /etc/default/tftpd-hpa
code:
1
2
3
4
5
6
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/storage1/pxeboot/tftpboot"
TFTP_ADDRESS="[::]:69"
TFTP_OPTIONS="--secure"


NFS, /etc/exports
code:
1
/storage1/pxeboot/data      192.168.1.0/24(ro,async,no_root_squash,no_subtree_check)


PXE pxelinux.cfg/default
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
default menu.c32
prompt 0

MENU TITLE PXE menu svdmeer.net
MENU INCLUDE pxelinux.cfg/graphics.conf

LABEL bootlocal
  MENU LABEL Opstarten vanaf lokale schijf
  LOCALBOOT 0

LABEL Memtest86+
  MENU LABEL Memtest86+ 5.01
  KERNEL memtest86+/memtest86+-5.01

MENU SEPARATOR

LABEL -
  MENU LABEL Linux bootable cd's
  MENU DISABLE

LABEL Ubuntu1
  MENU LABEL Ubuntu 14.04.1 desktop (64-bit) - Installatie
  MENU INDENT 1
  KERNEL ubuntu-14.04.1-desktop-amd64/vmlinuz.efi

#  APPEND boot=casper netboot=nfs nfsroot=192.168.1.3:/storage1/pxeboot/data/ubuntu-14.04.1-desktop-amd64 initrd=ubuntu-14.04.1-desktop-amd64/initrd.lz
  APPEND boot=casper only-ubiquity netboot=nfs nfsroot=192.168.1.3:/storage1/pxeboot/data/ubuntu-14.04.1-desktop-amd64 initrd=ubuntu-14.04.1-desktop-amd64/initrd.lz splash --

LABEL Ubuntu2
  MENU LABEL Ubuntu 14.04.1 desktop (64-bit) - Live cd
  MENU INDENT 1
  KERNEL http://192.168.1.3/ubuntu-14.04.1-desktop-amd64/casper/vmlinuz.efi
#  APPEND boot=casper netboot=nfs nfsroot=192.168.1.3:/storage1/pxeboot/data/ubuntu-14.04.1-desktop-amd64 initrd=ubuntu-14.04.1-desktop-amd64/initrd.lz
  APPEND boot=casper netboot=nfs nfsroot=192.168.1.3:/storage1/pxeboot/data/ubuntu-14.04.1-desktop-amd64 initrd=http://192.168.1.3/ubuntu-14.04.1-desktop-amd64/casper/initrd.lz splash --



LABEL Ubuntu3
  MENU LABEL Ubuntu 14.04.1 server (32-bit)
  KERNEL ubuntu-14.04.1-server-i386/linux
  APPEND vga=788 initrd=ubuntu-14.04.1-server-i386/initrd.gz -- quiet


Alle opties functioneren goed.

Ik vermoed dat het aan de dhcp-server ligt, maar ik kan mij niet bedenken wat anders moet. Het vervelende is dat dit probleem soms optreedt.

In plaats van pxelinux.0 ben ik lpxelinux.0 gaan gebruiken om de kernel en initrd via http te downloaden. Met de tweede optie uit het menu heb ik dat getest. Het werkt meestal, maart soms niet. Als het niet werkt krijg ik de melding dat het bestand niet is gevonden. In de manual van PXELinux heb ik gelezen dat je die melding krijgt als je via http probeert bestanden te openen terwijl dit niet wordt ondersteund (als je pxelinux gebruikt). Ik vermoed dan ook dat soms pxelinux.0 wordt gebruikt in plaats van lpxelinux.0. Ik heb pxelinux.0 verwijderd. Het probleem verdween: Soms wil het menu niet starten, het eerdere probleem. Maar omdat het probleem soms en onvoorspelbaar optreedt kan ik niet met zekerheid concluderen dat de optie via http soms niet functioneert doordat pxelinux.0 soms wordt gebruikt ipv. lpxelinux.0.

In de logs vind ik niets bijzonders terug.

Ik heb het bestand met leases al eens verwijderd, dat hielp niets.
Wat kan ik nog meer doen?

  • Thralas
  • Registratie: December 2002
  • Laatst online: 23:39
Met Wireshark/tcpdump uitzoeken wat er precies misgaat.

  • LiquidSmoke
  • Registratie: Maart 2001
  • Laatst online: 30-11 09:11
Simpele work around, ipxelinux.0 kopieren naar pxelinux.0?

volgens mij zit bij sommige pxe roms de bestandsnaam ingebakken of zo, ik heb wel eens realtek kaartjes gehad die steevast om 'pxelinux.0ÿ' vragen.

cp pxelinux.0 pxelinux.0ÿ was de quick fix.