XBMC Community Forum
[LINUX] HOW-TO create a XBMC server for diskless PXE network booting clients - Printable Version

+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Announcements, Info, and General Discussion (/forumdisplay.php?fid=85)
+--- Forum: Tips, tricks, and step by step guides (/forumdisplay.php?fid=110)
+--- Thread: [LINUX] HOW-TO create a XBMC server for diskless PXE network booting clients (/showthread.php?tid=83840)

Pages: 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


- JohnPollaert - 2011-01-04 22:06

Just before the Unable to locate configuration file message, I got a message with TFTP prefix: /xbmc-netboot/
So I think that wouln't the problem. But to be sure i've added the path to the file. But still the same message. No

I also found the folloing in daemon.log:
Code:
Jan  4 20:23:49 john-MS-7596 in.tftpd[2247]: tftp: client does not accept options
Jan  4 20:27:14 john-MS-7596 in.tftpd[2266]: tftp: client does not accept options
Jan  4 20:29:03 john-MS-7596 in.tftpd[2282]: tftp: client does not accept options
Jan  4 20:35:05 john-MS-7596 in.tftpd[2390]: tftp: client does not accept options
Jan  4 20:40:26 john-MS-7596 in.tftpd[2419]: tftp: client does not accept options
Jan  4 20:45:47 john-MS-7596 in.tftpd[2476]: tftp: client does not accept options
Jan  4 20:51:09 john-MS-7596 in.tftpd[2550]: tftp: client does not accept options
Jan  4 20:57:51 john-MS-7596 in.tftpd[2630]: tftp: client does not accept options
Jan  4 21:03:12 john-MS-7596 in.tftpd[2651]: tftp: client does not accept options



- opdenkamp - 2011-01-04 22:47

can you access the file from another machine using a tftp client supplying the same path as your diskless installation does (or should do)?


- RavenDK - 2011-01-04 23:04

Hey,
Thanks for this really nice thing, but I'm having trouble getting it to run on a HTPC with a ATI graphicscard (onboard HD3200).
I could see in the Xorg.0.log, that it didn't find ATI, VESA and a third module, can't remember the name of it. I discovered by googleling around that I can fix this by installing the fglrx package.
Finally XBMC started fine, but only the first time. The second time I got an OpenGL error (XBMC needs hardware accelerated OpenGL rendering. Install a appropriate graphics driver). By trial and error I discovered that, if I remove the folder in the overlay directory for the specific HTPC I could start it again, but again only the first time. So apparently some settings are stored there, which is causing the error, but I can't find out what.

I get this error when I start the XBMC for the second time in the Xorg.0.log:
Code:
xbmc@xbmc-diskless:~$ cat /var/log/Xorg.0.log |grep EE
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(II) Loading extension MIT-SCREEN-SAVER
(EE) AIGLX error: failed to load OpenGL driver
(EE) AIGLX: reverting to software rendering
(II) XKB: generating xkmfile /tmp/server-F8D9B4EE1D9075AF4B1C23C75362EE93E14954A0.xkm

Do you have any ideas how to solve this. I'm quite new at this linux thing, so please don't use to many linuxgeek words Smile

Thanks


- JohnPollaert - 2011-01-04 23:24

dushmaniac Wrote:can you access the file from another machine using a tftp client supplying the same path as your diskless installation does (or should do)?

I have never used TFTP before. I have installed the TFTP client on windows vista. What command do I have to execute to do that?
When I try: TFTP 192.168.0.10 GET initrd.img I get a time-out error.


- opdenkamp - 2011-01-05 02:29

@JohnPollaert:
it looks like your diskless client can reach the server, or you wouldn't see any log entries.

it should be something like
Code:
TFTP 192.168.0.10 GET /xbmc-netboot/initrd.img

@RavenDK:
stuff like that isn't really easy to do yourself if you don't know anything about linux as you stated in your post. you'd have to install a package in the image.

if someone can tell me what the package is that is needed for those cards, I'll include it.


- JohnPollaert - 2011-01-05 09:22

The windows firewall was in the way. Now
Code:
TFTP 192.168.0.10 GET initrd.img
is working.
And:
Code:
TFTP 192.168.0.10 GET /xbmc-netboot/initrd.img
gives me a file not found.


- opdenkamp - 2011-01-05 13:04

I assume you verified that the file is present on that server in /var/lib/tftpboot/xbmc-netboot/initrd.img ?

are you running tftpd-hpa? if not, install it. then open /etc/default/tftpd-hpa and add "-v" to the options. restart the daemon with /etc/init.d/tftpd-hpa restart

now try to access the file again from your diskless client or windows machine and have a look at the log.


- JohnPollaert - 2011-01-05 21:22

Thank you! That did it. After adding the -v option I was able to see in the log that all the needed files where in the /var/lib/tftpboot/ folder, and not in /var/lib/tftpboot/xbmc-netboot. After copying the files over to the correct location, it started working!
Thanks for your help!


- JohnPollaert - 2011-01-06 09:29

One of my clients is an Acer Revo 3600. It is having the exact same issue as drefas has. Does anyone has a solution for this problem?
drefas Wrote:Thank you for a great product!

However, i'm having a weird problem on one of my clients. It starts booting from PXE, after the first splash screen it fails to receive an IP:

Attempting to get a DHCP address...
info, udhcpc (v0.9.9-pre) started
Sending discover. . .
Sending discover. . .
Sending discover. . .
No lease, failing

dmesg is telling me this:

[ 2.850909] eth0: no link during initialization.
[ 2.851754] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 4.023525] eth0: link up.
[ 4.024748] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 4.680443] eth0: link down.

The really weird thing is that if I unplug and then reconnect the ethernet cable, it receives an IP address and continues to boot. I'm getting the same behavior when setting a static IP in pxelinux.cfg/default.

When booting xbmclive installed on the harddrive, ir receives IP without any hiccups.

Hardware-wise, this is an Acer Revo 3600.

Does anyone know what to do?



- opdenkamp - 2011-01-06 13:55

looks like an issue with the network driver or the udhcp script.

adding a sleep before calling udhcp might help. I'll add a boot option so you can configure a sleep time before calling udhcp.