OrangePi
I just bought a OrangePi (model “PC”) It cost me $15 plus $3 for shipping.
The documentation is rather limited. Here are a couple of the most helpful links I found:
http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=342
http://vosse.blogspot.hr/2015/10/installing-linux-img-files-on-orange-pi.html
http://tech.scargill.net/orange-pi-pc/
Editing script.bin and copying uImage was an important step (See here for details on all the steps) I had missed in the installation process of a Linux Image. I have tried Raspbian, Lubuntu, and Ubuntu Mate and they all worked surprisingly well. I have still been unable to get Android working.
In my setup I had an HDMI to DVI converter to connect up my monitor. It was imperative I use a DVI script.bin file and not an HDMI file.
Also, make sure you are using a good power supply to power the OrangePi. I had a cheap 2amp Chinese power supply and the board would crash as it tried to boot. Apparently the power supply wasn’t performing up to specs because when I switched to a genuine Samsung charger my problems were resolved.
Upon booting the OrangePi into you will notice that the time is wrong. The board doesn’t appear to have a real-time-clock. You can use the
date -s
command but that’s rather tedious. Next I tried the command
sudo ntpdate -u pool.ntp.org
This works well to update the RTC to internet time but I had to do it manually as well. The biggest annoyance was that it seems to cause Chromium SLL certificates to fail. Initially I tried adding the command to /etc/rc.local and nothing happened. rc.local allows you to run scripts as root at startup. Then realized the command failed each boot because it would run before the OrangePi had connected to the LAN/Internet. For now I added the following commands to rc.local. It is right before the final line that says exit 0
sleep 1m
ntpdate -u pool.ntp.org
This waits a minute after boot and then updates the clock. Not the most elegant but it gets the job done. TO DO: On boot begin attempting a ping to Google. On success run the ntpdate command instead of simply waiting a minute before running the command.
Update
I replaced the sleep option with a more intelligent and faster command using ping.
while ! ping -c 1 -W 1 192.168.0.1; do
echo "Waiting for 192.168.0.1 - network interface might be down..."
sleep 5
done
ntpdate -u pool.ntp.org
Note: I haven’t tested yet what happens if the network cable is disconnected. I seems an additional improvement to the script may be needed.