Installing Public Beta on FreeNAS

I see that in your December SOTU for Channels DVR you list FreeNAS as something have an officially supported package for. However I don’t see instructions for installing to FreeNAS in the installation section for the public beta. Is there a script I can run or do I have to do it manually for FreeNAS?

Here’s the FreeNAS package: https://channels-dvr.s3.amazonaws.com/freenas/channelsdvr-1.0.4.pbi

Thanks. I uploaded that pbi into a new pluginjail but having troubles starting it.

root@customplugin_1:/ # cat /channels-dvr.log
exec: /usr/pbi/channels-dvr-amd64/channels-dvr/latest/channels-dvr: not found
exec: /usr/pbi/channels-dvr-amd64/channels-dvr/latest/channels-dvr: not found

root@customplugin_1:/ # cat /var/log/channels-dvr-fcgi.log
[SYS] Running on 192.168.1.5:12351

I noticed a setup.sh file at /usr/pbi/channels-dvr-amd64 but it is empty. There is not a folder named ‘latest’ there either. I’m running version FreeNAS-9.3-STABLE-201509282017. Should the setup.sh not be empty or is there another step I need to do to get it installed correctly?

Can you delete the jail and try again?

Same result. I did notice an error banner within the FreeNAS gui when trying to start the plugin:

cd: /usr/pbi/channels-dvr-amd64/channels-dvr/data: No such file or directory daemon: process already running, pid: 67945

What does “uname -a” say on your system?

root@customplugin_1:/usr/pbi/channels-dvr-amd64 # uname -a
FreeBSD customplugin_1 9.3-RELEASE-p26 FreeBSD 9.3-RELEASE-p26 #0 r281084+93c588
5: Mon Sep 28 13:25:20 PDT 2015 [email protected]:/tank/home/stable-
builds/FN/objs/os-base/amd64/tank/home/stable-builds/FN/FreeBSD/src/sys/FREENAS.
amd64 amd64

Thanks. What about “find . -ls” in that directory?

root@customplugin_1:/usr/pbi/channels-dvr-amd64 # find . -ls                                                                        
32909       35 drwxr-xr-x    3 501              staff                  11 Jan 15 15:51 .                                           
32913        1 drwxr-xr-x    3 501              staff                   3 Dec  2 17:58 ./etc                                       
32916        1 drwxr-xr-x    2 501              staff                   3 Dec  6 17:44 ./etc/rc.d                                  
32917       18 -rwxr-xr-x    1 501              staff                 453 Dec  6 17:59 ./etc/rc.d/channels_dvr                     
32914        1 -rw-r--r--    1 501              staff                  15 Dec  2 15:22 ./freenas                                   
32915       18 -rwxr-xr-x    1 501              staff                 222 Dec  2 17:57 ./tweak-rcconf                              
32933        1 -rw-r--r--    1 root             staff                   0 Jan 15 15:51 ./setup.sh                                  
32911     6775 -rwxr-xr-x    1 501              staff             6158528 Dec  6 18:20 ./control.fcgi                              
32966       18 -rw-------    1 root             staff                 181 Jan 15 15:51 ./.oauth                                    
32912       18 -rw-r--r--    1 501              staff                 779 Dec  3 12:13 ./default.png                               
32967        1 -rw-r--r--    1 root             staff                  37 Jan 15 15:51 ./control.conf                              
32910       18 -rwxr-xr-x    1 501              staff                 456 Dec  5 18:34 ./control

Ok the empty setup.sh is the issue as you guessed.

Try:

curl https://getchannels.com/dvr/setup.sh

It must be failing with an ssl error.

Actually we are using wget in the plugin:

wget -O setup.sh https://getchannels.com/dvr/setup.sh

It is indeed an SSL error

root@customplugin_1:/usr/pbi/channels-dvr-amd64 # wget -O setup.sh https://getchannels.com/dvr/setup.sh                             
--2017-01-15 17:27:31--  https://getchannels.com/dvr/setup.sh                                                                       
Resolving getchannels.com (getchannels.com)... 2400:cb00:2048:1::6818:714d, 2400:cb00:2048:1::6818:704d,     104.24.112.77, ...          
Connecting to getchannels.com (getchannels.com)|2400:cb00:2048:1::6818:714d|:443... failed: No route to host.                       
Connecting to getchannels.com (getchannels.com)|2400:cb00:2048:1::6818:704d|:443... failed: No route to host.                       
Connecting to getchannels.com (getchannels.com)|104.24.112.77|:443... connected.                                                    
OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure                                           
Unable to establish SSL connection.

I just tried updating my wget version and that didn’t seem to help. Fetch fails with the same error. I’ll try and that fixed up and maybe it’ll all work after that.

Interesting -

root@customplugin_1:/usr/pbi/channels-dvr-amd64 # openssl s_client -connect getchannels.com:443                                     
CONNECTED(00000004)                                                                                                                 
71829:error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error:/usr/src/secure/lib/libssl/../../../crypto/openssl/ssl/s23_clnt.c:585: 

When I try the same against google.com it appears to work fine. I get the same behavior when testing those commands on my Mac. Could be something fishy on my network.

Try updating OpenSSL and ca_root_nss

No luck. Any chance there is a path to that file on the https://channels-dvr.s3.amazonaws.com domain? When I do wget https://channels-dvr.s3.amazonaws.com/freenas/channelsdvr-1.0.4.pbi it downloads that fine.

Strange because I was able to install on a FreeNAS VM and several other users have as well.

What does “wget --version” say?

Oh actually the OpenSSL version is more important.

Is your FreeNAS up to date?

GNU Wget 1.18 built on freebsd9.3.

You know… there is a pending update now that I see. I’ll update that real quick and report back.

:thumbsup:

I had delayed upgrading FreeNAS 9.3 to 9.10 but your app was enough of a motivation to do it. Looks like that was the solution. I was concerned it would not work because having preexisting 9.3 jails means any new jails in 9.10 use the 9.3 template until you nuke all your jails and start over. Luckily just the base of 9.10 was good enough.

Thanks and sorry for wasting your time. Looks like 9.10+ is a requirement for the FreeNAS plugin.

1 Like