• 1
  • 13
  • 14
  • 15(current)
  • 16
  • 17
[LINUX] HOW-TO create a XBMC server for diskless PXE network booting clients
ttabbal Wrote:dushmaniac: Thanks for the nice package. It worked very well for me on an Ubuntu Natty host. Just used lucid for the bootable image. Looking forward to seeing what you do with OpenELEC. I like the idea of just downloading the kernel/image rather than using debootstrap. Now I've got to configure the thing.... Big Grin

Care to share how you installed it on a Natty host?
Reply
how is work going with the openelec version? sounds interesting
Reply
didn't have time to do it yet.
I might do it in the one of the next few weeks, since I need something similar for another project
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.
Reply
Hi Dushmaniac!

I managed to install the system, and working perfect... Smile I'd like to interesting, possible to "disable" the overlay feature? Because i'd like a "master" pc in my network, and all other pc should boot "clean" every restart...

...or i should solve it with a script?

Thanks your answer, and have a good developing! Smile

Pankoka
Reply
I'm not sure if people are still using this, but I recently needed to update Ubuntu from Lucid for Alsa drivers. So, I updated the scripts to work for a Natty chroot.

Just replace the PPA in the directions with "ppa:travis-tabbal/xbmc-diskless" to test it out, then enter "natty" as the distro to use. I also used the Team-XBMC PPA as a source, so there is a check for that to switch to using the maverick version as the PPA hasn't been updated for natty yet.

If you still have the existing PPA installed, you can remove it from /etc/apt/sources.list.d, add mine with apt-add-repository, then do an apt-get update to fix it up.

NOTE: This should be considered BETA at best. I have not had time to test booting on hardware yet, just in Virtualbox, which the image doesn't seem to have X drivers for. So I can't verify that XBMC loads properly. The basics are all there though. If it works, I expect it will get merged into the main repo at some point. The source is included, of course. Dushmaniac just seems busy on other stuff so I did the updates. He is welcome to incorporate my changes if he chooses to. I will update here when I've had time to do more testing. I just wanted to put it out there for review and further testing. I would like to hear about how it works for people just generating the images, if you don't want to try booting anything on it. You can test on existing systems by changing the target path in the config file (/etc/default/xbmc-diskless-server.conf). Change the paths so you don't disrupt any existing setup. Or try it in a Virtualbox VM, if you want to help test.

UPDATE: Tested on hardware. XBMC loads properly. Both systems are NVidia based. However, I seem to lack the SMB utilities, so connecting to Windows/Samba shares is a pain. I'm adding them to the next version. Added them to the image and re-packed/installed, however, still getting "Error 2" when browsing for an SMB share. Not sure what's up there, they are available and can be mounted just fine. I used init.rc to mount them. Also, bootsplash isn't working... the dpkg installs, but it never shows up.. probably some config file needs to be updated.
Reply
Hi,

On my XBMC install, I usually mount my media file through a NFS share directly on the XBMC pc.

After moving to the diskless XBMC I tried to add the same mount point to the XBMC pc as before. Can someone tell me the proper way to add extra mount point on a PXE client?

I tried adding the mount command to the rc.local script without any success. I aslo tried add a fstab file in the provisioning folder. With these two methods I was able to see the change on the PXE pc but the NFS share was never mounted.
In order word, if run the rc.local script manually, it will mount the nfs share and if I do a "mount -a" the nfs share is also mounted from the fstab.

Can anyone give me a hint on how to do that?

Thank you!
Reply
I know it isn't really useful, but I did the same thing with no problems. My NFS share mounts on boot perfectly.

Can you "cat /etc/fstab" from within the PXE boot and confirm your NFS share is listed?

francoisst Wrote:Hi,

On my XBMC install, I usually mount my media file through a NFS share directly on the XBMC pc.

After moving to the diskless XBMC I tried to add the same mount point to the XBMC pc as before. Can someone tell me the proper way to add extra mount point on a PXE client?

I tried adding the mount command to the rc.local script without any success. I aslo tried add a fstab file in the provisioning folder. With these two methods I was able to see the change on the PXE pc but the NFS share was never mounted.
In order word, if run the rc.local script manually, it will mount the nfs share and if I do a "mount -a" the nfs share is also mounted from the fstab.

