Asus Chromebox – Installing OpenELEC (Standalone Setup – No Chrome-OS)

There is a lot of great documentation available for installing OpenELEC aka XBMC (now renamed Kodi) on a Chromebox – but I wanted a brief summary of the steps I performed should I need to do it again.

I have been running OpenELEC as my media center of choice for quite a while now on a 7 or 8 year old PC. As that PC just died I needed a replacement – something smaller – and something cheaper! The ChromeBox looked like an ideal choice …

These steps remove ChromeOS and install OpenELEC – so consult the documentation (and do not do this) if you prefer a different configuration! You have been warned! Seriously, read the documentation!

Enormous thanks to Matt DeViller for providing the installation script, documentation and support to the community!

For reference I installed OpenELEC on an Asus ChromeBox M004U.

The first step is to enable Developer Mode:

This will erase all user data!

  • Insert paperclip into the small home next to the SD card slot to press the recovery button
  • Turn on the Chromebox and then remove the paperclip
  • At the recovery screen press Ctrl + D to enter Developer Mode
  • Press the recovery button again to confirm

If pressing Ctrl +D does not get you to Developer Mode then you will need to try a different keyboard.

 After about 5 minutes you will see the developer boot screen.

  • Shutdown Chromebox

The next step is to  Disable Firmware Write Protect:

This is optional but will decrease the developer boot screen time from 30 seconds to less than 1 second (faster boot).

  • Remove the 4 rubber feet from the base of the Chromebox
  • Unscrew the 4 screws (under rubber feet)
  • Remove base
  • Unscrew the write protect screw (pictured below):
  • Re-assemble base, screws and rubber feet

300px-Inside-chrome1

The last step is to use the ChromeBox E-Z script to install OpenELEC:

Make sure ChromeBox is connected to the internet for this step.

  • Turn on ChromeBox and boot to ChromeOS – do not log in to ChromeOS
  • Press Ctrl, Alt + F2 to open a command prompt
  • Log in as chronos (no password required)
  • Download and run the ChromeBox setup script with these commands:
curl -L -O http://goo.gl/3Tfu5W
sudo bash 3Tfu5W

cbox-menu

Press 5 to proceed with Standalone Setup – this will update the coreboot Firmware (which means that you cannot easily run  ChromeOS).

This Firmware is only valid for Haswell based Asus / HP / Acer / Dell ChromeBoxes!

  • When prompted insert a USB Jump Drive to back up the stock firmware

Remove the stock firmware backup and insert another USB Jump Drive.

Press 6 to create the OpenELEC install media on the 2nd Jump Drive.

  • Reboot
  • Press the Escape key [ESC]at the boot menu and then select the Jump Drive from the list to install OpenELEC

Pressing Escape more than once will skip the boot menu forcing the ChromeBox to attempt to boot from the hard disk (instead of the Jump Drive).

  • Select Run Installer
  • Choose Quick Install
  • Select Yes and OK as needed in the installation wizard

When installation is complete:

  • Remove Jump Drive
  • Reboot

OpenELEC recommended settings are as follows:

This assumes you are using the default (Confluence) skin:

  • System –> OpenELEC –> System: Automatic Updates:Auto
  • System –> OpenELEC –> Services: Enable Bluetooth:Selected (if using Bluetooth)
  • System –> Settings –> System: Settings Level:Expert
  • System –> Settings –> System–>Video Output: Vertical blank sync:Enabled during video playback
  • System –> Settings –> System–>Power Saving: Shutdown function:Suspend (sets IR power toggle to suspend)
  • System –> Settings –> Videos–>Acceleration: Use VC-1 VAAPI:Selected
  • System –> Settings –> Videos–>Acceleration: Use SW Filter for VAAPI:Selected

In conclusion I have to say that I am quite impressed with how well my Chromebox has handled the job so far – it is a great replacement media center box!

Sources:

http://kodi.wiki/view/Chromebox#Perform_a_Factory_Reset

http://forum.kodi.tv/showthread.php?tid=194362

Ubuntu Server 14.04 (Trusty Tahr) – Zentyal 3.5 Installation

ubuntu-server-logo

Zentyal Server is an open source Linux small business server, that can act as a Gateway, Infrastructure Manager, Unified Threat Manager, Office Server, Unified Communication Server or a combination of the above.

I am performing this setup on a minimal virtual machine installation of Ubuntu Server 14.04. At the time of writing Zentyal 3.5 is the most current Zentyal release.

