Jump to content

A Short Introduction to Tiny Core Linux


bobfa
 Share

Recommended Posts

There are many ways to build a computer system for desktop or specifically for audio systems.  Linux is used on many audio system devices for many reasons.    I am a bit of a computer geek, so I keep digging to see what I can find that works better, sounds better, and can get into more peoples systems to enjoy music.  

 

The internet is a BIG place and until about a month ago, I missed seeing Tiny Core Linux.  It is designed to do many things that we have found are required for better sound quality.  Less overhead, no extra processes, run in RAM, small footprint.  The OS requires 46 MB (megabytes) of RAM to run in.  In intel land it needs a i486DX processor.  Pop open a tab with http://tinycorelinux.net/welcome.html and check it out.

 

There are ports to various platforms, such as Raspberry Pi.

 

I "discovered" Tiny Core Linux because PiCorePlayer is built on it. PiCorePlayer is a complete music system OS for Logitech Media Server and Squeezelite Player.

 

I "wonder" what more can be done here?  Create a variant that runs Roon Bridge, or NAA, etc.

 

Like I said, this is an introduction.  I am writing about my experience with PiCorePlayer Here

 

--RJF

 

 

 

 

 

Link to comment
Share on other sites

IMHO the footprint should be fairly unbeatable, though even more benefits could be easily reaped for free

 

https://github.com/supreme-neck-protecta/TinyCore-Sound-Adjustments

 

