[GUIDE] - PXE Boot OpenELEC in a KVM VM


Recommended Posts

UPDATE #1 (08JUL2015):  sparklyballs was kind enough to create a TFTP Server Docker container.  I just tested it and it works a treat!  As soon as he is comfortable with releasing it, I will update the HOW-TO below to include information about it.

 

UPDATE #2 (08JUL2015):  If your VM timesout while trying to obtain a DHCP address, this may be the cause:  http://lime-technology.com/forum/index.php?topic=41079.0  I added a blurb about this at the end of the TFTP Server section below.

 

UPDATE #3 (09JUL2015):  If you opt to use a newer version of pxelinux, you may also need additional files in the root of your TFTP folder such as ldlinux.c32.  You can find old and new versions of syslinux here:  https://www.kernel.org/pub/linux/utils/boot/syslinux/

 

UPDATE #4 (09JUL2015):  sparklyballs has moved his TFTP Server Docker container into his Beta repo.  I have updated the instructions.

 

UPDATE #5 (09JUL2015):  Learning as I go...be aware the if you edit your VM by clicking in the Icon and selecting Edit and then save the changes, this will revert the 'model type' for the NIC back to virtio.  You will need to edit the XML and change it to e1000 again.  I may put in a Feature Request and ask for the ability to choose what model type of NIC you want (virtio, e1000, etc.) and have it stick.

 

UPDATE #6 (10JUL2015):  If you plan on using your cache share for your TFTP root folder and/or your OE config settings folder, you will need to make sure you enable NFS sharing on your cache drive.  The alternative is to use cache-only User shares (again...with NFS enabled).  Instructions updated.

 

UPDATE #7 (11JUL2015):  Another stumbling block that I was not aware of since I use pfsense.  If your router does not support network booting the best solution is to use dnsmasq.  More info can be found here:  http://lime-technology.com/forum/index.php?topic=27768.0

 

UPDATE #8 (14JUL2015):  Added Grumpy's tutorial for adding native TFTP functionality to unRAID.

 

NOTE:  This tutorial assumes that you are passing thru a GPU.  I am not sure if it will work otherwise due to the limitations KVM's emulated video adapter.

 

Look Mom...no hard disks!!!  :D

 

I know that there is a lot of demand for the OE unVM that the LT team has been prepping us for.  This How-To is not meant to undermine their product.  Options are always good and what I have to offer works today...out of the box...with the latest untouched OE prod and beta KERNELS.  :D

 

I am not going to go into great detail about what TFTP or PXE is.  The assumption is going to be that you have some basic knowledge about these, or, will take the time to research.  Quite honestly, I know just enough to get me by.

 

So, first things first...

 

TFTP Server...

 

You will need a TFTP server that is configured for serving PXE bootable images/files.  For our purposes here I will list the different solutions that I have used successfully:

