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

  Thread Rating:
  • 2 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
harryzimm Online
Posting Freak
Posts: 852
Joined: May 2008
Reputation: 6
Location: Auchtermuchty, Scotland
Post: #46
Great, thanks for the tips.

HTPC 1 : Acer revo R3700 ion2 HTPC 2 :Apple TV2 HTPC 3 : Apple TV2 HTPC4 Acer revo R3700 ion2 Remote : x2 Riimote2
SERVER : 10TB Ubuntu Server 10.04, dual wintv nova hd s2 cards, tvheadend, Newcs, Omnikey reader, White *Sky uk* Card, Mysql Db, Sabnzbdplus, SickBeard, Couchpotato, FlexRaid. :cool:
--------------------------------------------
[Image: widget]
find quote
arionl Offline
Junior Member
Posts: 5
Joined: Mar 2009
Reputation: 0
Post: #47
dushmaniac Wrote:Hehe thanks Smile
About your libraries: I got the video and music database on mysql on my server and I'm using nfs to share the images and stuff. I'll integrate this in a future version so you don't have to do any manual configuration. Stay tuned Smile

Thanks so much for putting this package together. I've got it running now at home and serving my two ION based XBMC boxes. Great stuff!

I'm *really* looking forward to SQL database/library files on NFS. That'll be the icing on top of the cake!!

-Arion
find quote
drefas Offline
Junior Member
Posts: 18
Joined: Sep 2008
Reputation: 0
Location: Norway
Post: #48
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?

Using XBMC for live TV with TVHeadend.
find quote
cr4sh0verride Offline
Junior Member
Posts: 3
Joined: Nov 2010
Reputation: 0
Post: #49
I'm trying to get this working on a VM installed with Lucid Ubuntu.

I get to the part creating the image and I get the following message

Action Interrupted!

Last action was : downloading diskless xbmc

The last log messages are

Building dependency tree... Some packages could not be installed. This may mean you have requested and impossible situation or if you are using the unstable distribution that some required packages have not yet been created or moved out of Incoming. The following packages have unmet dependencies: xbmc-diskless-client: Depends: xbmc-live but it is not installed.

I have tried installing xbmc-live with no luck?

Any ideas?
find quote
opdenkamp Offline
Team-XBMC PVR Developer
Posts: 2,224
Joined: Feb 2009
Reputation: 29
Location: Heerlen, The Netherlands
Post: #50
drefas Wrote: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.
looks like a problem with your nic drivers, because nothing special is happening there. it's the same udhcp script that is used for mythbuntu-diskless. I'll check if there are any updates for that script.
what ubuntu dist are you using? are you using a different kernel on your diskless installation than the working variant?

cr4sh0verride Wrote:Action Interrupted!

Last action was : downloading diskless xbmc

The last log messages are

Building dependency tree... Some packages could not be installed. This may mean you have requested and impossible situation or if you are using the unstable distribution that some required packages have not yet been created or moved out of Incoming. The following packages have unmet dependencies: xbmc-diskless-client: Depends: xbmc-live but it is not installed.
if you didn't select a ppa to be used, the installation will currently fail because xbmc-live is not in any repository. select the team-xbmc ppa or mine (opdenkamp) and it'll work.

opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
find quote
cr4sh0verride Offline
Junior Member
Posts: 3
Joined: Nov 2010
Reputation: 0
Post: #51
Finally got it all working to try it on the Thin Client I have only to find it has an i686 cpu and the build only supports x86-64

Bummer Sad
find quote
opdenkamp Offline
Team-XBMC PVR Developer
Posts: 2,224
Joined: Feb 2009
Reputation: 29
Location: Heerlen, The Netherlands
Post: #52
Eeh no, by default an x86 installation is created. In this version, you'd even have to change the code a bit (change the debootstrap call) to get it installed for amd64.

I can't think of any reason to use amd64 on a dedicated media player, so I never paid much attention to it (and it's unlikely that I will unless someone can give me a good reason).

opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
find quote
Nick8888 Offline
Fan
Posts: 716
Joined: Jan 2007
Reputation: 0
Post: #53
Okay, i'm new to this idea and trying to visualise how it works. This is what I've got:
[Image: networkdiagram.png]

However, reading the first post again, I see you need some sort of dhcp server. Sorry if this is a stupid question but how does this affect an existing router? Would I just disable the dhcp server on my router?

Also any rough ideas on price for a suitable diskless pc?

Thanks.
find quote
JVincent Offline
Junior Member
Posts: 1
Joined: Aug 2009
Reputation: 0
Post: #54
Thank you for a very interesting product. I'm experimenting with it now.

In my configuration, I use a household file server as a router/DHCP server/media server for the media players on a separate physical network from a household network. So setting this up on the same server worked pretty well -- once I changed the IP address in /etc/exports to the gateway address of the second ethernet card.

I'm running into trouble so far with audio and the MCE remote control, and am working on it (Zotac IONITX head ends).

One problem I've encountered: when creating an image, selecting the "Team-XBMC" PPA isn't accepted. Instead, it restarts the image creation process at the first menu. Not sure if there's something I need to change.