Can anyone give me a hint on how to do that?

Thank you!
Reply
This is what I see on the client in the fstab:

Code:
cat fstab

# UNCONFIGURED FSTAB FOR BASE SYSTEM
nfs.maison:/mnt/storage/partage /mnt/storage/partage nfs nfsvers=3,rw 0 0
nfs.maison:/mnt/storage/download /mnt/storage/download nfs nfsvers=3,rw 0 0


I also made sure that the folder where present on the client...
Reply
francoisst Wrote:This is what I see on the client in the fstab:

Code:
cat fstab

# UNCONFIGURED FSTAB FOR BASE SYSTEM
nfs.maison:/mnt/storage/partage /mnt/storage/partage nfs nfsvers=3,rw 0 0
nfs.maison:/mnt/storage/download /mnt/storage/download nfs nfsvers=3,rw 0 0


I also made sure that the folder where present on the client...

it seems to be an issue with mount-all. Adding the "nolock" option fixed everything
https://bugs.launchpad.net/ubuntu/+sourc...bug/547139
Reply
nice to see that people are still using this Smile

pankoka Wrote:I'd like to interesting, possible to "disable" the overlay feature? Because i'd like a "master" pc in my network, and all other pc should boot "clean" every restart...
not without changing the code, sorry. it's hardcoded.

as you might have noticed, I didn't have time to spend on this little project lately. however, the plan to create an openelec based version is still there. it's just delayed a bit Smile I tweaked openelec's initramfs so it can boot from the net a while ago and it has already been merged by sraue. so the only thing that's still missing are the changes in the setup script that are needed to take/build an openelec image instead of taking a mini ubuntu.
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.
Reply
It would great if the installer proposed to chose between a kernel space and a user space NFS server.

The package could be installed in OpenVZ with the user space NFS server.
Reply
Dear XBMC-Experts,

my question is, is it also possible to have a Diskless-XBMC-Server on the internet?

Example: I have 5 xbmc-ubuntu-clients located in different cities and to have them always the same content (xbmc + playlists).
Is it possible to realize this?

Would be great, if someone could help me with this.

Thanks a lot for suggestions and support in advance.

Greetings,
Umer
Reply
Lightbulb 
If someone is interested in Multible Installations here's what i've done.
I use Port 2001, but you can choose whatever you want.
  1. open a root SHell
    Code:
    sudo -s
    you don't have to you also can run the neccesary commands with sudo
  2. Copy xbmc-diskless Script
    Code:
    cp usr/sbin/xbmc-diskless.sh /usr/sbin/xbmc-diskless2001.sh
  3. make the Script executeable
    Code:
    chmod 0777 xbmc-diskless2001.sh
  4. Copy xbmc Config File
    Code:
    cp /etc/default/xbmc-diskless-server.conf /etc/default/xbmc-diskless-server2001.conf
  5. Edit /usr/sbin/xbmc-diskless2001.sh;
    • Change the Config File from "xbmc-diskless-server.conf" to "xbmc-diskless-server2001.conf";
      This change will load the 2001 Config instead of the Standard Config
    • Change the Ports from 2000 to 2001
      Changes the Port from 2000 to 2001
    • Change "${base_dir}/target/boot" to "${target_dir}/boot"
      Uses the target_dir Variable instead of the Hardcoded Path.
    • Change "initrd=initrd.img" to "initrd=initrd2001.img"
      to use the modified initrd.img we create later
  6. Edit /etc/default/xbmc-diskless-server2001
    • Change the target_dir Variable (target_dir="${base_dir}/target/2001")
      When Changing the Target Dir you can use multible Sources;
      !!ATTENTION!! If you Change target_dir you MUST change the target_dir in the original config (etc/default/xbmc-diskless-server.conf) too,
      otherwise the original script would pack the 2001 folder in the image.
      Also you have to change the "${base_dir}/target/boot" to "${target_dir}/boot" in original Script ("/usr/sbin/xbmc-diskless.sh")

    • Change the image_name Variable (image_name="xbmc-2001.img")
    • Change the tftp_dir Variable "tftp_dir="/var/lib/tftpboot/xbmc-netboot/2001"
  7. Now start the Script and create a new image
  8. Modify the initrd.img
    • Create a tmp folder and cd in it
    • Extract the initrd.img
      Code:
      zcat /var/lib/xbmc-diskless/target/2001/boot/initrd*.img | cpio -i -H newc -d
      Name of initrd image File isn't always the same, in my case it was "initrd.img-2.6.32-21-generic"
    • Edit /scripts/xbmc-diskless and Change all Ports (2) from 2000 to 2001
    • Compress the Image as initrd2001.img to prevent that the Image install from xbmc-diskless2001.sh overrides the initrd.img
      Code:
      find | cpio -o -H newc | gzip -4 > /var/lib/tftpboot/xbmc-netboot/2001/initrd2001.img
  9. install the Image with xbmc-diskless2001 Script

