I’m inspired by the Raspberry Pi platform so I recently acquired one to see how well the technologies I know run on it. Basically I’d like to demonstrate that it can be a zero config module running either Rails or DJango as a web app server to provide web appliance functionality without configuration.
So far I’ve loaded a couple of distributions. I’ve booted ubuntu 14.04 “trusty” and mostly configured rails. Even though I’m using an 8GB micro SD card, it appears that the system loads everything into the 2GB ram, so a “df -k” reports 1.7GB total and about 700MB available after the rails installation. Merely interesting, as one of my teachers used to say.
The potentially more interesting distribution is the Snappy distribution. Very minimal. I’ve only played with it a bit, but a very compelling feature is a zero config DNS entry at webdm.local, which presents a (currently useless) web interface at http://webdm.local:4200. It also allows ssh access:
ssh ubuntu@webdm.local
which shows great promise. For me, by default this errors out:
Permission denied (publickey,password).
The issue is that ChallengeResponseAuthentication is disabled by default, so it never asks for a password. To get past this, I need to hook up a display and a keyboard, edit the config file /etc/ssh/sshd_config to change the ChallengeResponseAuthentication to ‘yes’.
Perhaps even more odd, is that the package management tool “snappy” fails out of the box. This is a side effect of the certificate mechanism for installation (a very good idea), but it fails because the snappy core doesn’t know the date. Raspberry Pi doesn’t know what date it is, and the snappy core doesn’t include NTP. SO you need to log in and set the date for it to do anything. I don’t know what packages are available, but searching for ruby and rails comes up empty. NTP also. The objective for this distributio nis to support the Internet of Things (IoT), so it HAS to be zero config, but it doesn’t have to know the date, or allow packages to be installed, out of the box. Maybe better if it doesn’t, but it makes the developer’s life more of a challenge.
I’ll update more later.
Just found that NTP on snappy is trivial to enable and persist. Surprised it’s not set by default:
sudo timedatectl set-ntp true