[*]unRAID TFTP Plugin (http://lime-technology.com/forum/index.php?topic=36827.0)

[*]TFTP Package for pfSense

[*]TFTP32 for Windows (http://tftpd32.jounin.net/)

[*]*BETA*:  TFTP Server Docker container (http://lime-technology.com/forum/index.php?topic=41048.0)

[*]Run a TFTP server on unRAID natively (http://lime-technology.com/forum/index.php?topic=31297.0)

I am currently using the TFTP Server Docker container provided by sparklyballs (available in his beta repo) and it is working well.  You can install it via the Community Applications plugin or directly from his beta repository:

 

LNcD7cE.jpg

 

And here is a screenshot of how I have it configured (it doesn't get much easier than this):

 

WbnwKVi.jpg?1

 

If you prefer to use the unRAID TFTP plugin, this is how I had that configured:

 

qnKuJZQ.png

 

In my case, I also had to enable network booting in my DHCP server options in pfSense (Services --> DHSCP Sevrer --> Enable network booting --> Advanced):

 

OZHFZZ2.png

 

I have two cache-only user shares:

[*]/mnt/user/VMs  <-- OE will store its config files in sub-folders located here (the sub-folders MUST be created prior to starting the VM or OE will fail to boot)

[*]/mnt/user/TFTP  <-- this is where the TFTP boot files are stored

NOTE:  Both shares MUST be shared via NFS (and Public if you do not plan on using credentials).

 

OK, assuming that your TFTP server is up an running and confirmed that you are able to netboot machines, let's talk about the folder/file structure on the TFTP server (somewhat specific to OE).  This is what my tftp root folder looks like:

 

/TFTP/
     /openelec/
              .508
              KERNEL
              SYSTEM
     /pxelinux.cfg/
                  01-52-54-00-17-ea-29
                  01-52-54-00-c9-9c-ba
                  01-54-04-a6-c2-40-83
     pxelinux.0
     ldlinux.c32

 

The files in the root of the tftp folder (pxelinux.0, ldlinux.c32) is what makes netbooting work.  Again, if this looks foreign to you, go read up on TFTP/PXE.  (FYI...you may need to configure your DHCP Server to allow netbooting as I had to in pfSense).  The items I want to focus on here are the contents of the openelec and pxelinux.cfg folders.

 

openelec folder

 

This folder houses the OE KERNEL and SYSTEM files.  Much like unRAID, OE runs in RAM space and saves data to a predesignated location (/storage on the local drive).  These are the only two files you need to launch OE.  You can get them by downloading the TAR file for whatever version of OE you want and extracting it.  The KERNEL and SYSTEM files will be in the 'target' folder.

 

If you notice, there is a 3rd file:  .508.  This is merely a version file for me to know at a quick glance what version of OE KERNEL/SYSTEM files I have in there.  When I upgrade to a new version, I merely change the names to the existing file to KERNEL.508 and SYSTEM.508 and drop the new files in place and change the version file accordingly (i.e. .509).  Simply reboot your VM and you are at the next OE version.  :)

 

pxelinux.cfg folder

 

These are the config files that allow systems to autoboot.  When a machine connects to the TFTP server, it looks in this folder for a file that is named the same as the MAC address of the NIC in the system trying to connect (prefaced by 01-).  So, let's say that the MAC address of the NIC for one of my VMs is 52-54-00-17-ea-29.  When I PXE boot that VM and it connects to the TFTP server, it will look for a file named /tftpboot/pxelinux.cfg/01-52-54-00-17-ea-29.  If that file exists, it uses its contents to learn how the system should boot.  Here is the contents of that file:

 

DEFAULT OpenElec.tv
PROMPT 0

LABEL OpenElec.tv
       KERNEL openelec/KERNEL
       APPEND ip=dhcp boot=NFS=192.168.1.10:/mnt/user/TFTP/openelec disk=NFS=192.168.1.10:/mnt/user/VMs/HTPCPLAYRM ssh

 

To break this down, here is what that file is telling the PXE booted machine to do:

 

Get an IP from your DHCP server

Boot the KERNEL file located at the NFS share @ 192.168.1.10:/mnt/user/TFTP/openelec

Mount a disk at the NFS share @ 192.168.1.10:/mnt/cache/VMs/HTPCPLAYRM

 

Making sense?  That last part about the Disk...that is essentially telling the KERNEL that rather than use the local /storage folder on the local drive (where OE normally stores config data), use the NFS cache-only share on my unRAID server (FYI...that full path needs to exist prior to connecting via PXE...it will not be created on the fly).

 

One final note about the TFTP server:  If your VM timesout while trying to obtain a DHCP address, you will need to set a lower value for the 'bridge forwarding delay'.  I think I read somewhere that the default value is something like 15 seconds which apparently too long.  See here:  http://lime-technology.com/forum/index.php?topic=41079.0  Until LT makes this change in the core, you can accomplish this by adding a line to your GO file as shown below in red:

 

#!/bin/bash

# Start the Management Utility

/usr/local/sbin/emhttp &

/sbin/brctl setfd br0 4

 

Creating the VM...

 

You can create the VM like any other and pick OpenELEC as the OS, assigns CPUs, set memory, assign a GPU and sound card, passthru USB devices, etc.  However, do not assign any disks:  no OS install ISO...no primary vdisk...no unraid share...nothing.  There is no need.  Before you create the VM, uncheck the box that says "Start VM after creation" since we need to make one more change.  Click the "Create" button.

 

Assuming that the VM has been successfully created, click on the VMs icon and select Edit XML.  Scroll to the bottom and find the section for your NIC:

 

    <interface type='bridge'>
      <mac address='52:54:00:17:ea:29'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </interface>

 

We need to change the "model type" from virtio to e1000 since our OpenELEC does nto include virtio drivers.  The change should look like this:

 

    <interface type='bridge'>
      <mac address='52:54:00:17:ea:29'/>
      <source bridge='br0'/>
      <model type='e1000'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </interface>

 

Remember...now that you have created the VM and you have the MAC address of your virtual NIC (52:54:00:17:ea:29 for mine), you can now create your file for autoboot described above.  :)  Once you have that file created, you should be able to start the VM and cross your fingers that it connects to the TFTP server, finds the autoboot file for it and boots the OE KERNEL.

 

One word of note:  booting OE this way will cause you to see the normal scrolling linux text.  At one point, you will see a message with a countdown (a minute and a half I think and about OpenSSH Server).  I don't know exactly what it is doing here, but it will eventually make it past that point and continue to boot.  This happens only the first time...you won't see it again.

 

After OE boots to the normal Confluence home screen, take a peek at the NFS share where you told it to store OE's config files.  You will notice the usual stuff:

 

1ViNVMs.jpg

 

Here is the output captured in the unRAID syslog when a PXE booted OE VM is cold started (just to give some more example of what you should see when successful):

 

Jul 9 09:38:36 unRAID kernel: device vnet0 entered promiscuous mode
Jul 9 09:38:36 unRAID kernel: br0: port 3(vnet0) entered listening state
Jul 9 09:38:36 unRAID kernel: br0: port 3(vnet0) entered listening state
Jul 9 09:38:36 unRAID kernel: vfio-pci 0000:86:00.1: enabling device (0400 -> 0402)
Jul 9 09:38:40 unRAID kernel: br0: port 3(vnet0) entered learning state
Jul 9 09:38:44 unRAID kernel: br0: topology change detected, propagating
Jul 9 09:38:44 unRAID kernel: br0: port 3(vnet0) entered forwarding state
Jul 9 09:38:44 unRAID kernel: usb 2-1.4: reset low-speed USB device number 4 using ehci-pci
Jul 9 09:38:44 unRAID kernel: usb 2-1.4: reset low-speed USB device number 4 using ehci-pci
Jul 9 09:38:45 unRAID kernel: kvm: zapping shadow pages for mmio generation wraparound
Jul 9 09:38:56 unRAID kernel: kvm [10651]: vcpu0 ignored rdmsr: 0x1c9
Jul 9 09:38:56 unRAID kernel: kvm [10651]: vcpu0 ignored wrmsr: 0x1c9 data 3
Jul 9 09:38:56 unRAID kernel: kvm [10651]: vcpu0 ignored rdmsr: 0x1c9
Jul 9 09:38:56 unRAID kernel: kvm [10651]: vcpu0 ignored rdmsr: 0x1a6
Jul 9 09:38:56 unRAID kernel: kvm [10651]: vcpu0 ignored wrmsr: 0x1a6 data 1ff
Jul 9 09:38:56 unRAID kernel: kvm [10651]: vcpu0 ignored rdmsr: 0x1a6
Jul 9 09:38:56 unRAID kernel: kvm [10651]: vcpu0 ignored rdmsr: 0x3f6
Jul 9 09:38:56 unRAID kernel: kvm [10651]: vcpu0 ignored wrmsr: 0x3f6 data 1ff
Jul 9 09:38:56 unRAID kernel: kvm [10651]: vcpu0 ignored rdmsr: 0x3f6
Jul 9 09:38:57 unRAID kernel: usb 2-1.4: reset low-speed USB device number 4 using ehci-pci
Jul 9 09:38:59 unRAID kernel: usb 2-1.4: reset low-speed USB device number 4 using ehci-pci
Jul 9 09:38:59 unRAID rpc.mountd[2788]: authenticated mount request from 192.168.1.37:702 for /mnt/user/TFTP/sources/openelec (/mnt/user/TFTP)
Jul 9 09:39:00 unRAID kernel: usb 2-1.4: reset low-speed USB device number 4 using ehci-pci
Jul 9 09:39:00 unRAID rpc.mountd[2788]: authenticated mount request from 192.168.1.37:705 for /mnt/user/VMs/HTPCPLAYRM (/mnt/user/VMs)
Jul 9 09:39:01 unRAID kernel: usb 2-1.4: reset low-speed USB device number 4 using ehci-pci
Jul 9 09:39:01 unRAID kernel: usb 2-1.4: reset low-speed USB device number 4 using ehci-pci

 

If you see the above, safe to say you made it!  Happy OE'ing!!!  :D

 

Here is my working XML from the example above.  Remember that you will need to clean it up to suit your needs.

 

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>HTPCPLAYRM</name>
  <uuid>58f0eb06-dbe4-bc9c-50c5-dd219d610ef4</uuid>
  <metadata>
    <vmtemplate name="Custom" icon="openelec.png" os="openelec"/>
  </metadata>
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <memoryBacking>
    <nosharepages/>
    <locked/>
  </memoryBacking>
  <vcpu placement='static'>2</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='12'/>
    <vcpupin vcpu='1' cpuset='13'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-2.3'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='2' threads='1'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='dmi-to-pci-bridge'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:17:ea:29'/>
      <source bridge='br0'/>
      <model type='e1000'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/HTPCPLAYRM.org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <address bus='2' device='4'/>
      </source>
    </hostdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=86:00.0,bus=pcie.0,multifunction=on,x-vga=on'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=86:00.1,bus=pcie.0'/>
  </qemu:commandline>
</domain>

 

I will field questions/issues the best I can but I am far from an expert.  BTW...there is a LOT more you can do with a TFTP server.  This only scratches the surface.

 

One last point:  the OE team actually has a wiki article about PXE booting their product:  http://wiki.openelec.tv/index.php?title=Network_Boot_-_NFS.

 

John

Link to comment

I did some reading and is it correct that the pxelinux.0 file can be copied from any linux distro? I wasn't sure where to get this file from.

 

I wish I could say that I knew the answer.  lol

 

Anyway, I was using an older version from 2013.  You can grab the latest one from here:  https://www.kernel.org/pub/linux/utils/boot/syslinux/

 

Just be aware that newer versions may require additional files (like ldlinux.c32) as does v6.03 that I just upgraded to.

 

John

 

John

 

 

Link to comment

Very detailed post, thank you and sparklyballs for the effort!

There is a lot of use cases for the PXE server (as mentioned), and this inclusion of OE is certainly a very cool one!  ;)

Will have a play with this in the coming weeks, however I also know that 6.1 RC1 is supposedly "very close to release" (twitter tweet) with OE as an option included.

 

Link to comment

Will have a play with this in the coming weeks, however I also know that 6.1 RC1 is supposedly "very close to release" (twitter tweet) with OE as an option included.

 

Good to know!  I hadn't heard anything about when the OE unVM may be available so I decided to move this along to give people an option.  At the very least, it is a good learning experience.  :)

Link to comment

Very detailed post, thank you and sparklyballs for the effort!

There is a lot of use cases for the PXE server (as mentioned), and this inclusion of OE is certainly a very cool one!  ;)

Will have a play with this in the coming weeks, however I also know that 6.1 RC1 is supposedly "very close to release" (twitter tweet) with OE as an option included.

 

My question is which version of OE? Since I use a MySQL server I need to be on Kodi 14.2 so OE 5.0.8.

Link to comment

Very detailed post, thank you and sparklyballs for the effort!

There is a lot of use cases for the PXE server (as mentioned), and this inclusion of OE is certainly a very cool one!  ;)

