Page 1 of 1

Problems with PXE+NFS

Posted: Fri Jul 25, 2008 7:27 pm
by nyzeta
I'm having problems starting minimyth-0.21.0-56 from PXE.

I'm running gentoo 2008.0 on a Intel 64bit Core 2 Duo (I'm running in 64 bit with 32bit lib support as well)

I've been using PXE boots before, but never seen this kind of problem. I'm I'm new to MinyMyth by the way :)

Scenario:

I have a working DHCP server with a Working BIND deamon. The BIND got a local addr-arpa lookup as well. I'm using iptables firewall and have two network cards on my server. Restrictions are on the WAN interface (eth1) and there are no limitations on the LAN (eth0)

Server is named yggdrasil (in the .erda domain) and its ip is 192.168.0.1

So here is what I'm done:

Configured the dhcp server with dhcpd.conf

Code: Select all

#
# General config
#

ddns-update-style interim;
allow client-updates;
lease-file-name "/var/lib/dhcp/dhcpd.leases";
authoritative;

option domain-name			"erda";
default-lease-time			86400;
max-lease-time				172800;

subnet 192.168.0.0 netmask 255.255.255.0 {
	option routers			192.168.0.1;
	option subnet-mask		255.255.255.0;
	option broadcast-address	192.168.0.255;
	option domain-name-servers	192.168.0.1;
	option ntp-servers		192.168.0.1;
	option netbios-name-servers	192.168.0.1;
	option netbios-node-type	8;
	range	192.168.0.10	192.168.0.110;
}

key "rndckey" {
        algorithm hmac-md5;
        secret "[A PASSWORD]";
}

zone erda. {
        primary 127.0.0.1;
        key rndckey;
}

zone 0.168.192.in-addr.arpa. {
        primary 127.0.0.1;
        key rndckey;
}


#
# Static IPs
#

host Router {
	hardware ethernet 00:1b:63:f5:33:e2;
	fixed-address 192.168.0.2;
}

## Mythboxes

host MediaPC_1 {
	hardware ethernet 00:40:63:de:ea:c8;
	fixed-address 192.168.0.100;
	filename "PXEClient/pxelinux.0";
}
I've also configured the tftp server. (I'm running tftp-hpa)

so /etc/conf.d/in.tftpd

Code: Select all

INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
and last the /etc/exports

Code: Select all

/diskless/NFSroot 192.168.0.0/255.255.255.0(rw,nohide,insecure,no_root_squash,no_subtree_check,sync)
That should be it.

Now over to the structure on my harddrive

/diskless contains the following (all files and folders owned by root)

Code: Select all

+diskless
|	+NFSroot
|	|	+minimyth21056
|	|		+bin
|	|		+dev
|	|		+lib
|	|		+rootfs
|	|		+rootfs-ro
|	|		+rw
|	|		+sbin
|	+PXEClient
|		+conf
|		|	+default
|		|		- minimyth.conf
|		+conf-rw
|		+minimyth21056
|		|	- kernelnfs
|		|	+ themes
|		- pxelinux.0
|		+ pxelinux.cfg
|			| default
That was my structure
Inside here there are two files that I have modified
minimyth.conf and pxelinux.cfg/default

minimyth.conf first of (this is a pre-version. I'm going to update this as soon as I get it minimyth starting)

Code: Select all

MM_MINIMYTH_FETCH_MINIMYTH_SCRIPT='no'
MM_SECURITY_ENABLED='no'
MM_AUDIO_TYPE='analog'
MM_AUDIO_CARD_NUMBER='auto'
MM_AUDIO_DEVICE_NUMBER='auto'
MM_VIDEO_ASPECT_RATIO='16:10'
MM_VIDEO_DEINTERLACER='auto'
MM_VIDEO_MPEG2_DECODER='auto'
MM_VIDEO_RESIZE_ENABLED='yes'

MM_X_OUTPUT_VGA='auto'
MM_X_RESOLUTION='1440x900'
MM_X_REFRESH='auto'

MM_MASTER_SERVER='192.168.0.1'
MM_MASTER_DBUSERNAME='mythtv'
MM_MASTER_DBPASSWORD='mythtv'
MM_MASTER_DBNAME='mythconverg'

MM_PLUGIN_OPTICAL_DISK_ENABLED='yes'
and the boot script (default)

Code: Select all

PROMPT 1
DEFAULT minimythnfs21056
DISPLAY messages
TIMEOUT 5

LABEL minimythnfs21056
	KERNEL minimyth21056/kernelnfs
	APPEND ro root=/dev/nfs ip=dhcp nfsroot=192.168.0.1:/diskless/NFSroot/minimyth21056
I have started the whole thing up. I've checked that nfs is working and I'm able to get the kernel from the tftp server.

I'm getting stuck on the Waiting for directory /minimyth to mount

I've tried APPEND parameters and I've tried minimth.conf parameters.

- I'm not able to connect to the minimyth box by telnet (so I guess it hasen't reached that stage yet)
- Only message on screen (while pressing ctrl+alt+f1) is

Code: Select all

INIT: Version 2.86 booting
INIT: Entering runlevel: 5

This is the log from my server /var/log/messages

Code: Select all