Best,
Jonathan
find quote
opdenkamp Offline
Team-XBMC PVR Developer
Posts: 2,224
Joined: Feb 2009
Reputation: 29
Location: Heerlen, The Netherlands
Post: #55
Nick8888 Wrote:However, reading the first post again, I see you need some sort of dhcp server. Sorry if this is a stupid question but how does this affect an existing router? Would I just disable the dhcp server on my router?
I assume your router on your diagram is a router + switch and that your diskless workstations are connected to the switch?
You could disable dhcp on your router, but I recommend you look into the solution that was posted on the previous page. That will be integrated into this package too.

Quote:Also any rough ideas on price for a suitable diskless pc?
a diskless pc is just an ordinary pc without a hdd. can't give you a price, but I think a minimal pc that does hardware acceleration will be about 250€. there are some topics about hardware on this forum, so check those out.


JVincent Wrote:I'm running into trouble so far with audio and the MCE remote control, and am working on it (Zotac IONITX head ends).
yeah that's possible. look into the provisioning mechanism to get the config persisted even when clearing out your overlay after you've fixed it.

Quote:One problem I've encountered: when creating an image, selecting the "Team-XBMC" PPA isn't accepted. Instead, it restarts the image creation process at the first menu. Not sure if there's something I need to change
I'll check it out, but I might have fixed it in the latest source. I'll post updated packages on the ppa later this week end.

edit:
fixed on git

opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
(This post was last modified: 2010-11-13 16:31 by opdenkamp.)
find quote
mason Offline
Senior Member
Posts: 296
Joined: Sep 2008
Reputation: 0
Location: Germany
Post: #56
hey dushmaniac,

something i noticed after a week of switching to the diskless system.

It seems that the NBD Daemon doesn't close the connection when the client shuts down. I have now several instances running...

Is this normal behavior of the daemon or a bug?

Right now i my process list is flooded with several of these processes ...

Code:
nobody   15594  0.0  0.0   1832   484 ?        Ss   Nov14   0:00 /bin/sh /usr/sbin/nbdrootd /var/lib/xbmc-diskless/images/xbmc.img
nobody   15595  0.0  0.0   3732   888 ?        S    Nov14   0:00 nbd-server 0 /var/lib/xbmc-diskless/images/xbmc.img -r -C /dev/null
(This post was last modified: 2010-11-15 11:14 by mason.)
find quote
opdenkamp Offline
Team-XBMC PVR Developer
Posts: 2,224
Joined: Feb 2009
Reputation: 29
Location: Heerlen, The Netherlands
Post: #57
I'm aware of that bug. It's probably caused by not closing the connection properly on the client.

Until it's fixed, just "killall nbd-server" when all your clients are shut down to clean up your processes.

opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
find quote
mason Offline
Senior Member
Posts: 296
Joined: Sep 2008
Reputation: 0
Location: Germany
Post: #58
Thanks for the information, no problem. I will kill the tasks via a cron job.

But i just managed to get another problem, i tried to install your latest ppa packages from you, but unfortunately not with your script but rather with the mounted chroot which failed due to not running daemons probably. I guess I fucked up the installation...

Can I reset the system via generating a new clean image and just copy over the overlay of the old one?
find quote
opdenkamp Offline
Team-XBMC PVR Developer
Posts: 2,224
Joined: Feb 2009
Reputation: 29
Location: Heerlen, The Netherlands
Post: #59
make sure your clients are shut down before you kill the nbd-server instances, cause otherwise they'll crash because of a missing root Smile

you can just create a new image. no need to copy anything, because the overlay won't be touched.

this is how it works:
- your system boots the initrd image
- this image contains a script that mounts / over nbd, from /var/lib/xbmc-diskless/images on your server
- then it puts a ram overlay over your root, so changes to your root will be persisted in memory until the system shuts down
- next step mounts /home/xbmc over nfs from the directory /var/lib/xbmc-diskless/overlay/XX, where XX is the mac address of your client without colons. the directory XX will be created if it doesn't exist
- the last step checks if /home/xbmc/config exists and copies over /etc to that directory if it doesn't. /etc is bound to /home/xbmc/config, so changes in that directory (e.g. X config, alsa config, lirc, ...) are persisted on the nfs overlay.

when you create a new image, you'll only replace the files in /var/lib/xbmc-diskless/target (the uncompressed installation) and /var/lib/xbmc-diskless/xbmc.img (the compressed image). the overlay in /var/lib/xbmc-diskless/overlay is never touched, cause that would reset all the client configurations when updating the xbmc installation. wouldn't make much sense Smile

opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
find quote
mason Offline
Senior Member
Posts: 296
Joined: Sep 2008
Reputation: 0
Location: Germany
Post: #60
Thanks for the explanation again, I just wasn't sure if the config would be overwritten in parts while generating a new image.

Now I will take notes I guess what's needed to be changeed in the target...

Anyway I did a backup of the xbmc.img just in case... the girl would go beserk when I can't provide working media Wink

But one last thing I'm struggling with, I don't get the locales working correctly

Quote:perl: warning: Please check that your locale settings:
LANGUAGE = "de_DE",
LC_ALL = "de_DE.ISO-8859-1",
LC_CTYPE = "de_DE",
LANG = "de_DE"
are supported and installed on your system.

Any idea how i could change the default locale in the chroot? Not really a xbmc issue.. but maybe you can point me in the right direction (again).

Never mind i figured it out...
(This post was last modified: 2010-11-15 20:33 by mason.)
find quote
Post Reply