Will have a play with this in the coming weeks, however I also know that 6.1 RC1 is supposedly "very close to release" (twitter tweet) with OE as an option included.

 

My question is which version of OE? Since I use a MySQL server I need to be on Kodi 14.2 so OE 5.0.8.

 

Not sure.  Maybe the LT team will release both Helix and Isengard versions.

 

As far as the process I have outlined above, you can use any version of OE you like.  :)

 

John

Link to comment

BTW...for those that would prefer to run their TFTP server on dedicated HW away from unRAID (say a DD-WRT router, or pfSense box), you could also PXE boot unRAID in the same fashion.  :)

 

You would still need your flash drive for config files and licensing, but the bzroot/bzimage can be netbooted.

 

This is my autoboot file from unRAID v5.05.  It would need to be tailored to meet v6 requirements but this should give you a good enough idea.

 

default menu.c32
menu title Lime Technology LLC
prompt 0
timeout 30
label unRAID OS
  menu default
  kernel unraid\bzimage
  append initrd=unraid\bzroot
label unRAID OS (Safe Mode)
  kernel unraid\bzimage
  append initrd=unraid\bzroot unraidsafemode
label Memtest86+
  kernel memtest

 

Here is the syslinux.cfg file from unRAID v6 (with some additional mods that I required for KVM).  Look familiar?  :)

 

