Risca / meta-lms

Collected Yocto recipes for slimserver, squeezelite and jivelite.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

meta-lms
========

This layer provides recipes for slimserver and its perl module dependencies,
as well as recipes for squeezelite and jivelite. The recipes had been tested
on Raspberry Pi 3 B+ with the official 7" touch display.

Dependencies
============

This layer depends on below repositories:

  URI: git://git.yoctoproject.org/poky
  branch: thud

  URI: git://git.yoctoproject.org/meta-raspberrypi
  branch: thud

  URI: git://git.openembedded.org/meta-openembedded
  branch: thud

The BBLAYERS in bblayers.conf on my build machine looks like below:

BBLAYERS ?= " \
  ${BSPDIR}/poky/meta \
  ${BSPDIR}/poky/meta-poky \
  ${BSPDIR}/meta-openembedded/meta-oe \
  ${BSPDIR}/meta-openembedded/meta-multimedia \
  ${BSPDIR}/meta-openembedded/meta-perl \
  ${BSPDIR}/meta-raspberrypi \
  ${BSPDIR}/meta-lms \
  ${BSPDIR}/meta-rpi-home \
"

How to build
============

Following DISTRO_FEATURES and IMAGE_FEATURES may need to add to your build
depends on what specified in IMAGE_INSTALL:

- DISTRO_FEATURES
  systemd  (for slimserver, squeezelite, jivelite)
  alsa     (for squeezelite)
  x11      (for jivelite)

- IMAGE_FEATURES
  x11-base (for jivelite)

For enabling audio support on raspberry pi, we need to add below to conf file:

RPI_EXTRA_CONFIG = ' \n \
    # Enable audio (loads snd_bcm2835) \n \
    dtparam=audio=on \n \
'

You may build all 3 into one image to run both server and player in one place,
or just build slimserver to run as server, and build squeezelite with/without
jivelite to run as player. Add the image(s) to IMAGE_INSTALL and then bitbake.

How to run
==========

All 3 should be started automatically as systemd service after boot.

For first time use:

- slimserver is delayed until an active network is configured. In my case,
  wpa_supplicant is used to connect WIFI due to I do not have direct Internet
  access via Ethernet cable. The reason to add Internet constraints are:
  1. Login to www.mysqueezebox.com
  2. Listen to online radio (my new entertainment now. :))

- jivelite needs to select a skin, where "Joggler Skin" fits the official 7"
  touch display well.

Thanks
======

This tiny layer started as a personal side project for learning Yocto, special
thanks to Mark Jonas, who inspired, guided and encouraged me to solve a lot of
puzzles and thus I'm able to put every pieces together. Thanks, Mark! :)

Issues, Suggestions and Patches
===============================

Any feedback is sincerely appreciated and welcomed, and I'll try the best to
fix or implement if time and equipment permits. :)

Please file any issues or suggestions using github.com/zhu-yi/meta-lms/issues,
or if you prefer, send e-mail to <dev.yi.zhu@gmail.com>.

About

Collected Yocto recipes for slimserver, squeezelite and jivelite.

License:MIT License


Languages

Language:BitBake 86.0%Language:Perl 9.7%Language:Shell 4.3%