(Don't forget to change the URL from https://github.com/dynobot/TinyCore-Sound-Adjustments/raw/master/install.sh to https://github.com/supreme-neck-protecta/TinyCore-Sound-Adjustments/raw/master/install.sh)

 

Here's another freebie

 

https://soundcheck-audio.blogspot.com/p/the-skit-pcp.html

https://soundcheck-audio.blogspot.com/2021/08/introducing-skit-15.html

 

Of course the "stock" Linux kernel provided by the developers of piCorePlayer should be nothing to write home about IMHO, once we compare something like that with Xenomai 2 / Xenomai 3 etc.

 

https://wiki.csie.ncku.edu.tw/embedded/xenomai/rtlws_paper.pdf#page=6

http://kth.diva-portal.org/smash/get/diva2:1148515/FULLTEXT01.pdf#page=69

 

If that link to first PDF file above weren't working, try this Google link instead by going for the first result on top and then take a look at page 6 afterwards

 

https://www.google.com/search?q=https%3A%2F%2Fwiki.csie.ncku.edu.tw%2Fembedded%2Fxenomai%2Frtlws_paper.pdf

 

And then we've got Xenomai 4 / EVL right now

 

https://evlproject.org/core/

 

As usual it's also available for free with quite a few interesting options

 

https://www.stsd99.com/phpBB3/viewtopic.php?p=20179#p20179

kI4dhKP.jpg

 

NoKVM2 HDs

https://raw.githubusercontent.com/sam0402/pcp-44.1KHz/master/pCP8-Quantum_NoKVM2_HDs.img.7z.001

https://raw.githubusercontent.com/sam0402/pcp-44.1KHz/master/pCP8-Quantum_NoKVM2_HDs.img.7z.002

 

NoKVM2 HDx

https://raw.githubusercontent.com/sam0402/pcp-44.1KHz/master/pCP8-Quantum_NoKVM2_HDx.img.7z.001

https://raw.githubusercontent.com/sam0402/pcp-44.1KHz/master/pCP8-Quantum_NoKVM2_HDx.img.7z.002

Quote

piCorePlayer 8 Powered by Kernel 5.13.1 EVL

 

Just a few typical reactions, actually pretty much everyone who gave that a shot (Noël Edition was still Xenomai 3 back then but now it's already Xenomai 4 / EVL) turned out to be pretty darn happy about it

 

https://audiophilestyle.com/forums/topic/60691-how-is-the-pi-4/page/2/?tab=comments#comment-1102195

Quote

Thank you so much! This is truly amazing and sounds so good.

 

https://audiophilestyle.com/forums/topic/60691-how-is-the-pi-4/page/2/?tab=comments#comment-1102488

Quote

Overall the NOEL piCorePlayer Version in combination with the Squeezelite version by soundcheck sounds absolutely amazing.

 

So far that OCXO clock board for 50 bucks (I mentioned that on page 3) also worked fantastically for audiophiles in Taiwan and Vietnam etc.

Link to comment
Share on other sites

3 hours ago, seeteeyou said:

IMHO

 

 

 

 

And then we've got Xenomai 4 / EVL right now

 

https://evlproject.org/core/

 

As usual it's also available for free with quite a few interesting options

 

 

NoKVM2 HDs

https://raw.githubusercontent.com/sam0402/pcp-44.1KHz/master/pCP8-Quantum_NoKVM2_HDs.img.7z.001

https://raw.githubusercontent.com/sam0402/pcp-44.1KHz/master/pCP8-Quantum_NoKVM2_HDs.img.7z.002

 

NoKVM2 HDx

https://raw.githubusercontent.com/sam0402/pcp-44.1KHz/master/pCP8-Quantum_NoKVM2_HDx.img.7z.001

https://raw.githubusercontent.com/sam0402/pcp-44.1KHz/master/pCP8-Quantum_NoKVM2_HDx.img.7z.002

 

OK I am going to give this a try.  What are the two variants above?  I assume that 001 and 002 have to be combined in some way.???

 

Link to comment
Share on other sites

Basically those variants (i.e. NoKVM2 HDs / NoKVM2 HDx) were created with different compiler options, some preferred the former one while the others liked the latter one. In other words, some system-dependent variables might be involved so please feel free to compare both.

 

Simply grab both 001 and 002 parts and then put them together, finally use 7-Zip to extract either image (e.g. pCP8-Quantum_NoKVM2_HDx.img) automatically without having to combine anything whatsoever.

 

GitHub might not like it very much if someone were uploading a relatively large file, that's the whole point of splitting it up in the first place.

Link to comment
Share on other sites

OK 

Got it!  The one I tried did not seem to appear on the network.  I will re-test today.

 

 

Thanks again for the pointers.  Klaus at soundcheck blog is outstanding.  A great resource to set up the whole system.

Link to comment
Share on other sites

Previous version of piCorePlayer kernel with Xenomai 3 (most likely the same deal with EVL then?) seemed to require 5V / 3A (as a bare minimum amount of power) in order to boot properly, someone else tried 5V / 2.1A and that's no go

 

https://www.stsd99.com/phpBB3/viewtopic.php?p=19815#p19815

 

Then he tried another 5V / 3A PSU and it's working just fine afterwards. Farad Super 3 should provide up to 3A but you should be going through multiple steps (from barrel to USB-C → from USB-C to the PCB of Argon ONE → from PCB to GPIO) in your own setup, in the end maybe it's hard to tell if there were still 5V / 3A left or otherwise?

 

In addition, M.2 SATA storage itself could also draw quite a bit of power to begin with and not sure if that were competing with everything else?

 

And then doing stuff like this wouldn't be all that pretty as well

 

 

https://tech.scargill.net/argon-one-case-for-raspberry-pi4/

XmAiVdn.png

 

If you weren't exactly enjoying all that "fun" stuff at all, could it be somewhat easier to purchase another unit of Raspberry Pi 4B instead?

 

FYI - in reality they're actually assigning the first Pi 4B to be NAS, the second Pi 4B to be music server, and the third Pi 4B to be endpoint.

 

(i.e. Pi ❶ = OpenMediaVault → Pi ❷ = piCorePlayer w/ LMS → Pi ❸ = piCorePlayer w/ Squeezelite)

 

Other than that, sometimes it's kinda picky about the boot drive and therefore having that USB 3 ⇔ SATA adapter wouldn't be all that helpful in the first place. Usually the developer himself would recommend trying micro SDXC cards instead of USB storage.

Link to comment
Share on other sites

The system design I am using is a Pi4 with SSD (4 TB) powered from an HDPLEX power supply as the LMS server.  When done, I will have three endpoints: two USBridge Sig devices (CM3) and a pi4 in the primary system.  I am changing the case on that pi4 to an entirely passive one with more metal mass and no internal connections.  I have meant to ask Farad to make USB-C power cables; I need to do that!

 

Furthermore, I think not to have a third computing device (NAS) and associated network traffic fetching the NAS files.  I have not looked at the slim protocol to see how that all works.   I can test this with my existing Synology NAS at some point.

 

This is all a lot of fun!

 

Link to comment
Share on other sites

On 10/3/2021 at 7:04 AM, bobfa said:

I "wonder" what more can be done here?  Create a variant that runs Roon Bridge, or NAA, etc.

 

piCorePlayer RoonBridge

https://github.com/sam0402/pCP-addon/tree/main/RoonBridge

 


 

Someone actually did put NAA on piCorePlayer 8 Powered by Kernel 5.13.1 EVL while previously he's running Jussi's NAA image for RPi4, then he compared the SQ of both flavors and (of course) pCP seemed to be far superior

 

https://www.my-hiend.com/vbb/showthread.php?13157-piCorePlayer6-1-0-Xenomai-44-1-48KHz雙機入門簡易安裝教學&p=244635#post244635

 

NAA images

 

https://www.signalyst.eu/bins/naa/images/

 

I guess that maybe the executable of NAA could be extracted from the NAA image naa-4122-raspberrypi4.7z and then simply copy everything to the micro SD card / SSD with piCorePlayer 8 then?

 

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2018-03-09 12:34:56 D....                            etc
2018-03-09 12:34:56 D....                            etc/networkaudiod
2018-03-09 12:34:56 .....         4471         8192  etc/networkaudiod/networkaudiod.xml
2018-03-09 12:34:56 D....                            etc/systemd
2018-03-09 12:34:56 D....                            etc/systemd/system
2018-03-09 12:34:56 D....                            etc/systemd/system/multi-user.target.wants
2018-03-09 12:34:56 .....           41            0  etc/systemd/system/multi-user.target.wants/networkaudiod.service
2018-03-09 12:34:56 D....                            lib
2018-03-09 12:34:56 D....                            lib/systemd
2018-03-09 12:34:56 D....                            lib/systemd/system
2018-03-09 12:34:56 .....          455         4096  lib/systemd/system/networkaudiod.service
2018-03-09 12:34:56 D....                            lib/systemd/system-preset
2018-03-09 12:34:56 .....           29         4096  lib/systemd/system-preset/98-networkaudiod.preset
2018-03-09 12:34:56 D....                            sbin
2018-03-09 12:34:56 .....       385568       389120  sbin/networkaudiod
2018-03-09 12:34:56 D....                            usr
2018-03-09 12:34:56 D....                            usr/share
2018-03-09 12:34:56 D....                            usr/share/common-licenses
2018-03-09 12:34:56 D....                            usr/share/common-licenses/networkaudiod
2018-03-09 12:34:56 .....         7040         8192  usr/share/common-licenses/networkaudiod/LICENSE
2018-03-09 12:34:56 .....           22            0  usr/share/common-licenses/networkaudiod/generic_Proprietary
2018-03-09 12:34:56 .....           38         4096  usr/share/common-licenses/networkaudiod/recipeinfo

 

Or something similar to the aarch64 version of this one?

 

https://aur.archlinux.org/packages/hqplayer-network-audio-daemon/

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=hqplayer-network-audio-daemon

package() {
bsdtar xf data.tar.xz -C "$srcdir"
  install -Dm644 "$srcdir/etc/default/networkaudiod" "$pkgdir/etc/default/networkaudiod"
  install -Dm644 "$srcdir/etc/networkaudiod/networkaudiod.xml" "$pkgdir/etc/networkaudiod/networkaudiod.xml"
  install -Dm644 "$srcdir/lib/systemd/system/networkaudiod.service" "$pkgdir/usr/lib/systemd/system/networkaudio.service"
  install -Dm644 "$srcdir/networkaudio.service" "$pkgdir/usr/lib/systemd/user/networkaudio.service"
  install -Dm644 "$srcdir/usr/share/doc/networkaudiod/copyright" "$pkgdir/usr/share/licenses/$pkgname/COPYING"
  install -Dm755 "$srcdir/usr/sbin/networkaudiod" "$pkgdir/usr/bin/networkaudiod"
}

 

Just extract this Debian package with 7-Zip etc. and then figure out what should be copied after checking what's inside data.tar

 

https://www.signalyst.eu/bins/naa/linux/buster/networkaudiod_4.1.1-46_arm64.deb

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2020-03-21 13:45:00 D....            0            0  .
2020-03-21 13:45:00 D....            0            0  ./etc
2020-03-21 13:45:00 D....            0            0  ./etc/default
2020-03-21 13:45:00 .....            0            0  ./etc/default/networkaudiod
2020-03-21 13:45:00 D....            0            0  ./etc/networkaudiod
2020-03-21 13:45:00 .....         4471         4608  ./etc/networkaudiod/networkaudiod.xml
2020-03-21 13:45:00 D....            0            0  ./lib
2020-03-21 13:45:00 D....            0            0  ./lib/systemd
2020-03-21 13:45:00 D....            0            0  ./lib/systemd/system
2019-10-01 21:06:24 .....          438          512  ./lib/systemd/system/networkaudiod.service
2020-03-21 13:45:00 D....            0            0  ./usr
2020-03-21 13:45:00 D....            0            0  ./usr/sbin
2020-03-21 13:45:00 .....       927264       927744  ./usr/sbin/networkaudiod
2020-03-21 13:45:00 D....            0            0  ./usr/share
2020-03-21 13:45:00 D....            0            0  ./usr/share/doc
2020-03-21 13:45:00 D....            0            0  ./usr/share/doc/networkaudiod
2020-03-21 13:45:00 .....         1996         2048  ./usr/share/doc/networkaudiod/changelog.Debian.gz
2019-10-01 21:06:24 .....         7359         7680  ./usr/share/doc/networkaudiod/copyright
------------------- ----- ------------ ------------  ------------------------
2020-03-21 13:45:00             941528       942592  6 files, 12 folders
Link to comment
Share on other sites

FYI - here's a script for installing NAA on piCorePlayer 8 Powered by Kernel 5.13.1 EVL

 

https://www.stsd99.com/phpBB3/viewtopic.php?p=20230#p20230

 

ssh [email protected]

 

Password: piCore

 

wget -O - https://raw.githubusercontent.com/sam0402/pCP-addon/main/HQPlayer/naa_install.sh | sh

 


 

Though Music Player Daemon should be the best bet for playing files processed by PGGB

 

https://audiophilestyle.com/forums/topic/62699-a-toast-to-pggb-a-heady-brew-of-math-and-magic/page/39/?tab=comments#comment-1161895

 

MPD for piCore

 

http://forum.tinycorelinux.net/index.php?topic=20664.0

http://bz31.tuxfamily.org/dokuwiki/doku.php?id=core:picore

 

Or extract the latest ARM64 / aarch64 version from one of these sources instead

 

https://pkgs.org/download/mpd

https://rpmfind.net/linux/rpm2html/search.php?query=config(mpd)

https://github.com/jcorporation/myMPDos/tree/master/repository/aarch64

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



×
×
  • Create New...