The Alix APUs are some really nice power efficient boards. However they don’t have any graphical output so installing an OS can be quite demanding. Since I just managed to get devuan running, I decided to write it down. Same procedure should as well be working for debian.
I’ve been using a APUC1 for some time to run my firewall. However I decided to separate wireless access point and firewall, so i migrated my install f ipfire to a really nice jetway board sporting 4 nics. So the Alix was idle and I decided to install a flavour of linux on it and use it as my home automation server. As I don’t like debians current implementation of systemd I went for devuan.
Prepare the boot image
Unfortunately neither devuan nor debian provide a bootable image with console support enable. Due to the missing graphics support on the Alix, the serial console is the only way to install an OS. So first I created a bootable image with console setup enabled.
Download the available netboot image from http://files.devuan.org/, I used the http://files.devuan.org/devuan-jessie-amd64-alpha4-netboot.iso.
Create development environment
Make yourself a development directory to create the new image:
mkdir alixboot mkdir alixboot/old mkdir alixboot/new
Mount the downloaded image to the “old” folder:
sudo mount -o loop devuan-jessie-amd64-alpha4-netboot.iso old
Copy all files (also the hidden ones) from “old to “new”.
cp -rv old/* new cp -rv old/.* new
To enable console support we need to edit some files. Edit
syslinux.cfg to match
# D-I config version 2.0 # search path for the c32 support libraries (libcom32, libutil etc.) serial 0 115200 console 0 path include menu.cfg default vesamenu.c32 #prompt 0 #timeout 0
txt.cfg as following
label install menu label ^Install kernel linux append vga=off console=ttyS0,115200n8 initrd=/initrd.gz --- console=ttyS0,115200n8
adtxt.cfg as well
label expert menu label ^Expert install kernel linux append priority=low vga=off console=ttyS0,115200n8 initrd=/initrd.gz --- console=ttyS0,115200n8 include rqtxt.cfg label auto menu label ^Automated install kernel linux append auto=true priority=critical vga=off console=ttyS0,115200n8 initrd=/initrd.gz --- console=ttyS0,115200n8
Create the image
You will probably need to install some packages this to work. On arch linux I had to install
isohybrid, syslinux and
sudo xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -isohybrid-mbr /usr/lib/syslinux/bios/isohdpfx.bin -partition_offset 16 -A "Devuan1" -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan_jessie-serial-install.iso ./alixboot/ ;
to create the iso file. Make sure to create a hybrid iso image. Else it won’t boot from a thumb drive.
My image is here, try it if you dare. Now warranties, can’t event tell if it will work for you!
Dump the image to a usb thumb drive
More or less business as usual:
sudo dd if=devuan_jessie-serial-install.iso of=/dev/sdc
/dev/sdc with the identifier of your thumb drive.
Install the image on the Alix
Open a serial connection to the Alix board. Make sure to set the baud rate correctly to 115200 8N1. I’ve been using putty successfully for this task. Power on the Alix board and watch it booting on the serial connection. As the image created is a netboot image the Alix board will need a network connection for installation.
Of course I did not invent all of this myself. There’s a great tutorial here: http://www.pcengines.info/forums/?page=post&id=51C5DE97-2D0E-40E9-BFF7-7F7FE30E18FE&fid=1A77794F-FF7D-44CA-AF64-CAA2588102ED. However I had to change some things:
- adjust path for initrd to
- adjust the
xorriso commadn to match the location of
isohdpfx.binon arch linux and the location of
boot.caton the devuan image