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

+- Kodi Community Forum (http://forum.kodi.tv)
+-- 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


- ErAzOr2k - 2011-01-03 19:21

i've got everything running now.

one problem still remains: my mce remote controls doesn't work.

i need to run dpkg-reconfigure lirc on the client zu get it working. but how do i do this in the image?


- opdenkamp - 2011-01-03 23:08

you could do it in the image, but you shouldn't really.

just boot the client, ssh to it and dpkg-reconfigure the package. reboot to see if the changes were persisted. if not, something outside /etc got modified and you'll have to do it in the image anyway.


- JohnPollaert - 2011-01-04 14:00

Hello,
I have installed this on a new Ubunto 10.10 installation. The whole installation went without problems, and
Code:
sudo xbmc-diskless.sh check
gives me yes to all.

But when I try to boot a client, I get TFTP-error file not found. (klik)
I have no idea where to start searching what the problem is. Can you point me to some places to check?


- opdenkamp - 2011-01-04 14:08

the check command doesn't check for the right tftp config at the moment.

you probably have the wrong path set in your dhcp server's config.
for isc dhcpd it's:
Code:
subnet 192.168.64.0 netmask 255.255.192.0 {
        range 192.168.90.100 192.168.90.125;
        next-server 192.168.64.1;
        filename "/xbmc-netboot/pxelinux.0";
}
fill in your own addresses ofcourse


- JohnPollaert - 2011-01-04 19:46

This is my complete dhcpd.conf.
Code:
ddns-update-style none;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
        next-server 192.168.0.10;
        filename "/xbmc-netboot/pxelinux.0";
}
log-facility local7;
I've added the lines already, but still the same problem.


- opdenkamp - 2011-01-04 20:00

and does pxelinux.0 exist at /var/lib/tftpboot/xbmc-netboot/pxelinux.0 on the machine with ip 192.168.0.10?


- JohnPollaert - 2011-01-04 20:51

No, the directory /var/lib/tftpboot/xbmc-netboot is empty.
But there is an pxelinux.0 file in /usr/lib/syslinux/ Should I copy it over to the xbmc-netboot directory?


- opdenkamp - 2011-01-04 21:09

hmm that's odd, I thougt I had the script copy those files. did you use "install" in the menu?

if you did, copy the file over. also check if a directory pxelinux.cfg is present in /var/lib/tftpboot. if not, create and and create a file called "default" in it. put this in that file:
Code:
DEFAULT vmlinuz ro initrd=initrd.img nbdroot=192.168.64.1 nbdport=2000 xbmcdir=nfs=192.168.64.1:/var/lib/xbmc-diskless/overlay xbmc=autostart quiet splash
replace the ip by the ip of your server.

I'm sure initrd.img and vmlinuz are copied by the "install" so those should be present in /var/lib/tftpboot too.


- JohnPollaert - 2011-01-04 21:42

initrd.img and vmlinuz are there. But pxelinux.cfg directory wasn't. So i created it, and I created the default file.
Now the system boots a little bit furhter, but then it fails again. Now with the message: Unable to locate configuration file
Where should that file be??


- opdenkamp - 2011-01-04 21:48

I guess that's before you see any files (kernel, initrd) being loaded?

what dhcp server are you using?

I think it's not prepending xbmc-netboot/ to each path. Doing that yourself will probably solve it.

so
Code:
DEFAULT xbmc-netboot/vmlinuz ro initrd=xbmc-netboot/initrd.img nbdroot=192.168.64.1 nbdport=2000 xbmcdir=nfs=192.168.64.1:/var/lib/xbmc-diskless/overlay xbmc=autostart quiet splash



- 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.