Difference between revisions of "Joggler"
(→Optional: Squeezeslave) |
|||
Line 8: | Line 8: | ||
==Installing base system== | ==Installing base system== | ||
===Download and install SqueezeOS=== | ===Download and install SqueezeOS=== | ||
− | Get [http://birdslikewires.co.uk/articles/squeezeplay-os SqueezePlay OS] for Joggler. I suggest using the version "for | + | Get [http://birdslikewires.co.uk/articles/squeezeplay-os SqueezePlay OS] for Joggler. I suggest using the version "for external memory". You may use the USB version and work on with an external USB stick on your joggler. You can use either the internal or an external usb stick. However to install additional options you may require running on an external USB stick to have the space. |
====Using linux==== | ====Using linux==== | ||
Unzip the download (filename may of course change if new version is released): | Unzip the download (filename may of course change if new version is released): | ||
− | gunzip | + | gunzip sqpos303_ext.img.gz |
Plug in a 2GB (min) USB stick. Find the device name of your USB stick: | Plug in a 2GB (min) USB stick. Find the device name of your USB stick: | ||
sudo fdisk -l | sudo fdisk -l | ||
Write the image to your USB stick. '''ATTENTION: ALL FILES ON YOUR USB STICK WILL BE OVERWRITTEN !!!''' | Write the image to your USB stick. '''ATTENTION: ALL FILES ON YOUR USB STICK WILL BE OVERWRITTEN !!!''' | ||
sudo umount /dev/sdX* | sudo umount /dev/sdX* | ||
− | sudo dd if= | + | sudo dd if=sqpos303_ext.img of=/dev/sdX bs=1M |
Where sdX is your USB device. | Where sdX is your USB device. | ||
====Using OSX==== | ====Using OSX==== | ||
Unzip the download (filename may of course change if new version is released): | Unzip the download (filename may of course change if new version is released): | ||
− | gunzip | + | gunzip sqpos303_ext.img.gz |
Open a Terminal window. Plug in a 2GB (min) USB stick. Find the device name of your USB stick: | Open a Terminal window. Plug in a 2GB (min) USB stick. Find the device name of your USB stick: | ||
sudo diskutil list | sudo diskutil list | ||
Write the image to your USB stick. '''ATTENTION: ALL FILES ON YOUR USB STICK WILL BE OVERWRITTEN !!!''' | Write the image to your USB stick. '''ATTENTION: ALL FILES ON YOUR USB STICK WILL BE OVERWRITTEN !!!''' | ||
sudo umount -f /dev/diskX* | sudo umount -f /dev/diskX* | ||
− | sudo dd if= | + | sudo dd if=sqpos303_ext.img of=/dev/rdiskX bs=1m |
Where rdiskX is your USB device. | Where rdiskX is your USB device. | ||
===Flash it to your joggler's internal memory=== | ===Flash it to your joggler's internal memory=== | ||
Line 32: | Line 32: | ||
===Setup WLAN=== | ===Setup WLAN=== | ||
If you plan to use WLAN then you better configure it using the SqueezeOS GUI before we disable it in the next steps. Otherwise it will be tricky to set it up later. | If you plan to use WLAN then you better configure it using the SqueezeOS GUI before we disable it in the next steps. Otherwise it will be tricky to set it up later. | ||
− | === | + | ===SSH=== |
− | + | ||
− | + | ||
ssh joggler@<your joggler's ip> | ssh joggler@<your joggler's ip> | ||
password is: joggler | password is: joggler | ||
Line 42: | Line 40: | ||
SSH to joggler, "sudo su" to root and replace /etc/apt/sources.list with following content: | SSH to joggler, "sudo su" to root and replace /etc/apt/sources.list with following content: | ||
###### Ubuntu Main Repos | ###### Ubuntu Main Repos | ||
− | deb http:// | + | deb http://archive.ubuntu.com/ubuntu/ trusty restricted universe multiverse |
− | deb-src http:// | + | #deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse |
###### Ubuntu Update Repos | ###### Ubuntu Update Repos | ||
− | deb http:// | + | deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse |
− | deb http:// | + | deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse |
− | deb http:// | + | deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse |
− | deb-src http://uk.archive.ubuntu.com/ubuntu/ | + | #deb-src http://uk.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse |
− | deb-src http://uk.archive.ubuntu.com/ubuntu/ | + | #deb-src http://uk.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse |
− | deb-src http://uk.archive.ubuntu.com/ubuntu/ | + | #deb-src http://uk.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse |
###### Ubuntu Partner Repo | ###### Ubuntu Partner Repo | ||
− | deb http://archive.canonical.com/ubuntu | + | deb http://archive.canonical.com/ubuntu trusty partner |
− | deb-src http://archive.canonical.com/ubuntu | + | #deb-src http://archive.canonical.com/ubuntu trusty partner |
##### Joggler PPA | ##### Joggler PPA | ||
− | deb http://ppa.launchpad.net/jools/joggler/ubuntu | + | deb http://ppa.launchpad.net/jools/joggler/ubuntu trusty main |
− | deb-src http://ppa.launchpad.net/jools/joggler/ubuntu | + | #deb-src http://ppa.launchpad.net/jools/joggler/ubuntu trusty main |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
#### LinuxMCE repo | #### LinuxMCE repo | ||
− | deb http://deb.linuxmce.org/ubuntu/ | + | deb http://deb.linuxmce.org/ubuntu/ trusty main |
===Update installation to latest packages=== | ===Update installation to latest packages=== | ||
Line 72: | Line 66: | ||
apt-get upgrade | apt-get upgrade | ||
===Install pre requirements for Orbiter=== | ===Install pre requirements for Orbiter=== | ||
− | apt-get install mysql-client libsdl-ttf2.0-0 libsdl-sge libsdl-gfx1.2-4 libsdl-image1.2 | + | apt-get install mysql-client libsdl-ttf2.0-0 libsdl-sge libsdl-gfx1.2-4 libsdl-image1.2 icewm liblinphone5 libxcursor1 ttf-msttcorefonts-installer |
===Create directory structure=== | ===Create directory structure=== | ||
mkdir -p /usr/pluto/bin | mkdir -p /usr/pluto/bin | ||
Line 83: | Line 77: | ||
===Copy needed files from your core to your joggler=== | ===Copy needed files from your core to your joggler=== | ||
− | '''This step can only be successful IF you run | + | '''This step can only be successful IF you run 1404 on your core. Otherwise the binaries and libs must be sourced elsewhere''' Ask in IRC if you need them. |
− | SSH to joggler if not yet done. You don't need to become root.<br>Copy the Orbiter binary: | + | SSH to joggler if not yet done so. You don't need to become root.<br>Copy the Orbiter binary and helpers: |
cd /usr/pluto/bin | cd /usr/pluto/bin | ||
scp root@dcerouter:/usr/pluto/bin/Orbiter . | scp root@dcerouter:/usr/pluto/bin/Orbiter . | ||
Line 91: | Line 85: | ||
scp root@dcerouter:/usr/pluto/bin/SQL_Ops.sh . | scp root@dcerouter:/usr/pluto/bin/SQL_Ops.sh . | ||
scp root@dcerouter:/usr/pluto/bin/LockUtils.sh . | scp root@dcerouter:/usr/pluto/bin/LockUtils.sh . | ||
+ | scp root@dcerouter:/usr/pluto/bin/Utils.sh . | ||
+ | scp root@dcerouter:/usr/pluto/bin/pluto.func . | ||
+ | scp root@dcerouter:/usr/pluto/bin/Spawn_Device.sh . | ||
+ | scp root@dcerouter:/usr/pluto/bin/Spawn_Wrapper.sh . | ||
Copy the needed libraries: | Copy the needed libraries: | ||
Line 119: | Line 117: | ||
xset +dpms | xset +dpms | ||
xset dpms 300 300 300 | xset dpms 300 300 300 | ||
+ | |||
+ | icewm & | ||
if [ -f /home/joggler/startSqueezeSlave.sh ]; then | if [ -f /home/joggler/startSqueezeSlave.sh ]; then |
Revision as of 23:15, 31 March 2015
Contents
Transforming O2 Joggler to LinuxMCE orbiter
Creating device in LinuxMCE
Login to your webadmin. Go to "Orbiter" and add a new device of type "Orbiter". Set the Size to "Nokia770". Choose whatever skin and language you like. Quick reload your core and let it create the Orbiter. Anyway; you have a lot of work to do meanwhile :-) Check your new orbiter's device ID. You will need it below during pluto.conf creation.
Installing base system
Download and install SqueezeOS
Get SqueezePlay OS for Joggler. I suggest using the version "for external memory". You may use the USB version and work on with an external USB stick on your joggler. You can use either the internal or an external usb stick. However to install additional options you may require running on an external USB stick to have the space.
Using linux
Unzip the download (filename may of course change if new version is released):
gunzip sqpos303_ext.img.gz
Plug in a 2GB (min) USB stick. Find the device name of your USB stick:
sudo fdisk -l
Write the image to your USB stick. ATTENTION: ALL FILES ON YOUR USB STICK WILL BE OVERWRITTEN !!!
sudo umount /dev/sdX* sudo dd if=sqpos303_ext.img of=/dev/sdX bs=1M
Where sdX is your USB device.
Using OSX
Unzip the download (filename may of course change if new version is released):
gunzip sqpos303_ext.img.gz
Open a Terminal window. Plug in a 2GB (min) USB stick. Find the device name of your USB stick:
sudo diskutil list
Write the image to your USB stick. ATTENTION: ALL FILES ON YOUR USB STICK WILL BE OVERWRITTEN !!!
sudo umount -f /dev/diskX* sudo dd if=sqpos303_ext.img of=/dev/rdiskX bs=1m
Where rdiskX is your USB device.
Flash it to your joggler's internal memory
Power off your joggler. Insert your newly prepared USB stick to your joggler's external USB port. Power on your joggler and let it flash the SqueezeOS to the internal flash memory. Read instructions on screen. When done remove the externel USB stick and let the joggler boot into your newly installed SqueezeOS.
Setup WLAN
If you plan to use WLAN then you better configure it using the SqueezeOS GUI before we disable it in the next steps. Otherwise it will be tricky to set it up later.
SSH
ssh joggler@<your joggler's ip>
password is: joggler
Transform it to Orbiter
Adapt sources.list
SSH to joggler, "sudo su" to root and replace /etc/apt/sources.list with following content:
###### Ubuntu Main Repos deb http://archive.ubuntu.com/ubuntu/ trusty restricted universe multiverse #deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse ###### Ubuntu Update Repos deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse #deb-src http://uk.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse #deb-src http://uk.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse #deb-src http://uk.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse ###### Ubuntu Partner Repo deb http://archive.canonical.com/ubuntu trusty partner #deb-src http://archive.canonical.com/ubuntu trusty partner ##### Joggler PPA deb http://ppa.launchpad.net/jools/joggler/ubuntu trusty main #deb-src http://ppa.launchpad.net/jools/joggler/ubuntu trusty main #### LinuxMCE repo deb http://deb.linuxmce.org/ubuntu/ trusty main
Update installation to latest packages
apt-get update apt-get upgrade
Install pre requirements for Orbiter
apt-get install mysql-client libsdl-ttf2.0-0 libsdl-sge libsdl-gfx1.2-4 libsdl-image1.2 icewm liblinphone5 libxcursor1 ttf-msttcorefonts-installer
Create directory structure
mkdir -p /usr/pluto/bin mkdir -p /usr/pluto/lib mkdir -p /usr/pluto/locks mkdir -p /var/log/pluto chown -R joggler:joggler /usr/pluto chown -R joggler:joggler /var/log/pluto
Copy needed files from your core to your joggler
This step can only be successful IF you run 1404 on your core. Otherwise the binaries and libs must be sourced elsewhere Ask in IRC if you need them.
SSH to joggler if not yet done so. You don't need to become root.
Copy the Orbiter binary and helpers:
cd /usr/pluto/bin scp root@dcerouter:/usr/pluto/bin/Orbiter . scp root@dcerouter:/usr/pluto/bin/Config_Ops.sh . scp root@dcerouter:/usr/pluto/bin/SQL_Ops.sh . scp root@dcerouter:/usr/pluto/bin/LockUtils.sh . scp root@dcerouter:/usr/pluto/bin/Utils.sh . scp root@dcerouter:/usr/pluto/bin/pluto.func . scp root@dcerouter:/usr/pluto/bin/Spawn_Device.sh . scp root@dcerouter:/usr/pluto/bin/Spawn_Wrapper.sh .
Copy the needed libraries:
cd /usr/pluto/lib scp root@dcerouter:/usr/pluto/lib/* .
Note: you may need to change "dcerouter" to your core's full FQDN or to your core's IP address, depending your local environment.
Modify config files
Tell your system where to find LinuxMCE libraries needed by Orbiter:
sudo echo /usr/pluto/lib > /etc/ld.so.conf.d/LinuxMCE.conf
Create /home/joggler/startOrbiter.sh file with following content:
#!/bin/bash . /usr/pluto/bin/Config_Ops.sh 2>/dev/null ConfGet "MyOrbiterID" ConfGet "DCERouter" while [ "1" == "1" ] ; do cd /usr/pluto/bin /usr/pluto/bin/Orbiter -r $DCERouter -d $MyOrbiterID sleep 15 done
Change mode:
chmod 755 /home/joggler/startOrbiter.sh
Replace /home/joggler/.xinitrc file with the following content:
export DISPLAY=:0.0 xset +dpms xset dpms 300 300 300 icewm & if [ -f /home/joggler/startSqueezeSlave.sh ]; then /home/joggler/startSqueezeSlave.sh& fi if [ -f /home/joggler/startOrbiter.sh ]; then /home/joggler/startOrbiter.sh else xterm fi
The "xset dpms 300 300 300" line sets the timeout in seconds for your joggler's screen to switch off. Feel free to change to your needs.
Create LinuxMCE configuration
"sudo su" to root and create /etc/pluto.conf with the following content:
MySqlHost = 192.168.80.1 MySqlUser = root MySqlPassword = MySqlDBName = pluto_main DCERouter = 192.168.80.1 MySqlPort = 3306 DCERouterPort = 3450 Display = 0 MyOrbiterID = <ID>
Replace <ID> with the device ID of the orbiter you created above.
Optional: Squeezeslave
If you want to playback audio files on your joggler via Logitech Media Server you can add the squeezeslave package:
sudo apt-get install squeezeslave
Create /home/joggler/startSqueezeSlave.sh
#!/bin/bash . /usr/pluto/bin/Config_Ops.sh 2>/dev/null ConfGet "DCERouter" MAC=$(ifconfig eth0 | grep "HWaddr" | sed 's/.*HWaddr \([:[:xdigit:]]*\).*$/\1/g') while [ "1" = "1" ]; do /usr/bin/squeezeslave -m $MAC $DCERouter done
NOTE: If you are using your Joggler with WiFi, replace "eth0" with "wlan0".
Change mode
chmod 755 /home/joggler/startSqueezeSlave.sh
If you want your squeezeslave to be a DCE device, meaning that it can be controlled by an Orbiter or my events:
- Go to LinuxMCE webadmin
- Click on "Show device tree"
- Expand CORE
- Click on "Slim Server Streamer"
- Click on "Create child device"
- Enter a description like "Joggler" and enter jogglers IP address and MAC address
- Click on "Pick device template" and choose DT #58
After having finished device installation you need to assign it to a room which does not yet have an MD.
- Click on the LinuxMCE logo in Webadmin (top left)
- Click on "A/V Equipment"
- Search for your new joggler squeezeslave, modify it's room and click the update butom on page bottom.
Quick reload DCERouter, let your orbiters rebuild and enjoy LinuxMCE playing audio on your joggler.
TODO
On my whishlist:
- Get mouse cursor hidden. All tries with unclutter or xsetroot to emptycursor failed miserably in the past.
- Make it possible to switch from Orbiter to SqueezePlay and back
- Make mediaplay work on joggler via LMCE. At least audio. Video would be a bonus.
- Make it auto create a new orbiter after first install
Future playground:
- Play with NFS boot of maybe +/- full MD ?