Jessie4Alix

Jessie4Alix

Debian Jessie image for PC Engines Alix boards.

After having read recent news about drop of support for old CPUs in the 32 bit architectures, having around several good PC Engines Alix boards I was concerned about their doom.
Debian 9 i386 seems that will be mostly (if not fully) based in 686 architecture.
Whilst Debian 8 Jessie has accidentally drop 486 in some packages (mostly glibc) and based on 586, in fact, 486/586 doom started in fact back in Squeeze.

Everybody knows that Alix board's Geode CPU is 586 based.
Debian Embedded project http://www.emdebian.org/ halted at Squeeze, and also, my favorite Debian/Alix marriage project: Debian-for-Alix https://code.google.com/archive/p/debian-for-alix/, also ended its activity at Squeeze (there is a contributed Wheezy image but I have not managed to make it to work)... so, I have decided to create and share a Jessie CF image for our little boards.

Installing Jessie in Alix was not easy... The network installer hanged soon after booting, I tried several approaches with no look, until I found that googling around http://www.foxplex.com/sites/debian-installation-auf-alix-boards-apus/ ... mein deutsch is nicht gut... but that approach: install on VirtualBox, flash raw disk image to flash, and let our beloved Linux kernel do the magic on first boot, did work!
I like having a "just download and flash" image... so I decided to make it and share it!

To ease things, I used an alix1d VGA board, I still have to try on several alix2 series board I have, but I have never had problems swapping CFs from board to board thanks to Linux kernel flexibility.

Included packages

The image includes debian base system and the following packages:

  • flashybrid (to minimize CF writes using RO filesystem and RAM mounts)
  • localepurge (to save CF space)
  • Firmware-linux-nonfree (to ease cards recognition and setup)
  • wpasupplicant (to have WPA/WPA2 support)
  • usb-modeshitch and usb-modeswitch-data (to ease 3G/LTE dongles recognition and auto setup)
  • wireless-tools (WiFi cards managment)
  • bridge-utils
  • isc-dhcp-server
  • ssmtp (Exim4 is replaced by this simple, light, SMTP email send client)
  • lmsensors, smartmontools and hddtemp
  • htop
  • nethogs
  • systat

Obviously, they are very minimum and somehow "personal" choice... but it is very easy to custom the install after flash.

Download and flash

Due to problems of space with 2GB cards I decided to use a 4GB CF card image.
Get the image here: /downloads/jessie4alix-4GB.img.bz2

Insert a 4GB or bigger CF card in your computer and check its device name. Be careful! if you mistake your CF device name you may flash the image to yous system disk!!!
I suggest you using 'lsblk' or 'fdisk -l' commands to guess CF disk device name.

Flashing the image is done with the following command (changing device name and file image path accordingly):

bzcat /home/myuser/Downloads/jessie4alix-4GB.img.bz2 | dd of=/dev/sdX bs=16k

Considerations before running it first time

Flashybrid is disabled:

Due to Jessie's move to systemd, Flashybrid package has a serious bug that makes it unable to work: Bug#784890
Anyways if you have never ised it, you shoud google around to find how to use it (it's very useful, I use it alwaus on production appliances with no single problem and no CF burnt).
The problem is that, on fh-sync command, there is no sync and the mount gets at busy state... here are some ways to handle it:

  • do not set /etc in ramstore, so you can always change /etc/default/flashybrid back to ENABLE=no and reboot to normal mode in case of problem syncing.

  • ensure or delete /var/run, from ramtmp or ramstore... this is part of Bug#784890: Jessie moved /var/run and several other folders like that to be symlinks to /run. Defining the in flashybrid config will create duplicate tmpfs mounts (whatch out for other folders stated in ramtmp or ramstore in the same situation)

  • edit the init script and add '--make-privat' flag

  • remove and purge flashybrid Jessie package (0.18) and install some deb package from testing, sid, etc thet ships with 0.19, since systemd is supported from version 0.19.
    You may download and install 0.20 directly from http://hacks.slashdirt.org/sw/flashybrid/ and get rid of troubles about mixing repos.
    EDIT: This is what I have done on my Alix, and I can confirm 0.20 package works like a charm!

Make partition fill your CF

After flashing to CF, you'll note the partition and filesystem does not fill an entire 4GB CF.
It is a pice of cake to expand it with some tool such as 'gparted' and make it fill your card.

Networking

Mount the partition and set eth0 ethernet interface either with DHCP or wit static addressing, so you'll have a target to SSH to.
You'll have to edit /etc/network/interfaces file present in CF normally

Early steps and credentials

Credentials

SSH server is left as Jessie's installer default, so no root ssh is enabled. You'll need to ssh to a normal user and 'su' thereafter. An alixadmin user is created to do so.

alixadmin password is "alix".

root password is "alix".

Email

Exim4 has been replaced by SSMTP. I do not use Alix board as servers, but as common appliances, sucha as routers, da do not need to do anything related to email but sending email alerts and warnings.
Ssmtp package is perfect to this, since it is a client, and you can free CPU and memory from having a service up just to send email out.
Setting up SSMTP is very easy, google around and you'll find how easy is to get system users email (such as root) sent to gmail or wathever external email box.