Tiny Core Linux
Tiny Core Base => Raspberry Pi => Topic started by: jgrulich on January 08, 2016, 11:04:53 AM
-
Hence I have the piCorePlayer running on Raspi well, I'm looking for the way how to run the LMS server on Tinycore too.
Has anybody solved this task already? I'd like to use for example this build:
http://downloads.slimdevices.com/nightly/?ver=7.9
-
Hi: This would be great. I am struggling to get the LMS installed and running on debian8
I have no idea how to convert the .deb into .tgz and i might need help also to install it.
-
I've used this tutorial:
http://www.gerrelt.nl/RaspberryPi/wordpress/tutorial-stand-alone-squeezebox-server-and-player-for-bbq/
because the .deb is Debian related installation package.
I'm not sure if it's possible to convert it into tcz. Guess it need to be rebuild from the source code.
-
I'm trying to install the LMS on the piCore and hit the error: lib/lsb/init-functions missing.
I've searched, but seems that lsb-base is not in the repo. Some points how to get it?
-
Hi
I think that would be great.
We were trying some time ago - see here http://forum.tinycorelinux.net/index.php/topic,16852.0.html
I think we will need somehow to make a script that could build a selfcontained LMS as described here: http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS and even better maybe be able to pull files directly from LMS-GIT so that it would be easy to update.
Steen
-
Hi Steen,
Seems that nobody was successful to bring it working until now. There are too many steps which need to be clarified.
perl version is one of them, I've used the CPAN patch to repair it. This is not so difficult.
Another point is the RAM space limitation. I'm using the B board with only 512MB and during installation I've hit the roof several times. The only way is to place the working directory to /dev/mmcblk0p2 . This was mentioned in the forum too.
-
If you have the Perl issue covered i Think you are very close to have it running.
If you have read the thread here on tinycore you Can see that we managed to install LMS. But the next issue was the Perl packages.
Steen
-
I've used the night build from here:
http://downloads.slimdevices.com/nightly/?ver=7.9
and used this patch:
http://www.mediafire.com/download/153ccfm16lb5ka2/logitechmediaserver_7.9.0_CPAN_5.20_armv6hf.tar.gz
Than I've hit the issue with the startup script based on lsb. I've used the hard-coppy of the folder /lib/lsb from Raspbian-jessie and the error message disappeared, started, but status reports error and it is not in the top and no logs in the /var folder.
Means that it's not loaded and working. I've used the startup script from here http://forum.tinycorelinux.net/index.php/topic,16852.0.html, but still not working. Guess if the perl version is the same as is in Raspbian. This may be the root cause.
-
It looks like they are only up to 5.20 in the git distribution
the perl version with TC7 is 5.22. So the 5.20 files are not of much use.
You might try getting the perl extension from piCore 6.x which is 5.20
http://repo.tinycorelinux.net/6.x/armv6/tcz/
-
It's not the issue.
I hit this error message:
sudo /usr/sbin/squeezeboxserver
The following modules failed to load: DBI EV XML::Parser::Expat HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name
I need the kernel CPAN modules which are NOT compatible from Rasbian.
But there is no result from the modules compilation as mentioned here:
http://forum.tinycorelinux.net/index.php/topic,16852.15.html
Is somewhere possible to download these compiled modules?
-
sudo /usr/sbin/squeezeboxserver
The following modules failed to load: DBI EV XML::Parser::Expat HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name
I need the kernel CPAN modules which are NOT compatible from Rasbian.
But there is no result from the modules compilation as mentioned here:
http://forum.tinycorelinux.net/index.php/topic,16852.15.html
Is somewhere possible to download these compiled modules?
It has nothing to do with the Kernel. CPAN modules only perl related, and the error messages above mean that your Perl version does not have appropriate compiled libraries.......the are compiled under the slimserver path.......it has nothing to do with Raspbian too.
For example, on my arm system, I'm running Perl 5.14, the modules for slimserver are here.
/slimserver/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/
And the first error message means that ../XML/Parser/Expat/Expat.so cannot be loaded. Please try what I recommended. Remove the Perl 5.22 extension and grab the perl from the 6.x repo......and give it a shot.
If the version that is on the repo won't work, the next step is to build perl manually. Slimserver does require some certain compile time options that BMarkus may or may not have used when he built the TC versions of perl.
also, if you want to try to build the modules, the source for that stuff is here
https://github.com/Logitech/slimserver-platforms
but I found building an older version of perl was easier than trying to compile the tools for a newer version.
-
okay, I just checked. slimserver requires perl to support 64int, which the version with TC does not.
We are going to have to recompile perl for tc.
I'll give it a shot.
-
I built perl 5.20.3 with the appropriate compile time options, and downloaded lms 7.9 and it starts just fine. No errors at startup and I got as far as opening the web page. No patches or needed. All you need to do is edit slimserver.pl and scanner.pl to point at the appropriate perl version.
I would be happy to make an extension for you guys, right now I have it in /opt/perl5, but since that is a backup location, that is probably not a wise permanent choice. It needs to be different, so it would not conflict if you installed the normal perl that resides in the repo. Both versions can live happy together.
I would also need to trim the fat, as documentation is included right now, so the file is 11MB
-
Let me know exactly which Perl options you need and I will rebuild it.
-
Hi Paul_123
I've used the perl from the 6.x distro which is 5.20.1 and hit these errors with the latest LMS 7.9.0.
Please share your perl 5.20.3, probably it's is more module rich than the one in the repo.
If it will work with the LMS, we may add it to repo to have at least some working solution until we will have the build solution for the latest perl version 5.22 with is in 7.x repo.
-
@ Paul_123,
please share the build setup you've used to let Béla to check it and modify if needed to be in line with his TC repo needs.
-
perl5.tcz updated to 5.22.1 in 7.x repo, 64-bit integers enabled.
-
Let me know exactly which Perl options you need and I will rebuild it.
First, it needs to be perl 5.20 (5.22 is not supported yet)
-Duse64bitint
(multi threading enabled, I'm not at home to look at the correct Configure switch)
Perl needs report the architecture as
arm-linux-gnueabihf-thread-multi-64int
-
Hi,
would be suprized if an 5.20 script wouldn't run on 5.22 with few are without any mods at all.
Now it supports 64-bit int type and reports armv7l-linux-thread-multi-64int
It has all the features you need. If the apps need specific directory names, path, etc. than adjust the application :( For sure reported architecture and version string will stay for 7.x as it is now.
-
Hi,
would be suprized if an 5.20 script wouldn't run on 5.22 with few are without any mods at all.
Now it supports 64-bit int type and reports armv7l-linux-thread-multi-64int
It has all the features you need. If the apps need specific directory names, path, etc. than adjust the application :( For sure reported architecture and version string will stay for 7.x as it is now.
It's very picky. It didn't work on my wandboard that was arm7 until I made it exactly as stated. No worries, I can supply the custom perl to these guys.
Paul
-
Hi Paul
it is great. However it would be good to have an LMS as a TCZ for the stock piCore 7.0
-
Hi Paul
it is great. However it would be good to have an LMS as a TCZ for the stock piCore 7.0
The perl is simple.....what we have to put some thought into is where the Sql database is stored.
Also, what version of LMS.
-
It's very picky. It didn't work on my wandboard that was arm7 until I made it exactly as stated. No worries, I can supply the custom perl to these guys.
Yes, you're right. I've tested the updated version of perl 5.22, but no lucky. It still looks for the right one from some 5.20 and older.
I've tried to build the CPAN modules within the 5.20.1 version from 6.x distro, but it stops and requires to install yasm, or nasm. But it is not in the 7.x repo, or can't be found by search engine.
-
The perl is simple.....what we have to put some thought into is where the Sql database is stored.
Also, what version of LMS.
This is great news. I agree that we need to consider how to build it the smartest way.
The LMS is relatively often updated, whereas the PERL version is rather stable.
So I still think it would optimal if we could build scripts that allowed us to update the LMS directly independent from the PERL. Maybe pull the files from the tar ball or GIT - like described here: http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS
-
The LMS is relatively often updated, whereas the PERL version is rather stable.
So I still think it would optimal if we could build scripts that allowed us to update the LMS directly independent from the PERL. Maybe pull the files from the tar ball or GIT - like described here: http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS
I'll package up perl in it's own extension. I recompiled it last night to move it to path /usr/local/perl5/ The extension will probably just be called perl5.20.3.tcz Paths are all hard coded in perl, so as long as you call "/usr/local/perl5/bin/perl" it knows where everything is.
As for LMS
At home, on my main server, I have the full git tree downloaded, and I run LMS from that tree. When I want to update, I just run git pull.
What I did to run LMS in piCore, was just download the tarball from git, extract it. The CPAN files that are in the default git, work fine. Then edit the first line of both slimserver.pl, and scanner.pl to point at the special version of perl. Then start the system.
Is there any reason that we would not just build an extension with the latest LMS and then put the slimserver.conf and data folders in the backup set versus putting the whole tree in a persistant partition?
-
Well I think I'm answering my own questions....but
Tarball Download is 170MB compressed. Once I pull all of the binaries for other architectures out of the tarball, it is 25MB compressed. So I don't think we want to pull from the git site.......but a 25MB extension is going to use a good chunk of extra ram.
I know there are cache folders created and thumbnails too......so this may work best if we load this on a disk partition.
Thoughts??
-
Here is a link to the perl 5.20.3 extension
https://www.dropbox.com/sh/qj0hrk42tiepokl/AAApIaR9_mpmmHor0SZPPGhZa?dl=0
I did start LMS, and run a full music scan, attach players and play some MP3 and Flac files.
-
Hi Paul,
I spend a lot of time to get LMS running on TinyCore but didn't succeed.
I would appreciate it very much if you would create an LMS extenstion and make it available in Dropbox or better in the TinyCore repo so everyone can benefit from your hard work.
Best regards
-
The LSM extension is not the issue, I'll provide the link to my .tcz, but the issue is still the perl, which doesn't still work, even that one perl-5.20.3.tcz provided by Paul. Still there need to be some hidden imp which waste all our effort and time.
I'll start again from scratch, means clean piCore-7.0 image and store all the steps and hope that together we will find it.
-
You may download .tcz here: http://grulich.eu/files/logitechmediaserver.tcz
The setup was:
sudo ar -x logitechmediaserver_7.9.0.deb
sudo mkdir pkg
sudo tar xvf data.tar.gz -C pkg
Than I've removed all the CPAN and bin files related to another than arch platform and perl older than 5.20.
Than added the startup script and made the .tcz:
sudo mkdir -p pkg/usr/local/tce.installed
sudo cp logitechmediaserver-pi pkg/usr/local/tce.installed/logitechmediaserver
sudo chmod -R 775 pkg/usr/local/tce.installed
sudo chown -R root:staff pkg/usr/local/tce.installed
mksquashfs pkg /etc/sysconfig/tcedir/optional/logitechmediaserver.tcz -noappend
Load the tcz:
tce-load -i logitechmediaserver
When tried
sudo /usr/sbin/squeezeboxserver
I got the error "File not found" It was, because the modified perl is not linked to /bin. Correction:
sudo ln -sf /usr/local/perl5/bin/perl /usr/bin
Than the Slim need to be linked:
sudo ln -sf /usr/share/perl5/Slim /usr/local/perl5/lib/5.20.3
But still the
sudo /usr/sbin/squeezeboxserver
reports the error that the CPAN models can't be loaded.
-
Attached is the startup log. Most of the modules is load, but some still not.
-
Paul,
please be so kind and share the missing CPAN modules, you've probably compiled them earlier and not included them to the perl tcz.
-
Paul,
please be so kind and share the missing CPAN modules, you've probably compiled them earlier and not included them to the perl tcz.
Again, I have it running with the perl extension as supplied. You started from a debian source. I'm starting from the git source. No other download is required. I'm not exactly sure where you went wrong.......but I'm going to put my work into finishing the extension. I had a discussion with Bela regarding how to setup the extension for piCore. Give me a day or two to build and test.....I will post it here when it's ready for a beta test.
-
Okay....nothing good on TV tonight, so I put this together.
I've tested on base install on an RPI2. I have not tested on armv6 devices. Please read the info files.
https://www.dropbox.com/sh/qj0hrk42tiepokl/AAApIaR9_mpmmHor0SZPPGhZa?dl=0
*****Please make sure you have plenty of disk space. #resizethatpartition
-
Hi Paul,
I've tested your tcz on clean piCore 7.0. I've installed only your perl-5.20.3.tcz and slimserver.tcz.
The perl was not found, need this:
sudo ln -sf /usr/local/perl5/bin/perl /usr/bin
Than started slimserver with:
/usr/local/slimserver/slimserver.pl
It doesn't start and reports only: "Illegal Instruction". Which I've got when tried to use incompatible CPAN module.
It's really nightmare with this perl version issues.
-
It may happed when application built on armv7 (RPi2) without specifiying armv6 target.
-
Béla, you're right! Than I need the perl specified for armv6.
-
Béla, you're right! Than I need the perl specified for armv6.
piCore extensions built for armv6; same used on both armv6 and armv7 except few can't built for armv6 due to assembly parts. You do not see performance boost building for armv7.
-
So you are using a rpi model b?
I only tested on an rpi2. I might have missed a flag when compiling......you have to override everything with perl, and it doesn't use a "normal" configure script for compilation. I'll take a look at it tonight.
I have a B+ to test on, which I'll do.
Now that I've had a chance to sleep on it, I'm going to change how I set the storage directory. Symlinking in the extension startup script is a bit messy in my mind, and makes it inflexible for the user as to where they store data. I'm going to set the data directories via command line switches, which means that there will be a startup script, rather than running slimserver.pl directly.
-
piCore extensions built for armv6; same used on both armv6 and armv7 except few can't built for armv6 due to assembly parts. You do not see performance boost building for armv7.
Béla, for sure, I know that you're doing maximum for support piCore and it's impossible to have everything right now.
Hope, that Paul will provide patched version of the perl which will work for armv6 too and than we may place it to the repo to support such a specific applications like LMS which need the 5.20 version and don't work with the latest version.
I'll help to test on armv6, means on B and B+ boards.
-
There are no need for patches, just the usual staff as with any other build on RPi2, specify architecture and fpu in CFLAGS and CXXFLAGS env vars. Nothing Perl specific. You can check how piCore stock versions built in the repos. Config files are there. Repo version works fine on all RPi boards.
-
Béla, for sure, I know that you're doing maximum for support piCore and it's impossible to have everything right now.
Hope, that Paul will provide patched version of the perl which will work for armv6 too and than we may place it to the repo to support such a specific applications like LMS which need the 5.20 version and don't work with the latest version.
I'll help to test on armv6, means on B and B+ boards.
We'll get it resolved......sorry I overlooked the armv6 support. I was rushing because I know you were chomping at the bit.
-
Hi Paul,
any news about the updated perl supporting armv6? I've tried to rebuild all the modules, it took all the night, but DBIx::Class (which takes many hours of building) is not working on armv6, but only on armv7. Strange, that the rest is working fine after rebuild.
-
I've tried to rebuild all the modules, it took all the night, but DBIx::Class (which takes many hours of building) is not working on armv6, but only on armv7. Strange, that the rest is working fine after rebuild.
Perl modules may be native Perl or containing C code. Native Perl are not architecture dependent. When building do you specify GCC flags for armv6? Which GCC compiler used on which platform/version?
-
Béla, I've used "standard set" of compilers and accessories in compile-essentials, linux api headers, pkg-config, bc and binutils.
Than I've accepted default config for
sudo perl -MCPAN -e shell
and
cpan[1]> install DBIx::Class
-
Béla,
I'll try to build the perl 5.20.3 from git to support the armv6 and arm-linux-gnueabihf-thread-multi-64int.
What to set up to have it working?
-
-march=armv6 -mcpu=arm1176jzf-s -mfpu=vfp
in CFLAGS and CXXFLAGS
These flags are used to build piCore.
-
Add this to the config generation?
./Configure -des -Dprefix=$HOME/localperl -march=armv6 -mcpu=arm1176jzf-s -mfpu=vfp
-
Sorry to disturb again, but the config refuse to define flags CFLAGS and CXXFLAGS.
How to define them? Where are they located?
-
Something like:
sh Configure -des -Dcc="gcc -march=i486 -mtune=i686 -Os -pipe" -Dprefix=/usr/local...
(Adjusted for armv6 obviously)
-
Hence seems that the flags are important, may be this will work:
sudo ./Configure -des -Dprefix=/mnt/mmcblk0p2/localperl -A CFLAGS="-march=armv6 -mcpu=arm1176jzf-s -mfpu=vfp" -A CXXFLAGS="-march=armv6 -mcpu=arm1176jzf-s -mfpu=vfp"
Béla, is that correct?
-
Do not know, never used -A switch. I adviced few times to check how stock version built. Information is available in the repo.
http://tinycorelinux.net/7.x/armv6/tcz/src/perl5/
-
That doesn't work Bela. Perl's Configure script, nor the makefile honor a standard CFLAGS environment variables or command line switches.
I built perl natively on a rpi model B.....it is built and passes all tests. It gets the same Illegal Operation Error. I don't think this is a base perl problem, but a binary within slimserver. I'm still looking
-
I even tried going back to perl 5.14.4, which is what I'm running on my wandboard LMS server.... That is the version on LMS specifically built for the rpi over a year ago.
And I'm getting errors in perl module Errno not exporting the right signals. Strange.
-
That doesn't work Bela. Perl's Configure script, nor the makefile honor a standard CFLAGS environment variables or command line switches.
I built perl natively on a rpi model B.....it is built and passes all tests. It gets the same Illegal Operation Error. I don't think this is a base perl problem, but a binary within slimserver. I'm still looking
Paul
What are you excuting to get illegal instruction, how can I reproduce it?
-
Paul,
I'm afraid that it's not related to the slimserver, because the same version works on the Rasbian Jessie well.
Wondering how to extract the perl from there, but it's located on may different places.
-
Béla,
Install the perl-5.20.3.tcz and slimserver.tcz provided by the Paul on B, or B+ board and run
/usr/local/slimserver/slimserver.pl --d_startup
you'll get the full startup report.
-
Paul,
I'm afraid that it's not related to the slimserver, because the same version works on the Rasbian Jessie well.
Wondering how to extract the perl from there, but it's located on may different places.
What version of Perl are they running on Jesse? And I would not assume it is the same slimserver, have you done a 100% file compare? Debian packages are maintained separately from the git source.
And if Perl is passing it's internal tests, then it is probably not the base perl. There are compiled perl modules as a part of slimserver.....more than likely that is teh problem.
-
Jessie uses 5.20.2 and the files I'm using are 100% same, because I'm using the .deb source, not git one to the st on the piCore.
You may test it, I've provided the link in this thread some days ago.
There are CPAN modules in the slimserver directory and we need to use them, otherwise we need to install them again from the perl.
-
Question is about the configuration. Which one is correct?
./Configure -des -Dprefix=/mnt/mmcblk0p2/perl5.20.3 -A CFLAGS="-march=armv6 -mcpu=arm1176jzf-s -mfpu=vfp" -A CXXFLAGS="-march=armv6 -mcpu=arm1176jzf-s -mfpu=vfp"
or
./Configure -des -Dprefix=/mnt/mmcblk0p2/perl5.20.3 -Dcc="gcc -march=armv6 -mcpu=arm1176jzf-s -mfpu=vfp"
-
Neither will do what you think. When compiling natively on an armv6 machine, you do not need to specify the architecture.
The binaries in the CPAN directory are dynamically linked, which could be a problem too
-
Hi, maybe these prebuilt perl binaries can be used? http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS&p=834867&viewfull=1#post834867
Steen
-
I don't think using precompiled binaries is going to work for us on the armv6
I know it takes forever, but I'm just compiling everything natively on my rpi B
for Perl 5.20.3
./Configure -Duse64bitint -Dusethreads -Dprefix=/usr/local/perl5 -D archname=arm-linux-gnueabihf-thread-multi-64int -de
I'm moving onto the slimserver-vendor stuff.......
-
OK than, I'll try to make the perl5.20.2 and use the working slimserver for this version. Let's see if something of this will finally work.
-
I've tried build the slimserver-vendor modules, but hit the error: "please install either yasm or nasm."
But no idea what to do with this. I've not found such a tool in the tcz repo.
-
I don't think using precompiled binaries is going to work for us on the armv6
Hi Paul_123,
I am using the .deb package, which I assume use the same CPAN binaries, on a RPi B (Raspbian Wheezy).
Doesn't that mean they should work on piCore with the same version of perl?
regards
Greg
-
Hi Paul_123,
I am using the .deb package, which I assume use the same CPAN binaries, on a RPi B (Raspbian Wheezy).
Doesn't that mean they should work on piCore with the same version of perl?
regards
Greg
Not all Raspbian binaries will run on piCore. I believe that jgrulich has tried that approach. What is odd, is that everything runs fine on piCore for armv7 on a rpi2.
rpi2 would be a much better LMS server platform anyway.
-
Hi jgrulich
I've tried build the slimserver-vendor modules, but hit the error: "please install either yasm or nasm."
Try opening the buildme.sh file and find this snippet (don't worry about the line numbers):
99 which yasm > /dev/null
100 if [ $? -ne 0 ] ; then
101 which nasm > /dev/null
102 if [ $? -ne 0 ] ; then
103 echo "please install either yasm or nasm."
104 exit 1
105 fi
106 fi
Comment out the exit 1 statement. As near as I can tell, it's only used for Apple computers running darwin.
-
Comment out the exit 1 statement. As near as I can tell, it's only used for Apple computers running darwin.
I see the same thing Rich..... there are some submodules that have their own configure script, but i've not run across any that need it. I'm not sure what it would even do on arm, since it is an x86, x64 assembler.
When I tried to build this stuff a year ago, I ran into problems with the image scale routines.....would build but always fail testing. I expected problems with the armhf libraries. we'll see what happens when I get there.
-
Hi guys, as I've found the deb and git package are the same as the point of the program itself. In the deb package are some additional scripts for system integration, nothing important for us. What's important, that there are CPAN modules in the package and we have to use them and need to find the perl which will run with these modules. No way to make the modules again and again. For the perl 5.20.2 at Jessie I needed to use this CPAN arch modules patch: http://www.mediafire.com/download/153ccfm16lb5ka2/logitechmediaserver_7.9.0_CPAN_5.20_armv6hf.tar.gz.
(The link need to be updated due to dynamic link generation).
I'm using the really same mediaserver package as I have for Jessie for the testing at piCore. The only difference is the core and perl. Seems to me that the core is not so different and if the same kernel modules are enabled, that the perl need to work the same way. I'm trying to extract the perl from the Jessie, but it is quite difficult, because it's not in the separate folders, but spread in the system. Only libs are separated. It's fine.
As stated, I'll try to make the perl5.20.2 with the same config as Paul provided and test with my deb version. Will let you tomorrow when the compilation will finished.
-
http://www.mediafire.com/download/153ccfm16lb5ka2/logitechmediaserver_7.9.0_CPAN_5.20_armv6hf.tar.gz.
Nice, those work.
Running on piCore7 armv6 now.......I'll update my extension files.
-
Well piCore for a rpi B+ and rpi2 are working.
Extensions loaded and tested.....scanned my musing library and is playing music to a player. I have not tried to download 3rd party apps or anything funny, but it should all work, as the only place it writes is the Cache folder and the prefs folder.
Cache and prefs is defaulted to being created at $TCEDIR/slimserver/....... this is a persistent device
Logs is created at /var/log/slimserver and is not persistent.
slimserver runs as a daemon with default ownership as tc.staff,
if you would like to change anything, you can make a copy of /usr/local/etc/init.d/slimserver and make changes and then back that up with filetool.sh.....
perl-5.20.3.tcz and slimserver.tcz extensions are here
https://www.dropbox.com/sh/qj0hrk42tiepokl/AAApIaR9_mpmmHor0SZPPGhZa?dl=0
Please test and give me some feedback with the setup
-
Paul,
I see that you've rebuild the perl too, what config setup you've used for building? What is different?
-
Paul,
I see that you've rebuild the perl too, what config setup you've used for building? What is different?
The same CDM line that I copied above. I think the old one was fine, but I just built on a model B+ to avoid any problems with armv6
-
Hi Paul
It is working fine - I haven't run into any problems yet.
It even plays through piCorePlayer on the same RPi2 (Squeezelite is using 0,3% CPU and LMS 0.2%CPU) playing flac through the analog out.
Good work.
How do you think we should handle the update process? Most likely people would like to update the LMS more often than you would like to update the tcz package.
I noticed that Michael just made a small dedicated ARM version (about 30MB in size) can it simply be untarred on top?
Steen
-
I noticed that Michael just made a small dedicated ARM version (about 30MB in size) can it simply be untarred on top?
http://forums.slimdevices.com/showthread.php?105085-New-Debian-packages-for-7-9-ARM-x86_64
Oh, and the ARM build should now be compatible with Debian Jessie on
first generation Raspberry Pi.
I think this means newer CPAN modules with later perl versions.
regards
Greg
-
How do you think we should handle the update process? Most likely people would like to update the LMS more often than you would like to update the tcz package.
I noticed that Michael just made a small dedicated ARM version (about 30MB in size) can it simply be untarred on top?
Who is most people lol. My server at home is still running LMS7.8 and perl 5.14.4. But I see he just pushed another change on git.......... Damn, he could have saved us a ton of work if he had pushed that patch on Friday. lol
So right now, the "guts of the files in slimserver are in an extension. So updates for the average user is not going to be easy to do. Plus, I don't think the average user could decipher an update that has a potential of being armv7 only. (The binaries for arm on the slimserver repo are armv7 only)
I have no problem being the extension maintainer on piCore. So what I plan to do.
1) I have the full git tree downloaded on my server, I made local changes to remove everything we didn't need and the right armv6 binaries, and then committed the changes on my local system
2) When there is a large enough update, I can merge the updated files into my local repo. Repack the tcz, and send to bmarkus for uploading to the repo.
How do you release updates for piCoreplayer?
-
How do you think we should handle the update process?
If you like new update, simply use this simple manual setup:
1) Backup the folder
/usr/local/slimserver/CPAN/arch/5.20
2) Download
http://downloads.slimdevices.com/nightly/7.9/sc/e96ce46/logitechmediaserver-7.9.0-1453713980-noCPAN.tgz
for sure the actual night build.
3) Replace all the files in the slimserver directory and, if it's overwritten, copy back the CPAN/arch/5.20.
4) Than change the first line in scaner.pl and slimserver.pl like this:
#!/usr/local/perl5/bin/perl
That's all. You may build some simple script to do so if you like and share with us.
-
Be aware that if you use the RPi2, the regular last version of LMS from nightly may be used.
If you run it no the B, or B+ board (armv6), than you need to use the older CPAN modules from the link, I've sent some days ago and which is used in the slimserver.tcz provided by Paul.
-
The Raspberry perl incompatibility was solved and doesn't need the CPAN patch in CPAN/arch/5.20.
The nightly, or git version is working on B and B+ board now directly.
-
Thanks for testing.
/usr/local/slimserver is symlinks to the squashfs of the extension. If you overwrite it, then all of the files will be in RAM, and not persistent any longer.
Bela recommended the way it is currently setup, as it more fits the Core way of doing things. I'm not sure what is practical to update the extension. I know that steen has custom upgrade scripts that points to their own repository to download updated for picoreplayer. Perhaps we can go that route......but I think keeping an extension is the best way to go.
-
Thanks for testing.
Working very good - no problems.
I'm not sure what is practical to update the extension. I know that steen has custom upgrade scripts that points to their own repository to download updated for picoreplayer. Perhaps we can go that route......but I think keeping an extension is the best way to go.
I also think that the optimal way would be to have LMS as a tcz package. It will make it easy to install and maintain.
The only problem/issue is the update which the will be on your shoulders then. As you know Michael is regularly updating the LMS (nightly) debian packages, and I think there will be a pressure from users to also update their LMS.tcz package. I don't know if it is possible to automate the process so that a script could pull the Nightly-LMS-ARM.deb from the Logitech server to convert it to LMS.tcz and upload it to piCore repro every night or once a week or ??
Thanks for your work on getting LMS in piCore. It is really working good.
-
The only problem/issue is the update which the will be on your shoulders then. As you know Michael is regularly updating the LMS (nightly) debian packages, and I think there will be a pressure from users to also update their LMS.tcz package. I don't know if it is possible to automate the process so that a script could pull the Nightly-LMS-ARM.deb from the Logitech server to convert it to LMS.tcz and upload it to piCore repro every night or once a week or ??
I think this might work....... Create slimserver-nocpan.tcz, slimserver-armv6cpan.tcz, slimserver-scripts.tcz Then build a script to pull the nightly .deb file with no CPAN, and rebuild only the slimserver-nocpan.tcz
Major updates would need to come from the tc-repo.
The only piece that worries me is folks having a big enough partition to do the rebuilding (plus the need for more packages like squashfs-tools.tcz
-
Sorry to wrong explanation. For sure that I'm not using symlink access to the /usr/local/ ..., but copy of the /tmp/tcloop/slimserver to something like /home/tc/build/slimserver/usr/local ... and make the tcz at the end.
The question is how to get the update files without other garbage. The git source is 180MB, which is not practical. The nightly nocpan seems to be more usefull, but file name is generated dynamically and just don't know how to wget it.
-
I'll look into it.
-
Paul,
hit the "trivial" issue with the IP address. Until now I used dhcp for eth0, but it's not comfortable to search the server on the network. I've used the ip=192.168.1.100 in the cmdline.txt, but it doesn't work. It set the IP, but not the gateway. Than I tried ifconfig ... but nothing.
Was looking for something like /etc/networking/interfaces but nothing like that. I know that I need to disable the dhcp at boot first and that set the config somehow, but where?
Please help.
-
The only piece that worries me is folks having a big enough partition to do the rebuilding (plus the need for more packages like squashfs-tools.tcz
I was more thinking like having this process automated at one computer and uploading the nightly_LMS.tcz to piCore repro. So that this process is done by a single computer (person) and not on the users individual RPi's.
I don't know if Bela would allow the daily upload of the nightly builds.
Then we would have a structure like the LMS, with stable releases and nightly builds.
-
Paul,
hit the "trivial" issue with the IP address. Until now I used dhcp for eth0, but it's not comfortable to search the server on the network. I've used the ip=192.168.1.100 in the cmdline.txt, but it doesn't work. It set the IP, but not the gateway. Than I tried ifconfig ... but nothing.
Was looking for something like /etc/networking/interfaces but nothing like that. I know that I need to disable the dhcp at boot first and that set the config somehow, but where?
Please help.
Put "NODHCP" in command line
Then in bootlocal.sh put
ifconfig eth0 down
ifconfig eth0 add 192.168.1.100
ifconfig eth0 up
-
Strange, the NODHCP is not running and doesn't display something like "disabling DHCP as requested..." and dhcp get the address as before.
-
Paul,
hit the "trivial" issue with the IP address. Until now I used dhcp for eth0, but it's not comfortable to search the server on the network. I've used the ip=192.168.1.100 in the cmdline.txt, but it doesn't work. It set the IP, but not the gateway. Than I tried ifconfig ... but nothing.
Was looking for something like /etc/networking/interfaces but nothing like that. I know that I need to disable the dhcp at boot first and that set the config somehow, but where?
Please help.
Put "NODHCP" in command line
Then in bootlocal.sh put
ifconfig eth0 down
ifconfig eth0 add 192.168.1.100
ifconfig eth0 up
Another method, which I prefer, is to assign a IP address to a MAC address on your DHCP server (router).
-
The only piece that worries me is folks having a big enough partition to do the rebuilding (plus the need for more packages like squashfs-tools.tcz
I was more thinking like having this process automated at one computer and uploading the nightly_LMS.tcz to piCore repro. So that this process is done by a single computer (person) and not on the users individual RPi's.
I don't know if Bela would allow the daily upload of the nightly builds.
Then we would have a structure like the LMS, with stable releases and nightly builds.
Another option is, if we work out the scripting, is to get Michael at Logitech to generate a nightly tcz.
-
Hi jgrulich
Try nodhcp , I'm pretty sure it's case sensitive.
-
Got it, need to be nodhcp, not NODHCP in the cmdline.txt.
Than need to be set the default route and dns in the bootlocal.sh:
route add default gw 192.168.1.1
echo nameserver 192.168.1.1 >> /etc/resolv.conf
The nameserver may be the one given by the your local ISP and depends on the network structure if it is translated by your WAN router, or not. You may use several lines if needed.
Greg, yes, if there is DHCP server on the network than it's better, but I have this LMS on the subnet and there are only switches and static addressing.
-
Got Paul_123's LMS running with his help. I cannot get my Apps to populate, anyone using APPs successfully on this setup? I like to stream a classical internet radio via LMS and PiCore player.
-
Got it, need to be nodhcp, not NODHCP in the cmdline.txt.
Than need to be set the default route and dns in the bootlocal.sh:
route add default gw 192.168.1.1
echo nameserver 192.168.1.1 >> /etc/resolv.conf
The nameserver may be the one given by the your local ISP and depends on the network structure if it is translated by your WAN router, or not. You may use several lines if needed.
Greg, yes, if there is DHCP server on the network than it's better, but I have this LMS on the subnet and there are only switches and static addressing.
Hi jgrulich,
Here is a bit of code that we use in piCorePlayer for setting static IP. Not saying it is better or worse, just it is tested by numerous people.
Note: The last line runs '/etc/init.d/settime.sh'. Looks like we overwrite /etc/resolv.conf rather than append??
echo '#!/bin/sh' >$STATICIP
echo '# Generated by piCorePlayer' >>$STATICIP
echo 'echo "[ INFO ] Running $0..."' >>$STATICIP
echo 'ifconfig eth0 '$IP' netmask '$NETMASK' broadcast '$BROADCAST' up' >>$STATICIP
echo 'route add default gw '$GATEWAY >>$STATICIP
# echo 'echo search '$GATEWAY' > /etc/resolv.conf' >>$STATICIP
echo 'echo nameserver '$GATEWAY' > /etc/resolv.conf' >>$STATICIP
echo '/etc/init.d/settime.sh' >>$STATICIP
regards
Greg
-
Thanks for expanding the IP stuff, I realized after posting. the script I was using was from my bridge scripting, where the ethernet side was the gateway ....lol. I need to quit responding while I'm at work.
-
Got Paul_123's LMS running with his help. I cannot get my Apps to populate, anyone using APPs successfully on this setup? I like to stream a classical internet radio via LMS and PiCore player.
I used the Pandora App without issue.
-
So the rotating file name isn't a problem........
wget "http://www.mysqueezebox.com/update/?version=7.9.0&revision=1&geturl=1&os=nocpan" -O - | xargs wget
will download the latest nightly build. But this is going to be hard to script, as the tarball that is downloaded has a starting directory entry which is the same as the filename that is downloaded.
tc@devel:~$ tar -tvf logitechmediaserver-7.9.0-1453842937-noCPAN.tgz |more
drwx------ parabuild/parabuild 0 2016-01-26 21:24:38 logitechmediaserver-7.9.0-1453842937-noCPAN/
-rwxr-xr-x parabuild/parabuild 33223 2016-01-26 13:04:51 logitechmediaserver-7.9.0-1453842937-noCPAN/slimserver.pl
drwx------ parabuild/parabuild 0 2016-01-26 21:17:42 logitechmediaserver-7.9.0-1453842937-noCPAN/HTML/
drwx------ parabuild/parabuild 0 2016-01-26 21:17:42 logitechmediaserver-7.9.0-1453842937-noCPAN/HTML/Default/
....etc......
Does the nightly build contain anything that isn't already maintained in GIT? GIT would be much easier to manage.
Also, is there really a need for daily, or weekly........why not just on major update or feature add.
-
Hi Paul_123
I would think you'd want to stick to stable releases for the repository if possible. While nightly builds may fix some
bugs, they will likely introduce new ones due to limited testing.
-
Hi Paul_123
I would think you'd want to stick to stable releases for the repository if possible. While nightly builds may fix some
bugs, they will likely introduce new ones due to limited testing.
I'm tending to agree. But you know how some love the bleeding edge :). The developer is pretty active. Appears that it's mostly refinements bug fixes. ( more than 35 commits in January) I'll continue to research some options here.
In the meantime, I pulled the changes in commits as of today. I wanted to get the official armv6 binaries, there was a different in the image scale routines from what we released over the weekend. I also separated the CPAN/armv6 binaries into their own extension. This will isolate the Server / arm Perl binaries / perl version.
https://www.dropbox.com/sh/qj0hrk42tiepokl/AAApIaR9_mpmmHor0SZPPGhZa?dl=0
-
See that there is something wrong with the plugins storage. The Radio (TuneIn) is not enabled.
Need to go to the setup, do something with plugins, when prompted, accept restart.
Than it works until hard reboot / power recycling.
Has anybody else the same behavior?
-
See that there is something wrong with the plugins storage. The Radio (TuneIn) is not enabled.
Need to go to the setup, do something with plugins, when prompted, accept restart.
Than it works until hard reboot / power recycling.
Has anybody else the same behavior?
Just to be clear, are you installing Tunein from the mysqueezebox website, and slimserver is connected to your mysqueezebox account? or is there some other method you are using?
-
No, I've not install anything. TuneIn is basic part of LMS when you click on "Radio" button. I have there only one button for setting direct URL, no other buttons for 'Local radio', 'By location' etc.
-
Got it, I have the start link in the bootlocal.sh. When I restart it, it works.
Than I added sleep 10 like this
# ------ Put other system startup commands below this line
# Start Slimserver
/bin/mount /mnt/sda1
sleep 10
/usr/local/etc/init.d/slimserver start
and it works. Means that something block the access to the config files at /mnt/mmcblk0p2 during startup. Probably we need some flag of the access enable to add to the startup script.
-
The TCE directory is mounted early in the boot process. It has to be, or the extensions would not be available to mount.
Where are you setting your network IP address? I had some problems if I tried to start the server before my network was assigned an address and up.
-
I have fixed IP and set it at the top of the bootlocal.sh.
My bootlocal.sh is:
#!/bin/sh
# Start LAN with fixed configuration
ifconfig eth0 down
ifconfig eth0 add 192.168.1.10 up
route add default gw 192.168.1.1
echo nameserver 192.168.1.1 >> /etc/resolv.conf
# Start serial terminal
#/usr/sbin/startserialtty &
# Set CPU frequency governor to ondemand (default is performance)
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# Load modules
#/sbin/modprobe i2c-dev
# Start openssh daemon
/usr/local/etc/init.d/openssh start
# ------ Put other system startup commands below this line
# Start Slimserver
/bin/mount /mnt/sda1
sleep 10
/usr/local/etc/init.d/slimserver start
-
Paul, you're right, the Radio issue seems to be somehow related to the network.
I've used simple network test and now it works.
# Wait until network is up and running
until ifconfig | grep -q Bcast
do
sleep 1
done
# Start Slimserver
/bin/mount /mnt/sda1
/usr/local/etc/init.d/slimserver start
-
I was having App troubles also and I put a "sleep 10" above my slimserver start command in bootlocal.sh and it is working correctly.
Also, what is the recommended procedure to combine PiCore player and slimserver on a single Pi?
-
Paul, you're right, the Radio issue seems to be somehow related to the network.
I've used simple network test and now it works.
# Wait until network is up and running
until ifconfig | grep -q Bcast
do
sleep 1
done
# Start Slimserver
/bin/mount /mnt/sda1
/usr/local/etc/init.d/slimserver start
That is the exact script I use for DHCP. That is odd that a static IP is doing that too. I can add that to the startup script to make sure there is a live network connection before starting slimserver.
-
New version to test out.
ChangLog
- We are now using Perl 5.22.1 from the repo. This extension on the repo was just updated, so please update your perl5.tcz from the repo. perl-5.20.3.tcz is no longer needed.
- I pulled the latest git as of 1/28/2016
- I also added a network check to the slimserver startup script. Please note that if you are mounting a network file system in bootlocal, you will likely have to do this check yourself anyway.
https://www.dropbox.com/sh/qj0hrk42tiepokl/AAApIaR9_mpmmHor0SZPPGhZa?dl=0
-
For those, who like to update from nightly, simply run the attached script from the home directory.
-
I was having App troubles also and I put a "sleep 10" above my slimserver start command in bootlocal.sh and it is working correctly.
Also, what is the recommended procedure to combine PiCore player and slimserver on a single Pi?
hi yeme,
We will probably just add a web page to automate the install of LMS over piCorePlayer, but there are still things to work out before that happens.
In the mean time you should be able to follow Paul_123 instructions to manually install it yourself.
regards
Greg
-
For those, who like to update from nightly, simply run the attached script from the home directory.
Nice script. Care if I include it in the extension?
-
Nice script. Care if I include it in the extension?
Yes, why not. Guess to use cron to have option for automated daily/weekly update.
-
New version to test out.
ChangLog
- We are now using Perl 5.22.1 from the repo. This extension on the repo was just updated, so please update your perl5.tcz from the repo. perl-5.20.3.tcz is no longer needed.
- I pulled the latest git as of 1/28/2016
- I also added a network check to the slimserver startup script. Please note that if you are mounting a network file system in bootlocal, you will likely have to do this check yourself anyway.
https://www.dropbox.com/sh/qj0hrk42tiepokl/AAApIaR9_mpmmHor0SZPPGhZa?dl=0
Thanks Paul_123,
It works! :D
I just installed your extensions over piCorePlayer 2.00 and with one additional extension it is now working great. So far so good.
Initially I got this error message when trying to play a song.
$ /usr/local/slimserver/Bin/armhf-linux/sox: error while loading shared libraries: libgomp.so.1: cannot open shared object file: No such file or directory
/usr/local/slimserver/Bin/armhf-linux/sox: error while loading shared libraries: libgomp.so.1: cannot open shared object file: No such file or directory
I loaded gcc_libs.tcz to get libgomp.so.1
A)bout I)nstall O)nDemand D)epends T)ree F)iles siZ)e L)ist S)earch P)rovides K)eywords or Q)uit:
Downloading: gcc_libs.tcz
Connecting to distro.ibiblio.org (152.19.134.43:80)
gcc_libs.tcz 100% |**************************************************************| 708k 0:00:00 ETA
gcc_libs.tcz: OK
gcc_libs.tcz
A)bout I)nstall O)nDemand D)epends T)ree F)iles siZ)e L)ist S)earch P)rovides K)eywords or Q)uit:
So I am not sure if it is a missing dependency or something unique to piCorePlayer.
regards
Greg
-
Initially I got this error message when trying to play a song.
$ /usr/local/slimserver/Bin/armhf-linux/sox: error while loading shared libraries: libgomp.so.1: cannot open shared object file: No such file or directory
/usr/local/slimserver/Bin/armhf-linux/sox: error while loading shared libraries: libgomp.so.1: cannot open shared object file: No such file or directory
I loaded gcc_libs.tcz to get libgomp.so.1
That's something I probably have not tested. I've never understood why the server would be using sox, or faad, etc. What server settings processes files through sox, etc.
-
That's something I probably have not tested. I've never understood why the server would be using sox, or faad, etc. What server settings processes files through sox, etc.
hi Paul_123,
Hopefully someone with a better understanding of this (Steen) might help out. My limited understanding is LMS *can* do all file conversions and resampling before streaming to the player. In my case, all my music is stored as WAV but it is converted to FLAC before it is streamed to squeezelite. FLAC is the default streaming setting for WAV. Am I talking out my rear?
regards
Greg
-
Yeme,
Also, what is the recommended procedure to combine PiCore player and slimserver on a single Pi?
You may use the slimserver.tcz and when you'll have it working, install the player:
tce-load -wi libasound.tcz
wget http://ralph_irving.users.sourceforge.net/pico/squeezelite-armv6hf-noffmpeg -O squeezelite
sudo chmod 755 squeezelite
sudo cp squeezelite /usr/bin
Than start the player:
/usr/bin/squeezelite -U PCM -z -s 127.0.0.1
This set the PCM at 100% volume for the integrated sound card.
-
Greg,
seems to me that your error is related to the piCorePlayer somehow. I've installed the slimserver and than squeezelite and it works without gcc_libs.tcz.
-
Greg,
seems to me that your error is related to the piCorePlayer somehow. I've installed the slimserver and than squeezelite and it works without gcc_libs.tcz.
Hi jgrulich,
I guess because we start with a empty /mnt/mmcblk0p2/tce/optional we have excluded the extension with libgomp.so.1
Can you do a
$ sudo find / -name libgomp.so.1 -print
/usr/lib/libgomp.so.1
/tmp/tcloop/gcc_libs/usr/lib/libgomp.so.1
regards
Greg
-
Greg,
You are correct. gcc_libs.tcz is a requirement for the sox binary that is included with slimserver. I'll add that to the dep list. The sox binary is not used in the default server setup, but we should include everything that might be needed.
Thx for testing
Paul
-
You are correct. gcc_libs.tcz is a requirement for the sox binary that is included with slimserver. I'll add that to the dep list. The sox binary is not used in the default server setup, but we should include everything that might be needed.
sox.tcz is in the piCore repo. Are you using it or your own? Would be good to use repo items as much as possible. If something missing or need rebuild, tell.
-
The squeezelite player extension is available now:
https://www.dropbox.com/sh/rue4jkctmcf4nup/AAA0_UP_nQDdp3sCSsR2ynwUa?dl=0
-
sox.tcz is in the piCore repo. Are you using it or your own? Would be good to use repo items as much as possible. If something missing or need rebuild, tell.
There are 4 binaries included with the arm specific package from Logitech. (faad, flac, sox, wvunpack) To be honest, until Greg mentioned it, I didn't even know why they were there. I have not even looked at the compile options that they use. I did look at sox specfically, the are not dynamically linking to the libsox.so, so they must have a few things turned off or statically linked that specific library.
-
I was having App troubles also and I put a "sleep 10" above my slimserver start command in bootlocal.sh and it is working correctly.
Also, what is the recommended procedure to combine PiCore player and slimserver on a single Pi?
hi yeme,
We will probably just add a web page to automate the install of LMS over piCorePlayer, but there are still things to work out before that happens.
In the mean time you should be able to follow Paul_123 instructions to manually install it yourself.
regards
Greg
Thanks, Greg. I combined these yesterday-loaded piCorePlayer 2.0 first, then employed Paul_123's Slimserver files and it has been running since last night. I look forward to your more automated setup. It has worked on RPI B, B+ and RPi2.
-
Yeme,
Also, what is the recommended procedure to combine PiCore player and slimserver on a single Pi?
You may use the slimserver.tcz and when you'll have it working, install the player:
tce-load -wi libasound.tcz
wget http://ralph_irving.users.sourceforge.net/pico/squeezelite-armv6hf-noffmpeg -O squeezelite
sudo chmod 755 squeezelite
sudo cp squeezelite /usr/bin
Than start the player:
/usr/bin/squeezelite -U PCM -z -s 127.0.0.1
This set the PCM at 100% volume for the integrated sound card.
Thanks, jgrulich. I want to have the "piCorePlayer" version because I really like the web GUI to access the player settings. I will try your recipe as I need the experience!
-
Thanks, jgrulich. I want to have the "piCorePlayer" version because I really like the web GUI to access the player settings. I will try your recipe as I need the experience!
I've shared the link for squeezelite extension. It will be now easier and faster to add the player to the LMS. You don't need any GUI for setup, only add one single line to the bootlocal.sh.
-
Well,
Let's cross our fingers that this is the final update. Lets call this RC1
* Fixed Dependancy file to include gcc_libs.tcz
* Updated to the latest commit 7b09e1c
* Integrated a script to pull the nightly archive and update your local tcz. (Inspired by jgrulich). Script is smart enough not to update if the nightly has not changed. included options for unattended operation and automatic reboots.......... it happens purely in /tmp. The script will download and install squashfs-tools.tcz if you don't have it
https://www.dropbox.com/sh/qj0hrk42tiepokl/AAApIaR9_mpmmHor0SZPPGhZa?dl=0
-
What's the purpose of the gcc_libs? I'm not using even the bin files provided by Logitech and everything works.
Thee was a long discussion about that, but didn't found any conclusion.
-
What's the purpose of the gcc_libs? I'm not using even the bin files provided by Logitech and everything works.
Thee was a long discussion about that, but didn't found any conclusion.
If you use LMS to transcode your files at the server level, LMS uses the binaries located in the /Bin directory. One of those binaries needed a library contained in gcc_libs.tcz. I know most don't do it, but some do.
-
Hi Paul.
Fantastic work you have done with LMS.
You and Jgrulich even managed to develop a script for updating the nightly LMS on piCore - this is even more impressive.
I don't think that this is possible on other distros. Most often there is a person responsible for maintaining the build of packages - but you made it possible for each user to freely update when they want.
So thank you.
As discussed with you in PM Greg and I are working on adding this to piCorePlayer in the future.
Steen
-
Well,
Let's cross our fingers that this is the final update. Lets call this RC1
* Fixed Dependancy file to include gcc_libs.tcz
* Updated to the latest commit 7b09e1c
* Integrated a script to pull the nightly archive and update your local tcz. (Inspired by jgrulich). Script is smart enough not to update if the nightly has not changed. included options for unattended operation and automatic reboots.......... it happens purely in /tmp. The script will download and install squashfs-tools.tcz if you don't have it
https://www.dropbox.com/sh/qj0hrk42tiepokl/AAApIaR9_mpmmHor0SZPPGhZa?dl=0
Hi Paul & All,
This is my first post here so let me say hello to everybody 8)
As I am completely new to this great linux distribution I would be grateful to you if you could guide me through the installation steps to iget LMS up and running on the excellent piCorePlayer.
After running:
wget https://www.dropbox.com/sh/qj0hrk42tiepokl/AAApIaR9_mpmmHor0SZPPGhZa?dl=0
shall I run:
tce-load -i slimserver-CPAN-armv6.tcz
tce-load -i slimserver.tcz
sudo filetool.sh -b
Thanks a lot in advance!
Regards.
-
@Harlock74
1) Download the files to /mnt/mmcblk0p2/tce/optional
2) edit /mnt/mmcblk0p2/tce/onboot.lst and add slimserver.tcz to the list.
3) add this to /opt/bootlocal.sh
#wait for Network to come up
CNT=0
until ifconfig | grep -q Bcast
do
[ $((CNT++)) -gt 60 ] && break || sleep 1
done
mount /mnt/media ///whatever mount command you need to mount your media folders......
/usr/local/etc/init.d/slimserver start
4) filetool.sh -b
5) reboot
-
Hi Paul,
Many thanks for getting back to me. Very much appreciated.
Before posting back I did try several times, however I can't get it to work. It would appear that slim server is not running at all, indeed it doesn't show up when I run top.
I tried to run sudo /usr/local/etc/init.d/slimserver start manually but I get the following error message:
/usr/local/etc/init.d/slimserver: line 83: /usr/local/slimserver/slimserver.pl: not found
When you get a chance would you please be so kind as to help me out? Many thanks for your patience with me. ::)
-
hi Harlock74,
Did you load perl?
regards
Greg
-
Forgot that step....once we get it in the repo, then it would be automatic.
run these commands once
tce-load -liw perl5.tcz
tce-load -liw gcc_libs.tcz
And then reboot.
If you still have problem, run df and post the output.
-
hi Harlock74,
Did you load perl?
regards
Greg
Hi Greg,
Would you please let me know how load perl?
Cheers
-
Forgot that step....once we get it in the repo, then it would be automatic.
run these commands once
tce-load -liw perl5.tcz
tce-load -liw gcc_libs.tcz
And then reboot.
If you still have problem, run df and post the output.
Hi Paul,
I will try now and come back to you.
Cheers
-
Forgot that step....once we get it in the repo, then it would be automatic.
run these commands once
tce-load -liw perl5.tcz
tce-load -liw gcc_libs.tcz
And then reboot.
If you still have problem, run df and post the output.
Hi Paul/Greg,
Good news! That did the trick and it is working like a charm! Thanks so much for your kind help!
May I ask you one more question? How does the script to download the latest nightly work?
Thanks a lot again!!!!!!!!!!!!!!!
-
May I ask you one more question? How does the script to download the latest nightly work?
Nighty updates is not completely accurate, there is an update whenever Michael commits a new update at the official logitech site.
the script is at /usr/local/bin/lms-update.sh
Just run it with root-permissions.
-It checks to see if a new nightly exists.
-Downloads the update into /tmp
-Copies a couple of things from the current slimserver extension
-Rebuilds the new extension locally on your machine
-Replaces the extension in your $TCEDIR/optional folder.
-
Hi Paul,
Many thanks for finding the time to get back to me.
The script is also working like a charm, absolutely spot on!
Have a good evening.
Cheers
-
hi Harlock74,
Did you load perl?
regards
Greg
Hi Greg,
Apologies for the OT but just wanted to let you know that the latest piCorePlayer 2.0.1 is rocking out and with the integrated LMS (once again a big thanks to Paul), I am literally over the moon tonight 8)
Cheers.
-
Hi,
thanks for LMS package, It installed fine, I try youtube extension but it fails to load, IO::Socket::SSL is missing.
I compiled it with cpan but after reboot it's gone ! how do I build it ' I'm new to TCL, thanks for any help
-
Hi fedcod
I compiled it with cpan but after reboot it's gone ! how do I build it ' I'm new to TCL, thanks for any help
Go to the Wiki:
http://wiki.tinycorelinux.net/wiki:start
Read about Persistence and Creating Extensions. The following is also highly recommended reading:
http://tinycorelinux.net/book.html
-
Hi,
thanks for LMS package, It installed fine, I try youtube extension but it fails to load, IO::Socket::SSL is missing.
I compiled it with cpan but after reboot it's gone ! how do I build it ' I'm new to TCL, thanks for any help
Custom Downloaded Extensions for LMS should go into the cache folder, which is persistent. Where were you trying to put the the file?
-
Thanks to you both, I'm going to read the wiki !
Custom Downloaded Extensions for LMS should go into the cache folder, which is persistent. Where were you trying to put the the file?
I didn't move it, just did something like sudo cpan -i IO::Socket::SSL , intalled compilation missing stuff until it compiled. Finally, when extension was built, I've rebooted to test it youtube plugin would run or if I have to build other things.
One weird thing is that now that gcc.tcz, make.tcz, ... are installed , compilation fails
Running make for M/MI/MIKEM/Net-SSLeay-1.72.tar.gz
MIKEM/Net-SSLeay-1.72.tar.gz
make -- NOT OK
I definitely have to RTFM ;)
-
If that is a Perl add on, that would not be in any of the LMS folders. Reading up on persistence will do the trick
-
Hi fedcod
... intalled compilation missing stuff until it compiled.
If you need to compile, don't try to install the tools piecemeal. Install compile-essentials and it will pull in the tools
for a proper compile environment.
One weird thing is that now that gcc.tcz, make.tcz, ... are installed , compilation fails
Running make for M/MI/MIKEM/Net-SSLeay-1.72.tar.gz
MIKEM/Net-SSLeay-1.72.tar.gz
make -- NOT OK
It looks like you are trying to run make on a tar.gz file. I think you need to unpack it first. See the section titled
Creating Extensions in the WIki.
-
it ended like this :
tce-load -wi compile-essentials.tcz
tce-load -wi binutils.tcz
tce-load -wi openssl-dev.tcz
sudo cpan -i IO::Socket::SSL
sudo vi /opt/.filetool.lst
and add this files to .filetool.lst
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/SSLeay.so
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/autosplit.ix
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/do_https.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/head_httpx4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/put_httpx4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/post_httpx4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/get_httpx4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/head_httpx3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/put_httpx3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/post_httpx3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/get_httpx3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/head_httpx.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/put_httpx.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/post_httpx.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/get_httpx.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/head_http4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/put_http4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/post_http4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/get_http4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/head_http3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/put_http3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/post_http3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/get_http3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/head_http.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/put_http.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/post_http.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/get_http.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/head_https4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/put_https4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/post_https4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/get_https4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/head_https3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/put_https3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/post_https3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/get_https3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/head_https.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/put_https.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/post_https.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/get_https.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/do_https4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/do_httpx4.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/do_https2.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/do_httpx2.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/do_https3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/do_httpx3.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/make_headers.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/make_form.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/set_proxy.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/set_server_cert_and_key.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/set_cert_and_key.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/httpx_cat.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/http_cat.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/https_cat.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/tcpxcat.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/tcpcat.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/sslcat.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/initialize.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/new_x_ctx.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/randomize.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/dump_peer_certificate.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/tcp_write_CRLF.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/ssl_write_CRLF.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/tcp_read_CRLF.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/ssl_read_CRLF.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/tcp_read_until.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/ssl_read_until.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/tcp_write_all.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/ssl_write_all.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/tcp_read_all.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/ssl_read_all.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/debug_read.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/open_proxy_tcp_connection.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/open_tcp_connection.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/want_X509_lookup.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/want_write.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/want_read.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/auto/Net/SSLeay/want_nothing.al
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/Net/SSLeay.pod
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/Net/SSLeay.pm
/usr/local/lib/perl5/site_perl/5.22.1/arm-linux-gnueabihf-thread-multi-64int/Net/SSLeay/Handle.pm
/usr/local/lib/perl5/site_perl/5.22.1/Mozilla/mk-ca-bundle.pl
/usr/local/lib/perl5/site_perl/5.22.1/Mozilla/CA.pm
/usr/local/lib/perl5/site_perl/5.22.1/Mozilla/CA/cacert.pem
/usr/local/lib/perl5/site_perl/5.22.1/IO/Socket/SSL.pod
/usr/local/lib/perl5/site_perl/5.22.1/IO/Socket/SSL.pm
/usr/local/lib/perl5/site_perl/5.22.1/IO/Socket/SSL/Utils.pm
/usr/local/lib/perl5/site_perl/5.22.1/IO/Socket/SSL/PublicSuffix.pm
/usr/local/lib/perl5/site_perl/5.22.1/IO/Socket/SSL/Intercept.pm
/usr/local/lib/perl5/5.22.1/arm-linux-gnueabihf-thread-multi-64int/perllocal.pod
I'm sure there is a better solution like building an extension but that'll do the trick till I have time to read how to build an extension !
Thanks all for your kind replies :)
ps: I have not rebooted yet so I'm not sure it will work after next reboot.
-
Hi fedcod
That's a lot of stuff to backup. You could simplify your filetool.lst entries down to:
/usr/local/lib/perl5/site_perl/5.22.1
/usr/local/lib/perl5/5.22.1/arm-linux-gnueabihf-thread-multi-64int/perllocal.pod
ps: I have not rebooted yet so I'm not sure it will work after next reboot.
Make sure you run a backup first.
-
Thanks, will do !