default /syslinux/menu.c32
menu title Lime Technology
prompt 0
timeout 50
label unRAID OS
  menu default
  kernel /bzimage
  append intel_iommu=on vfio_iommu_type1.allow_unsafe_interrupts=1 initrd=/bzroot
label unRAID OS Safe Mode (no plugins)
  kernel /bzimage
  append initrd=/bzroot unraidsafemode
label Memtest86+
  kernel /memtest

John

Link to comment

Good to know!  I hadn't heard anything about when the OE unVM may be available so I decided to move this along to give people an option.  At the very least, it is a good learning experience.  :)

 

This is still cool as can be, so no worries!

Yeah, I was kind of asking for some things and it led to that surprise coming out!... However I've heard "very close" before..  ::)

Link to comment

Great writeup johndon. I took your advise to renew my openElec VM - at least I was trying.

 

Seem that it is start booting but a boot disk seems to be missing. TFTP Docker up and running, log w/o and errors

This is what I have (shares and content of config files):

root@Tower2:/mnt/cache/.Docker/appdata/TFTP# ls -ali
total 168
6205 drwxrwxrwx 1 nobody users     82 Jul 10 11:08 ./
274 drwxrwxrwx 1 nobody users     58 Jul 10 10:33 ../
6209 -rw-rw-rw- 1 oliver users 122308 Oct  6  2014 ldlinux.c32
6206 drwxrwxrwx 1 root   root      24 Jul 10 11:10 openelec/
6210 -rw-rw-rw- 1 oliver users  46909 Oct  6  2014 pxelinux.0
6207 drwxrwxrwx 1 root   root      40 Jul 10 11:29 pxelinux.cfg/

