I've received a challenge from my former boss: an old HP laptop that was born in 2005: an HP-Compaq NC6220 (https://www.pocket-lint.com/laptops/reviews/hp/68181-hp-compaq-nc6220-notebook-laptop/). The specs are abysmal:
So, i386, 1.7GHz single-core CPU (remember those?), 1G of DDR2 RAM (2x512M) and a 40GB ATA (not SATA!) drive. But hey, at least it has a serial port!
The challenge is to install HomeAssistant (https://www.home-assistant.io/) on it so that he can monitor some Zigbee temperature sensors and relays (via a gateway).
The first hurdle was to remove the BIOS password - following this nice guide: https://www.youtube.com/watch?v=ZaGKyb0ntSg
Next-up - install HASSOS. Unfortunately, it doesn't support i386, but only x86_64...
So, I went the Home Assistant Supervised route, and installed Debian 11 i386 edition from a netinstall USB (https://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-11.6.0-i386-netinst.iso).
Once Debian was up and running (didn't take that long), I tried this guide to install Home Assistant Supervised: https://community.home-assistant.io/t/installing-home-assistant-supervised-on-debian-11/200253
The guide is pretty thorough, but it assumes you're running 64bit, so you need to make some adjustments.
For instance - in step 2.1 - you need to install docker from:
curl -fsSL get.docker.com | sh
Well, that won't work, because docker.com offers only docker builds for x86_64 on Intel. We need 32bit docker!
Fortunately, Debian has us covered!:
Next, in step 2.2 you need to install the latest os-agent release for i386 from here: https://github.com/home-assistant/os-agent/releases
Step 3.1 is almost the last step. You now need to install Home Assistant via docker. The installation comes as a deb package that you need to download and install:
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
Unfortunately you won't be able to install it because it depends on docker, but you have docker.io installed instead.
The elegant way to do it is to unpack the deb file, edit the dependencies and repack it (https://coderwall.com/p/hes3ha/change-the-dependencies-of-a-deb-package):
mkdir changed-deb
cd changed-deb
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
ar x homeassistant-supervised.deb
tar xJf control.tar.xz
sed -i 's/docker-ce/docker.io/' control
tar c {post,pre}{inst,rm} md5sums control | gzip -c > control.tar.gz
ar rcs homeassistant-supervised-dockerio.deb debian-binary control.tar.gz data.tar.xz
dpkg -i home-assistant-supervised-dockerio.deb
Now, the installation should work and after a while you'll be prompted to reboot. Do so now, and then wait for the docker packages to install and you should be able to access you new Home Assistant instance at http://homeassistant:8123/
But, for me, there's still a problem. I have 100% CPU load (on my single, underpowered CPU) and it's because of pulseaudio?!
docker stats confirms that one of the HASSIO containers is the culprit:
Apparently there are several ways of working around the problem, and pulseaudio is known to be misbehaving... I implemented this fix: https://github.com/JJFourie/HomeAssistant-PulseAudio-Disable (with a few small changes for the file path and the user) and what is this I hear? Not the leaf blower sound made by the CPU fan anymore, that's for sure!Here's how the system looks once things have started up:
Not bad for an aging piece of hardware, unfit to run Windows 7. Glad I saved another one from the dump.
I'd like to thank HomeAssistant devs and contributors, for keeping the i386 architecture alive. I assume there are still a ton of old devices which can be repurposed for a new "server" role and can live again.
Comments