First make sure that repositories and software are up to date:

sudo apt-get update
sudo apt-get upgrade

Add the Zentyal 3.5 repository to /etc/apt/sources.list:

echo "deb http://archive.zentyal.org/zentyal 3.5 main extra" | sudo tee -a /etc/apt/sources.list

Import public keys for Zentyal 3.5:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 10E239FF
wget -q http://keys.zentyal.org/zentyal-3.5-archive.asc -O- | sudo apt-key add -

Update repositories:

sudo apt-get update

Install Zentyal:

sudo apt-get install zentyal
  • When prompted enter a password for the MySQL root user.
  • Confirm port 443 as the Zentyal https port.

From here we simply setup Zentyal using the web-gui. Open Firefox (the only officially supported browser) and enter the url for your Zentyal install: https://zentyal-server-ip.

Confirm the security exception in Firefox and then log in to Zentyal using your Ubuntu Server credentials:

Zentyal - login

Ubuntu Server 14.04 (Trusty Tahr) – Quick MediaDrop Installation

ubuntu-server-logo

MediaDrop is a open source online video platform for managing and delivering video, audio and podcasts.

mediadrop

Sadly I found the official documentation to be lacking and had to cross reference it with other install guides to even get a basic setup running.

This guide will take you through a basic installation of MediaDrop that utilizes the built in Paste Server provided by Python. If you prefer a more permanent solution you can setup an Apache 2 or Nginx web server yourself. For the time being I am happy enough to just have MediaDrop running – having experienced a couple of bugs I do not want to mess with my working configuration any further right now.

My working environment is a minimal installation of Ubuntu 14.04 Server on VMware vSphere 5.x.

Let’s begin our installation – first we will elevate ourselves to the root user and then install MySQL, System libraries, development headers, python libraries and tools:

sudo -i

apt-get install mysql-server mysql-client libjpeg-dev zlib1g-dev libfreetype6-dev libmysqlclient-dev python-dev python-setuptools python-virtualenv git

When prompted enter a password for the MySQL root user.

Setup Python virtual environment:

cd /

virtualenv --no-site-packages venv

Activate the virtual environment:

source venv/bin/activate

Install MediaDrop from Git:

git clone git://github.com/mediadrop/mediadrop.git mediadrop-git

Download and install all the necessary dependencies for MediaDrop into your virtual environment:

cd mediadrop-git

python setup.py develop

Generate the deployment.ini file:

paster make-config MediaDrop deployment.ini

We will now bring up a mysql> prompt to administer the MySQL database:

mysql -u root -p

Enter your MySQL password when prompted.

Create the MySQL database mediadrop_db and the MySQL user mediadrop_user and a password for mediadrop_user:

mysql> create database mediadrop_db;
mysql> grant usage on mediadrop_db.* to mediadrop_user@localhost identified by 'mysecretpassword';
mysql> grant all privileges on mediadrop_db.* to mediadrop_user@localhost;
mysql> exit;

Note: Change ‘mysecretpassword‘ to the password you want for mediadrop_user.

Edit the delpoyment.ini file:

nano deployment.ini

Under the [app:main] heading, look for the sqlalchemy.url setting:

sqlalchemy.url = mysql://username:pass@localhost/dbname?charset=utf8&use_unicode=0

Change the username, pass, and dbname entities to mediadrop_user, password and mediadrop_db:

Note: password here refers to the password that you designated earlier for mediadrop_user.

sqlalchemy.url = mysql://mediadrop_user:mysecretpassword@localhost/mediadrop_db?charset=utf8&use_unicode=0

Setup the built in server:

paster setup-app deployment.ini

Enable simple full text searching:

mysql -u root mediadrop_db < setup_triggers.sql -p

Enter your MySQL password when prompted.

Now that MediaDrop itself is installed and the basics are configured, we can test it out using the Paste server:

paster serve --reload deployment.ini

Open a browser and enter the ip address for your server using port 8080. For example – http://server-ip:8080

To access the admin dashboard you need to append /admin to the above url.

If you restart your server you will need to activate the virtual environment again and run the Paste server again. A basic script to handle this looks like this:

#!/bin/bash
cd /
source venv/bin/activate
cd mediadrop-git
paster serve --reload deployment.ini

Save this as something like mediadrop-start.sh and then make it executable:

chmod +x mediadrop-start.sh

