During my trial of the Orange Pi I installed a couple of variations on Debian as the operating system. I’d had “issues” with the HDMI port, so decided to try a completely different Linux (though still Debian based). While looking for one, I ran into DietPi.
(found from this article about it: http://www.cnx-software.com/2015/12/18/dietpi-is-lightweight-easy-to-use-debian-based-distribution-for-raspberry-pi-odroid-and-orange-pi-boards/ )
They advertise themselves as a very small light weight distribution based on Debian, and have an Orange Pi One port, so I gave them a go. Sadly, my HDMI problem remains (at this point most likely hardware), but I got to play with Yet Another Linux in the process.
So why do you care?
Well, first off, they have done comparisons of different SBC (Single Board Computers) and have up nice simple bar graphs of relative performance for things like memory, computes, I/O, and even how much heat is an issue. As we’ve seen with the Orange Pi in particular (but also some other Pis) not having a heat sink limits your computes. Sometimes a lot. (more on that in another post ‘someday’). So it is very nice to be able to just click on a board and see what works well and what’s crap.
First off, though, a warning: You’d better like Neon Lime Green…
I know, esthetics are personal. Personally, I’d likely do a lavender and grey theme, which would clearly cause some folks to puke… so “I get it”. But NEON Lime Green on stark black background is, er, “abrupt” when you first go there…
Then click on the “downloads” tab at the top and a bunch of board thumbnails show up. Click one of them and it turns into a “+” sign. Now click the “+” sign. (WHY the 2 step process? “Why? Don’t ask why. Down that path lies insanity and ruin.” -E.M.Smith) At that point a nice description of the board shows up at the top of the page. (You might need to scroll up). On it is a bar chart, left to right, of CPU, File System (both SD card and eMMC), network, and heat performance. There are no scales, so I’m presuming they are all normalized to the same baseline in some way.
Very very nice.
(It would have highlighted the heat issue with the Orange Pi One before the buy for me…)
FWIW, after another site (again for a future posting…) said the Odroid-C2 was, in their opinion, the best bang for the buck, I checked the graph here, and it too was showing good goods. Bottom line is I’ve ordered one with eMMC module (thanks again to donors!) for comparison testing against the others in the inventory. It promises to be about a 2x to 3x performance boost over the Pi Model 3 for about a $2 price uplift (due to Amazon pricing R.Pi higher than list, cost of added heatsink vs direct buy from distributor for the C2) and about an added $4 of shipping compared to ‘free’ from Amazon if you bundle a bunch. Net, it’s about a 5% to 10% cost bump for about a double of computes. So in a week or two I’ll be looking it over.
Basically $42 for the Odroid-C2 with massive heat sink installed vs $35 list for the Pi-M3 without heatsink (variously $3 to $5 and much smaller) but Amazon tends to sell the Pi-M3 for $39 not list… So looks like about double performance for no real added cost, modulo shipping. It is also the same form factor as the Pi so fits the same dogbone case.
Now DietPi having all that info on those boards, especially the heat limitations, is a big win just there. Having a very small Debian based OS available is a double win.
Back on DietPI…
FWIW, during the install process, it references both Debian and Armbian repositories, so it’s picking up some Armbian bits too.
It’s small, seems very fast, and also looks like it “just works”.
It is easy to run the install process with only minor “what the?” moments.
To all appearances it is a well done build. ( I’ve not done a full shake out)
It looks to be exactly as advertised.
The initial download is ‘damn fast’.
Being Debian based, and upgrade to Devuan ought to be very easy.
The not so good:
Did I mention NEON LIME GREEN on BLACK? Better get used to it…
It is very ‘handholdy” being script driven, so you are NOT in the drivers seat.
It uses ncurses (that 1990’s look blocky semi-graphics look for VT100s…) so works on just about any gear, but isn’t very pretty and for me (I was ssh in due to HDMI dead) the check box and the check didn’t line up quite right…)
You get to sit through a LOT of apt-get installs done by the script. What the fast download of the base giveth, the netinstall taketh away…
It is already using three repositories (Debian, Armbian, DietPi) so adding Devuan may be asking for trouble in compatibility land…
You’d better like script based and menu driven processes, as their ‘valued added’ software looks to be that way. A great leap forward for the embedded systems folks, welcome to 1989 for the rest of us… but still of benefit to me over the ssh with no HDMI…
It didn’t fix my HDMI issue (but not their problem, IMHO).
I’ve got a couple of screenshots to evaluate and edit. If any looks interesting I may add them and remove this line of text.
I’m not sure if I’m going to run Armbian, DietPi, or a ‘roll my own’ Linux on the Orange Pi board. I’m also not likely to put much time into that decision either. It’s the 4th board (soon to become 5th…) in priority in a distributed stack and has fairly strong thermal limiting on CPU total computes. I’m not interested in working out MPI on it. So it’s mostly just going to be a distcc node for the occasional system build processes. Once I’ve got 16 fast cores cranking with nice heat dissipation and a kernel build is down to about 20 minutes, just how much will 4 more cores add?… Enough to be worth having it running, but not enough to put hours into it. That strongly argues against “roll my own” at this point.
So with distcc as the goal, I mostly just need to assure any OS chosen has distcc in it (all the Debian derived do) and that the libraries are a compatible release level (something you can assume when built from the same repositories, something not so clear with back level kernel like Orange Pi has and libraries from “one of three” repositories…) Likely about an hour to figure out, but not, I think, today… With distcc being a modest gain, and with potential ‘library issues’ at every update, that, too, is at best a modest priority. This puts that whole Armbian to Devuan path as unlikely to float my boat…
So I might just leave the Orange Pi running DietPi as a stand alone node doing something simple like being an NFS server or ‘whatever’. Perhaps that PXE boot server… I’m down one board for that since it’s on a different chip from the cluster set, so a port of that to DietPi then just let it sit around waiting for a boot request seems like a good job for it. In any case, that’s all “low priority” and that’s where this is headed. The Orange Pi, DietPi and PXE boot / NFS server are all a “low priority” maybe in a week or when waiting for coffee to “hit” ;-)
This too suits the DietPi model. They have some canned configuration scripts to make that kind of ‘build a generic appliance’ process easier. So most likely that’s the path to take. Pick a low demand function for the Orange Pi, Click-install. Configure and go headless… It’s one of their big features:
DietPi-Software | Details for ALL installation options
DietPi-Software allows you to install optional “ready to run” and optimized software for your device.
As well as automating the linux installation and configuration process for you, DietPi-Software also applies specific optimizations unique to your hardware model, ensuring you get the maximum performance from your device.
How do I run DietPi-Software?
DietPi-Software can be launched via the command line: dietpi-launcher or dietpi-software
List of options:
– LXDE – Highly optimized lightweight desktop without the “bloatware”.
– MATE – Popular Gnome 2 desktop.
– XFCE – Lightweight desktop.
– GnuStep – Alternative/unique desktop.
– Chromium – Optional: Web browser
Remote Desktop Access:
– Tightvnc Server – Desktop for remote connection.
– VNC4 Server – Desktop for remote connection.
– NoMachine – Feature rich remote desktop connection.
– XRDP – Remote desktop server for Windows Remote Desktop Client.
– RealVNC Server – Desktop for remote connection.
– Kodi – Media Centre / Player
– YMPD – Lightweight web Interface audio player for MPD
– O!MPD – Feature-rich web Interface audio player for MPD
– CAVA – Optional: Console-based audio visualizer for MPD
– Mopidy – Web Interface Music /Radio Player
– SubSonic – Feature rich media streaming server with web interface.
– SqueezeBox – Also known as Logitech Media Server.
– SqueezeLite – Audio player for SqueezeBox.
– Shairport Sync – AirPlay audio player with multiroom sync
– BruteFIR – EQ and Digital Room Correction via ALSA.
– MiniDLNA – Media streaming server (DLNA, UPnP)
– Ampache – Web interface media streaming server.
– Emby – Web interface media streaming server.
– Plex Media Server – Web interface media streaming server.
– Murmur – Mumble VoIP Server
– Roon Bridge – Turns your device into a Roon capable audio player
– NAA Daemon – Signalyst Network Audio Adaptor (NAA).
– Transmission – Lightweight BitTorrent server with web interface
– Deluge – Alternative BitTorrent server with web interface
– qBitTorrent – Lightweight and fast (c++) BitTorrent server with web interface
– rTorrent – BitTorrent server with ruTorrent web interface
Emulation & Gaming:
– OpenTyrian – Gaming
– Cuberite – Fast Minecraft server with web interface
– MineOS – Multiple Minecraft servers with web interface
– AmiBerry (uae4arm) – Amiga emulation system, using optimized builds of uae4arm-rpi
– DXX-Rebirth – Descent 1 & 2 OpenGL port
Camera / Surveillance:
– DietPi-Cam – RPi Camera / Web Interface Surveillance
Cloud / Backups:
– OwnCloud – Your own personal cloud based backup/data storage system
– NextCloud – Your own personal cloud based backup/data storage system
– Pydio – Feature-rich backup and sync server with web interface.
– UrBackup Server – Full backups for systems on your network
– Gogs – GitHub style server, with web interface.
– Syncthing – Backup and sync server with web interface.
– Forums – phpbb3
– WordPress – Website Blog and Publishing platform.
– Image Gallery – Host and browse your images from a web interface.
– BaiKal – Lightweight CalDAV + CardDAV server.
– OpenBazaar – Decentralized peer to peer market server using BitCoin.
– WiFi HotSpot – Turn your device into a wireless hotspot/access point.
– Tor HotSpot – Optional: Routes all WiFi HotSpot traffic through the Tor network.
– EmonPi – Lightweight Energy usage stats with EmonPi PCB.
– Grasshopper – Web App to control Bticino MyHome
– RPi.GPIO – GPIO Interface library for RPi (python).
– WiringPi – GPIO Interface library (c).
– WebIOPi – Web interface to control RPi GPIO.
– I2c – Enables support for I2c based hardware.
– Node-Red – Visual tool for wiring together hardware devices, APIs and online services.
– Mosquitto – Message broker that implements MQTT protocol versions 3.1 and 3.1.1.
– Weaved – Access your device over the internet.
System Stats / Management:
– DietPi-Cloudshell – Lightweight system stats for your LCD display or monitor.
– Raspcontrol – Web interface system stats
– Linux Dash – Web interface system stats
– PhpSysInfo – Web interface system stats
– RPi Monitor – Web interface system stats
– NetData – Web interface system stats
– Webmin – Remote system management with web interface
– Open Media Vault – Web interface network attached storage (NAS) solution
– Fail2Ban – Protects your system from brute-force attacks
– LAMP Webserver – Apache2 / MySql / PHP
– LASP Webserver – Apache2 / SQLite / PHP
– LAAP Webserver – Apache2 / MariaDB / PHP
– LEMP Webserver – Nginx / MySql / PHP
– LESP Webserver – Nginx / SQLite / PHP
– LEAP Webserver – Nginx / MariaDB / PHP
– LLMP Webserver – Lighttpd / MySql / PHP
– LLSP Webserver – Lighttpd / SQLite / PHP
– LLAP Webserver – Lighttpd / MariaDB/ PHP
– phpMyAdmin – Web interface SQL admin tool
– Certbot – Free, automated SSL cert creation and setup, allowing https.
– Tomcat8 – Apache Tomcat server
– Pi-hole – A DNS/Web server that will block ads for any device on your network.
– ProFTP – Simple, efficient, lightweight FTP file server.
– Samba – Feature rich file server.
– vsFTPD – Feature rich FTP file server.
– NFS – Network file system server
– OpenVPN – Easy to use, minimal hassle VPN server
– PiVPN – OpenVPN installer & management tool
Network Load Balancing:
– HaProxy – High performance TCP/HTTP load balancer.
– NoIp – Website URL Address
File Server Choices:
– ProFTP – Simple, efficient, lightweight file server.
– Samba – Feature rich file server.
SSH Server Choices:
– Dropbear – Lightweight SSH Server
– OpenSSH – Feature rich SSH server with SFTP/SCP support.
Log System Choices:
– DietPi-Ramlog – Lightweight RAM logging.
– Full – Full logging system with Rsyslog and Logrotate.
Webserver Preference System:
– Apache2 – Feature-rich webserver
– Nginx – Lightweight webserver
– Lighttpd – Extremely lightweight webserver
dietpi-launcher (Select and Run any of the DietPi programs, all from one place.)
dietpi-config (Feature rich configuration tool for your device)
dietpi-software (Install optimized and ready to run software)
dietpi-uninstall (Allows you to uninstall DietPi software)
dietpi-update (Update your version of DietPi)
dietpi-backup -(Backup or restore your DietPi system)
dietpi-sync – (Allows you to sync/duplicate one directory to another).
dietpi-process_tool – (Tweak system wide nice/priority levels, for most software and processes).
dietpi-cleaner (Remove unwanted “junk” from your DietPi system and free up filesystem space)
dietpi-bugreport (Sends a bug report to DietPi)
dietpi-cron (Allows you to modify all start times for Cron Jobs)
dietpi-logclear (Keep ontop of your log files, features clearing and backup modes).
dietpi-morsecode (Converts a text file to morse code, then outputs to your screen)
dietpi-letsencrypt (Frontend for Lets Encrypt and DietPi integration)
htop (The only resource monitor you’ll ever need)
DietPi-Ramlog #1 (Mounts /var/log to RAM. Saves your SD card writes, and, uses less than 0.1mb~ of RAM).
Dropbear (Lightweight SSH server)
treesize (Shows current directory/file sizes, recursive)
So while I’m sticking with Devuan for my Daily Driver and for the Cluster Stack, I just might use DietPi and the OrangePi One board as a simple appliance on the side. Something where I don’t want to put much time into it and just want it to run a basic service untended for weeks on end, and headless… “Someday” I’ll take DietPi for a desktop test drive on some board with working HDMI, and “someday” I’ll see if it takes a Devuan update well. But that’s way down the priority list at the moment. For now, just using it ‘as intended’ is on the cards.