Installing devuan on a Alix APUC1

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.

This is a post from my old blog http://tech.cbjck.de. It has been moved here and slightly edited for better readability. It's also been adjusted to the new layout.
The content however is old and might be outdated.

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 of 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

Adjust settings

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

Change txt.cfg as following

label install
        menu label ^Install
        kernel linux
        append vga=off console=ttyS0,115200n8 initrd=/initrd.gz --- console=ttyS0,115200n8

and 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 libisoburn.
Then run

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.

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

Replace /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.

References

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 /initrd.gz
  • leave default vesamenu.c32 in isolinux.cfg
  • adjust the xorriso commadn to match the location of isohdpfx.bin on arch linux and the location of isolinux.bin and boot.cat on the devuan image

1 Comment

  1. Pingback: Multiple VLAN on a RaspberryPi - tech.cbjck.de

Leave a Reply

Your email address will not be published. Required fields are marked *