Run the script as follows:

sudo ./mediadrop-start.sh

As a closing note I did encounter issues accessing the admin panel after changing the admin password when using Firefox. I could access the admin panel using Internet Explorer though.

Sources:

http://mediadrop.net/docs/install/index.html

https://docs.google.com/document/pub?id=1DAikm-mCYiNFddClW21S0G-EwzINIC_gUl7pn2jq2zA

Ubuntu Server 14.04 (Trusty Tahr) – Quick Headless Transmission Setup

ubuntu-server-logo

This is a quick post with a brief explanation of how to set up transmission on Ubuntu Server (currently 14.04 (Trusty Tahr)).

First make sure your repositories are up-to-date:

sudo apt-get update

Install transmission:

sudo apt-get install transmission-cli transmission-common transmission-daemon

Check to make sure that the transmission-daemon is not running – if it is it will overwrite any configuration changes that we make later:

sudo service transmission-daemon stop

Locate the transmission-daemon settings file:

sudo find / -iname settings.json

Two locations are found for this file:

/etc/transmission-daemon/settings.json
 /var/lib/transmission-daemon/info/settings.json

We will edit /etc/transmission-daemon/settings.json:

sudo nano /etc/transmission-daemon/settings.json

The changes that I made to settings.json are in red. You will need to provide your own settings to configure your setup:

"download-dir": "your-download-location",
"incomplete-dir": "your-download-location",
"rpc-password": "password",
"rpc-username": "username",
"rpc-whitelist": "127.0.0.1,192.168.0.*",
  • download-dir and incomplete-dir are directories where complete and incomplete torrents are stored. They do not have to be different directories.
  • rpc-password and rpc-username are the username and password for web access administration.
  • rpc-whitelist defines access to transmission. Localhost (127.0.0.1) is defined by default. I added ,192.268.0.* to allow any machine on my LAN access.

Start the transmission-daemon:

sudo service transmission-daemon start

Verify that everything is working by opening a broswer and pointing it to http://server-ip:9091.

Sources:

https://forum.transmissionbt.com/viewtopic.php?f=8&t=8361

http://www.webupd8.org/2009/12/setting-up-transmission-remote-gui-in.html

Ubuntu Server 14.4 (Trusty Tahr) – add-apt-repository: command not found

ubuntu-server-logo

The last time I encountered the add-apt-repository: command not found error I was using Ubuntu Server 12.4 Lucid. The solution then was to install python-software-properties as follows:

sudo apt-get install python-software-properties

 

This did not resolve the issue on my minimal virtual machine installation on Trusty so I installed apt-file – which is an apt package searching utility:

sudo apt-get install apt-file

 

Update apt-file:

apt-file update

 

Finally use apt-file to search for the add-apt-repository package:

apt-file search add-apt-repository

 

As you can see add-apt-repository is in software-properties-common:

software-properties-common: /usr/bin/add-apt-repository
software-properties-common: /usr/share/man/man1/add-apt-repository.1.gz

 

After installing software-properties-common I was able to use add-apt-repository without any further issue:

sudo apt-get install software-properties-common

Ubuntu 14.04 (Trusty Tahr) x86 – Minor Installation Issues

ubuntu-logo

I experienced two issues trying to install Ubuntu 14.04 x86 on my old laptop today:

  • ubi-partman crashed (I clicked Continue)
  • Installation hung Getting the time from a network time server

I encountered these issues booting from DVD and then clicking on the Install Ubuntu button in the installer.

Fortunately I did not encounter either of these issues when I rebooted and then clicked Try Ubuntu in the installer and then installed Ubuntu from the Live DVD session.

 

 

Ubuntu 12.04 (Precise) – Could not apply the stored configuration for monitors

ubuntu-logo

Booting in to a clean installation of Ubuntu 12.04 (Precise) with VMWare Tools installed I get a Could not apply the stored configuration for monitors error:

Could not apply the stored configuration for monitors.
Could not apply the stored configuration for monitors.

The solution is to remove monitors.xml from /home/<username>/.config.

To do this I opened a Terminal and changed the directory to .config:

cd .config

I backed-up and then deleted monitors.xml:

cp monitors.xml monitors.bak
rm monitors.xml

I rebooted for good measure – now VMWare Tools adjusts my resolution without errors.

Source:  http://askubuntu.com/questions/67337/how-do-i-get-rid-of-this-monitor-error