Jul 25 20:20:31 yggdrasil dhcpd: DHCPDISCOVER from 00:40:63:de:ea:c8 via eth0
Jul 25 20:20:31 yggdrasil dhcpd: DHCPOFFER on 192.168.0.100 to 00:40:63:de:ea:c8 via eth0
Jul 25 20:20:33 yggdrasil dhcpd: DHCPREQUEST for 192.168.0.100 (192.168.0.1) from 00:40:63:de:ea:c8 via eth0
Jul 25 20:20:33 yggdrasil dhcpd: DHCPACK on 192.168.0.100 to 00:40:63:de:ea:c8 via eth0
Jul 25 18:20:33 yggdrasil in.tftpd[7663]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.0
Jul 25 18:20:33 yggdrasil in.tftpd[7663]: tftp: client does not accept options
Jul 25 18:20:33 yggdrasil in.tftpd[7664]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.0
Jul 25 18:20:33 yggdrasil in.tftpd[7665]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.cfg/ffffffff-ffff-ffff-ffff-ffffffffffff
Jul 25 18:20:33 yggdrasil in.tftpd[7666]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.cfg/01-00-40-63-de-ea-c8
Jul 25 18:20:33 yggdrasil in.tftpd[7667]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.cfg/C0A80005
Jul 25 18:20:33 yggdrasil in.tftpd[7668]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.cfg/C0A8000
Jul 25 18:20:33 yggdrasil in.tftpd[7669]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.cfg/C0A800
Jul 25 18:20:33 yggdrasil in.tftpd[7670]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.cfg/C0A80
Jul 25 18:20:33 yggdrasil in.tftpd[7671]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.cfg/C0A8
Jul 25 18:20:33 yggdrasil in.tftpd[7672]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.cfg/C0A
Jul 25 18:20:33 yggdrasil in.tftpd[7673]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.cfg/C0
Jul 25 18:20:33 yggdrasil in.tftpd[7674]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.cfg/C
Jul 25 18:20:33 yggdrasil in.tftpd[7675]: RRQ from 192.168.0.100 filename PXEClient/pxelinux.cfg/default
Jul 25 18:20:33 yggdrasil in.tftpd[7676]: RRQ from 192.168.0.100 filename PXEClient/messages
Jul 25 18:20:34 yggdrasil in.tftpd[7677]: RRQ from 192.168.0.100 filename PXEClient/minimyth21056/kernelnfs
Jul 25 20:20:36 yggdrasil dhcpd: DHCPDISCOVER from 00:40:63:de:ea:c8 via eth0
Jul 25 20:20:36 yggdrasil dhcpd: DHCPOFFER on 192.168.0.100 to 00:40:63:de:ea:c8 via eth0
Jul 25 20:20:36 yggdrasil dhcpd: DHCPREQUEST for 192.168.0.100 (192.168.0.1) from 00:40:63:de:ea:c8 via eth0
Jul 25 20:20:36 yggdrasil dhcpd: DHCPACK on 192.168.0.100 to 00:40:63:de:ea:c8 via eth0
Jul 25 20:20:36 yggdrasil mountd[6739]: authenticated mount request from 192.168.0.100:966 for /diskless/NFSroot/minimyth21056 (/diskless/NFSroot)
Jul 25 20:20:41 yggdrasil dhcpd: uid lease 192.168.0.22 for client 00:40:63:de:ea:c8 is duplicate on 192.168.0/24
Jul 25 20:20:41 yggdrasil dhcpd: DHCPDISCOVER from 00:40:63:de:ea:c8 via eth0
Jul 25 20:20:41 yggdrasil dhcpd: DHCPOFFER on 192.168.0.100 to 00:40:63:de:ea:c8 via eth0
Jul 25 20:20:42 yggdrasil dhcpd: uid lease 192.168.0.22 for client 00:40:63:de:ea:c8 is duplicate on 192.168.0/24
Jul 25 20:20:42 yggdrasil dhcpd: DHCPREQUEST for 192.168.0.100 (192.168.0.1) from 00:40:63:de:ea:c8 via eth0
Jul 25 20:20:42 yggdrasil dhcpd: DHCPACK on 192.168.0.100 to 00:40:63:de:ea:c8 via eth0
IP during boot: OK
Getting kernel: OK
authenticated mount: OK
IP again: OK

and here it stalls

Any Ideas folks?

Posted: Fri Jul 25, 2008 8:08 pm
by Pablo
I believe that what you are missing is the next-server parameter in you DHCP server configuration. The next-server parameter sets the BOOTP/DHCP TFTP server address (siaddr).

While may modern PXE clients support "guessing" the TFTP server address when the BOOTP/DHCP response does not contain the siaddr field, it is really the siaddr field that should be used as the TFTP server address. MiniMyth does not try to "guess" the TFTP server address as this could result in unpredictable results were MiniMyth and the PXE client to use different "guessing" algorithms. As a result, when there is no siaddr field MiniMyth decides that there is no TFTP server and assumes that you must be doing a local boot.

Posted: Fri Jul 25, 2008 8:47 pm
by nyzeta
Hi.

Thanks for the quick reply.

It was as you said, the next-server parameter. :)

Thanks a lot

Posted: Fri Jul 25, 2008 9:10 pm
by Pablo
You are welcome. I am glad that it worked.

Posted: Sat Jul 26, 2008 12:11 am
by nyzeta
Just had to give you the feedback that everything seems to be working just fine.

My TVtuner is working atm. Problem is that my cable-company is going all digital til September. Got to get myself a dvb-c card or two and get those running as well :)