Done Big Grin
maybe you have to restart the openbsd-inetd service

To the Developer:
I've noticed that when using extra Packages in Image creation the Script halts at Package installation because it wants a "Y" pressed.
Line 626, after "${APT_FLAGS}" the "-y" is missing
Reply
umer Wrote:Dear XBMC-Experts,
my question is, is it also possible to have a Diskless-XBMC-Server on the internet?
It could work with fix IP, but i'd rather use a VPN Tunnel
umer Wrote:Example: I have 5 xbmc-ubuntu-clients located in different cities and to have them always the same content (xbmc + playlists).
Ähmm - you DO know that such a Setup would result in massive Traffic?
umer Wrote:Is it possible to realize this?
Sure, very fast Internet access on all Clients and VPN tunneling.
Reply
ttabbal Wrote:I'm not sure if people are still using this, but I recently needed to update Ubuntu from Lucid for Alsa drivers. So, I updated the scripts to work for a Natty chroot.

Just replace the PPA in the directions with "ppa:travis-tabbal/xbmc-diskless" to test it out, then enter "natty" as the distro to use. I also used the Team-XBMC PPA as a source, so there is a check for that to switch to using the maverick version as the PPA hasn't been updated for natty yet.

If you still have the existing PPA installed, you can remove it from /etc/apt/sources.list.d, add mine with apt-add-repository, then do an apt-get update to fix it up.

NOTE: This should be considered BETA at best. I have not had time to test booting on hardware yet, just in Virtualbox, which the image doesn't seem to have X drivers for. So I can't verify that XBMC loads properly. The basics are all there though. If it works, I expect it will get merged into the main repo at some point. The source is included, of course. Dushmaniac just seems busy on other stuff so I did the updates. He is welcome to incorporate my changes if he chooses to. I will update here when I've had time to do more testing. I just wanted to put it out there for review and further testing. I would like to hear about how it works for people just generating the images, if you don't want to try booting anything on it. You can test on existing systems by changing the target path in the config file (/etc/default/xbmc-diskless-server.conf). Change the paths so you don't disrupt any existing setup. Or try it in a Virtualbox VM, if you want to help test.

UPDATE: Tested on hardware. XBMC loads properly. Both systems are NVidia based. However, I seem to lack the SMB utilities, so connecting to Windows/Samba shares is a pain. I'm adding them to the next version. Added them to the image and re-packed/installed, however, still getting "Error 2" when browsing for an SMB share. Not sure what's up there, they are available and can be mounted just fine. I used init.rc to mount them. Also, bootsplash isn't working... the dpkg installs, but it never shows up.. probably some config file needs to be updated.

Hi ttabbal

a question.
you use your script on a natty host and create a natty chroot
or you use lucid/mav host and make a natty chroot ?

second... the typical installation of this script is a fresh install without ltsp
on which you install xbmc-diskless ?

with 1 nic ? ( so... the guide in first page is intended NOT with 2 nic (typical on alternate edition ) but with 1 nic )

PS. why the system xbmc-diskless is not more ltsp compatible ( the same file in the same position) ?


thanks
Reply
  • 1
  • 13
  • 14
  • 15(current)
  • 16
  • 17

Logout Mark Read Team Forum Stats Members Help
[LINUX] HOW-TO create a XBMC server for diskless PXE network booting clients2