root@Tower2:/mnt/cache/.Docker/appdata/TFTP/openelec# ls -ali
total 148092
6206 drwxrwxrwx 1 root   root         24 Jul 10 11:10 ./
6205 drwxrwxrwx 1 nobody users        82 Jul 10 11:08 ../
6211 -rw-rw-rw- 1 oliver users   7741872 Mar 31 23:44 KERNEL
6212 -rw-rw-rw- 1 oliver users 143900672 Mar 31 23:44 SYSTEM

root@Tower2:/mnt/cache/.Docker/appdata/TFTP/pxelinux.cfg# ls -ali
total 4
6207 drwxrwxrwx 1 root   root   40 Jul 10 11:29 ./
6205 drwxrwxrwx 1 nobody users  82 Jul 10 11:08 ../
6208 -rw-rw-rw- 1 root   root  212 Jul 10 10:44 01-52-54-00-5a-b4-86

root@Tower2:/mnt/cache/.Docker/appdata/TFTP/pxelinux.cfg# cat 01-52-54-00-5a-b4-86 
DEFAULT OpenElec
PROMPT 0
LABEL OpenElec
       KERNEL openelec/KERNEL
       APPEND ip=dhcp boot=NFS=192.168.178.10:/mnt/cache/.Docker/appdata/TFTP/openelec disk=NFS=192.168.178.10:/mnt/cache/.VMs/OpenELEC ssh

root@Tower2:/mnt/cache/.VMs/OpenELEC# ls -ali
total 299008
3421 drwxrwxrwx 1 root root        46 Jan 18 12:44 ./
257 drwxrwxrwx 1 root root        78 May 18 14:18 ../
3422 -rw-r--r-- 1 root root 306184192 Oct 15  2014 OpenELEC-4.2.1-1_LT.img

(this is the image file from my "old" openElec.

 

I took the syslinux 6.3 file from here: https://www.kernel.org/pub/linux/utils/boot/syslinux/ ... and the 64bit Stable OpenELEC 5.0.8 from here:

http://openelec.tv/get-openelec

 

Anything that I have overlooked?

Link to comment

Can you post a screenshot of your TFTP docker config?

 

Also, is NFS sharing turned on for your cache share?  If you did not turn on NFS for your cache share, you will need to use cache-only User shares (with NFS).  I am not exporting my cache share so I have to use cache-only user shares (TFTP and VMs):

 

root@unRAID:~# cat /etc/exports
# See exports(5) for a description.
# This file contains a list of all directories exported to other computers.
# It is used by rpc.nfsd and rpc.mountd.

"/mnt/user/Apps" -async,no_subtree_check,fsid=100 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Backups" -async,no_subtree_check,fsid=101 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Books" -async,no_subtree_check,fsid=102 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Console" -async,no_subtree_check,fsid=103 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Docker" -async,no_subtree_check,fsid=104 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Downloads" -async,no_subtree_check,fsid=105 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Emulation" -async,no_subtree_check,fsid=106 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Games" -async,no_subtree_check,fsid=107 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Images" -async,no_subtree_check,fsid=108 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Movies" -async,no_subtree_check,fsid=109 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Music" -async,no_subtree_check,fsid=110 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/PVR" -async,no_subtree_check,fsid=118 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Pictures" -async,no_subtree_check,fsid=111 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Public" -async,no_subtree_check,fsid=112 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/TFTP" -async,no_subtree_check,fsid=119 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/TV" -async,no_subtree_check,fsid=114 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Timeshift" -async,no_subtree_check,fsid=115 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/VMs" -async,no_subtree_check,fsid=116 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
"/mnt/user/Videos" -async,no_subtree_check,fsid=117 *(sec=sys,rw,insecure,anongid=100,anonuid=99,all_squash)
root@unRAID:~#

 

 

I'll update the instructions to make this more obvious.

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.