Ben's notes

Linux, Unix, network, radio...

User Tools

Site Tools


debian_buster_alix2d13

PC Engines ALIX.2d13 - Debian buster

How to install Debian Buster on an aging (2008) ALIX2D13. A 500MHz single x86 CPU, 256MB memory board. These steps are based on a Ubuntu 18.04 LTS host.

Connect and configure BIOS

  • Get the board out of the case, for access to the CF card.
  • Connect a serial console, power up and boot the board.
  • Enter the BIOS settings, by pressing 's'.
  • Set the console baud rate to 115200.
  • Exit and save the settings.

Prepare the CompactFlash card

  • Remove the card out of the board, and connect it to your host machine.
  • Partition the CF card:
    # Make sure you've got the the right blockdevice here.
    CFDRIVE=/dev/sdc
    
    # Unmount partitions if they are automounted.
    umount ${CFDRIVE}{1,2}
    
    # Remove partition table
    dd if=/dev/zero of=${CFDRIVE} bs=512 count=1 conv=notrunc
    
    # Make a new partion table for /boot and the / root filesystem.
    parted --script $CFDRIVE              \
        mklabel msdos                     \
        unit mib                          \
        mkpart primary ext4 1MiB 500MiB   \
        toggle 1 boot                     \
        mkpart primary ext4 500MiB 100%
    
    # Create the filesystems
    mkfs.ext4 -L boot ${CFDRIVE}1
    mkfs.ext4 -L root ${CFDRIVE}2
    
    # Mount the filesystems
    mount ${CFDRIVE}2 /mnt
    mkdir /mnt/boot
    mount ${CFDRIVE}1 /mnt/boot

Install Debian Buster

  • Install Debian Buster with debootstrap:
    debootstrap --verbose --arch i386 buster /mnt http://ftp.nl.debian.org/debian

Enter the chroot

  • Bind mount some special filesystems and enter the chroot:
    mount --bind /dev/pts /mnt/dev/pts
    mount --bind /proc /mnt/proc
    mount --bind /sys /mnt/sys
    mount --bind /dev /mnt/dev
    
    LANG=C linux32 chroot /mnt /bin/bash

Configure Debian Buster

  • Still in the chroot:
    # Configure /etc/fstab
    cat > /etc/fstab <<EOF
    # file system    mount point   type    options                      dump pass
    /dev/sda2         /             ext4    noatime,noatime,commit=120   0    1
    /dev/sda1         /boot         ext4    ro,nosuid,nodev              0    2
    EOF
    
    # Configure apt
    cat > /etc/apt/sources.list <<EOF
    deb http://ftp.nl.debian.org/debian buster main contrib non-free
    #deb-src http://ftp.nl.debian.org/debian buster main contrib non-free
    
    deb http://ftp.nl.debian.org/debian buster-updates main contrib non-free
    #deb-src http://ftp.nl.debian.org/debian buster-updates main contrib non-free
    
    deb http://security.debian.org/ buster/updates main contrib non-free
    #deb-src http://security.debian.org/ buster/updates main contrib non-free
    EOF
    
    # Update the packages
    apt update
    apt upgrade
    
    # Install needed packages
    apt install linux-image-686 grub-pc dnsutils ssh vim dialog locales 
    
    # Install grub, change the blockdevice to your own
    grub-install --boot-directory=/boot --modules=part_msdos /dev/sd?
    
    # Modify GRUB settings (for serial console) in /etc/default/grub
    GRUB_CMDLINE_LINUX_DEFAULT=""
    GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"
    GRUB_TERMINAL=serial
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
    
    # Generate a new GRUB config
    grub-mkconfig -o /boot/grub/grub.cfg
    
    # Add user and set passwords for user and root
    useradd -d /home/user -m -s /bin/bash user
    passwd user
    passwd root
    
    # Set hostname
    echo alix2d13 > /etc/hostname
    echo "127.0.0.1 alix2d13" >>/etc/hosts
    
    # Configure the first network interface (as DHCP client)
    cat > /etc/systemd/network/enp0s9.network <<EOF
    [Match]
    Name=enp0s9
    
    [Network]
    DHCP=ipv4
    EOF
    
    # Exit the chroot and unmount filesystems
    exit
    umount /mnt/sys
    umount /mnt/dev
    umount /mnt/dev/pts
    umount /mnt/proc
    umount /mnt/boot
    umount /mnt
    sync

Boot the alix2d13 board

  • Insert the CF card in the board and power it up.
  • Log in as root and enable networking:
    systemctl start systemd-resolved
    systemctl enable systemd-resolved
    
    systemctl start systemd-networkd
    systemctl enable systemd-networkd
  • Set the timezone:
    timedatectl set-timezone Europe/Amsterdam
  • Configure locales
    dpkg-reconfigure locales

LED's

The LED's are supported out of the box.

  • Install sysfsutils:
    apt install sysfsutils
  • Add to /etc/sysfs.conf:
    devices/platform/leds-gpio/leds/alix:1/brightness = 1
    devices/platform/leds-gpio/leds/alix:2/trigger = disk-activity
  • Restart sysfsutils (or reboot) to test:
    systemctl restart sysfsutils
debian_buster_alix2d13.txt · Last modified: 2021/10/09 15:14 by 127.0.0.1