=====PC Engines APU2 - Ubuntu 18.04 LTS server ===== Install Ubuntu 18.04 LTS on a PC Engines APU2 board. If you're using an **APU1** board, try the section [[#prepare_a_usb_drive_optional|Prepare a USB drive (optional)]] to create a prepared USB-drive first. Then boot from USB (press F12, during boot) and select ''Command-line install'' and proceed with the installation. ====Install Ubuntu 18.04==== * dd Ubuntu server netinstall (mini.iso) to USB drive [[https://www.ubuntu.com/download/alternative-downloads]], be sure to select the amd64 arch. * Connect the USB drive to the APU2 board and boot from USB, press F10 at boot. * Select ''Install'', then TAB. * Change kernel options to ''linux initrd=initrd.gz console=ttyS0,115200'' * When asked to unmount mounted partitions choose ''Yes''. * Install options as you like. * Reboot after install. ====Post installation steps==== ===GRUB=== * At the grub menu, press 'e'. * Scroll to the line starting with ''linux'' and add:console=ttyS0,115200n8 * Then press 'ctrl-x' to boot. * You can now log in with your user account. * Modify grub: sudo vi /etc/default/grub GRUB_CMDLINE_LINUX="console=ttyS0,115200n8" sudo update-grub * Reboot to test the update grub configuration. ===Networking=== * Edit ''/etc/netplan/01-netcfg.yaml'' # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: enp1s0: addresses: - 10.10.10.2/24 gateway4: 10.10.10.1 nameservers: search: [mydomain, otherdomain] addresses: [10.10.10.1, 1.1.1.1] * Apply config:netplan apply ====Misc==== * Install and start openssh:apt install openssh-server * Enable firewall:ufw allow ssh ufw enable * Multi-user target (not graphical):sudo systemctl set-default multi-user.target * Configure timezone:dpkg-reconfigure tzdata * Configure locale:dpkg-reconfigure locales ===Watchdog=== It seems the sp5100_tco module is blacklisted by default in ''/lib/modprobe.d''. We need to override that and blacklist some conflicting modules. * Blacklist conflicting modules:cat >> /etc/modprobe.d/blacklist-i2c-ccp.conf < * Update the initramfs:update-initramfs -u * Install watchdog:apt install watchdog * Add module to config:vi /etc/default/watchdog # Load module before starting watchdog watchdog_module="sp5100_tco" * Edit ''/etc/watchdog.conf'': watchdog-device = /dev/watchdog * Reboot to test:dmesg | grep sp5100_tco * Kill watchdog, it should restart your system after some time:pkill -9 watchdog # if wd_keepalive is started, also kill that pkill -9 wd_keepalive ===PC speaker=== * Install beep:apt install beep * Comment or remove ''pcspkr'' from ''/etc/modprobe.d/blacklist.conf''. ===LEDs=== * For APU1 see: [[https://github.com/trick77/apu-led-button]] ===Power / reset button, J2=== * ACPId is already installed and should be working. * Short press: shutdown * Long press: hard power off * When powered off, short press, will power on. * You can add a beep, just before shutdown. cat >> /etc/systemd/system/beeponshut.service < =====Prepare a USB drive (optional)===== * Install required packages:apt install xorriso isolinux * [[https://www.ubuntu.com/download/alternative-downloads|Download the latest Ubuntu server net install mini.iso for amd64 architecture.]] * Extract downloaded ISO and copy the files to a temporary location: sudo mkdir /mnt/iso sudo mount -o loop ~/Downloads/mini.iso /mnt/iso cd /mnt tar -cvf - iso | (cd /var/tmp/ && tar -xf - ) cd /var/tmp/iso * Modify ''isolinux.cfg''serial 0 115200 console 0 path include menu.cfg default vesamenu.c32 prompt 0 timeout 0 * Modify __cli / Command-line install__: ''txt.cfg'' #From: append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=initrd.gz --- quiet #To: append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=off initrd=initrd.gz console=ttyS0,115200n8 --- * Create a new ISO file: #Fedora host: xorriso -as mkisofs -R -J -V "Ubuntu-Server 18.04 LTS amd64" \ -o ~/file.iso -b isolinux.bin -c boot.cat -no-emul-boot \ -boot-load-size 4 -boot-info-table \ -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin . #Ubuntu host: xorriso -as mkisofs -R -J -V "Ubuntu-Server 18.04 LTS amd64" \ -o ~/file.iso -b isolinux.bin -c boot.cat -no-emul-boot \ -boot-load-size 4 -boot-info-table \ -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin . * Write the new image to the USB drive:sudo dd if=~/file.iso of=/dev/sdX bs=4M {{tag>[hardware apu apu1 apu2 Ubuntu linux ]}}