# Die APU aufbauen und mit Debian in Betrieb nehmen
# Spezifikationen
- <https://www.pcengines.ch/apu4d4.htm>

# Montage des Kühlers
- <https://www.pcengines.ch/apucool.htm>


Die Montage des Kühlers, d.h. das Aufkleben der Aluplatte an die richtige Stelle im Gehäuse, geht auch gut damit, dass man 

- die Platine ohne Kühlung provisorisch in das Gehäuse einfügt, dann

- sich durch die beiden großen Löcher in der Platine mit einem Stift Markierungen auf der Innenseite des Gehäuses anbringt. Die beiden Löcher markieren gut die Diagonale der Postion des Alukühlers. 

Dann klebt man das Alublech auf und schiebt dann die Platine zuerst verkanntet ein und presst sie dann vorsichtig auf das Alublech. 

# BIOS Anmerkung
Änderungen im BIOS 4.12.0.1 (nach F10) werden erst beim nächsten Einschalten, also nach stromlos, wirksam.

Auch wenn die geänderte Einstellung schon vorher im Menü erscheint.  

Aufgefallen / getestet mit der m Option (clk für die WLAN Karte).

# Energieverbrauch 
Gemessen mit ELV Energy Master Basic 2 und Steckernetzteil Seanon KSA 24W 120/200VE Output 12V 2A

APU4D4 mit 256GB SSd und WLE600 Wlankarte

APU beim booten: max 9W

APU im Leerlauf: 5,4W  
APU im Leerlauf mit BIOS PCIe Powermanagement: 4,7W

APU ausgeschaltet: 1,5W

Nur Netzteil: 0,0W

# APU Installation mit USB-Stick 

Bereithalten: einen USB-Stick mit dem aktuellen Debian Image, Stick als bootbar definiert mit:  
- mit `sudo dd bs=4M if=/path/to/debian-10.0.0-amd64-netinst.iso of=/dev/sdx status=progress oflag=sync` das Image auf den Stick kopieren  
- mit den USB-Stick booten, dann im Grub-Menü die Bootzeile mit `e` editieren:  
- wenn das grub-Menu da ist, mit `e` die Befehlszeile ändern und dazu hinter /linux/ boot ergänzen:  
  `console=ttyS0,115200n8`  


Damit ist die serielle Schnittstelle bis zum nächsten Booten als Standart festgelegt.  
Wenn das System installiert ist und neu bootet, auch an dieser Stelle wie beschrieben im Grub-Menu mit `e` 
die Grub-Befehlszeile ändern und ttyS0 aktivieren.  



# APU Netz Installation von Debian oder Ubuntu 
Für die Installation über das Netz ohne Bootmedium und mit vorbelegten Antworten
muss das eigene Netzwerk eingerichtet werden mit folgenden Diensten: 

- TFTP-server mit dem Bootimage 
- DHCP-server / Proxy der der APU ip-adresse und Pfad zum Bootimage übermittelt
 
## Verwendete Hardware
- Privates LAN mit Internetzugang, Router als DHCPserver Fritz!Box
- Rechner als PXE - BOOTP - TFTP - DHCP Server  (nicht exklusiv)
- APU4D4 mit 4Gb RAM, 256GB SSD und WLE600 Wlankarte (bislang nicht verwendet)
- Serielles Nullmodem Kabel zwischen APU und Rechner
- Netzwerkkabel

## Verwendete Adressen
- 192.168.178.0 Netzwerk
- 192.168.178.254 Fritz!Box Router, DHCPserver, Zugang Internet
- Die folgenden Adressen ausserhalb des Bereiches F!B DHCP-server
- 192.168.178.51 Statische Adresse für die APU (später)
- 192.168.178.52 Statische Adresse für den PXE - BOOTP - TFTP server

## Einrichten PXE - BOOTP - TFTP- Server
- Anleitung von Marcel verwendet / erweitert für TFTP-server
- dnsmasq installieren falls nötig: 
  sudo apt install dnsmasq
- Anpassen /etc/dnsmasq.conf
- Da wir nur wenig Funktionen von dsnmasq benötigen, löschen wir die installierte
    Datei und ersetzen sie durch folgenden Inhalt:


 dhcp-range=192.168.178.0,proxy                    # Unser Netzwerk.  
 dhcp-boot=pxelinux.0,192.168.178.52,192.168.178.0 # IP TFTP-Server und Netzwerk.  
 pxe-service=x86PC,"Netzwerk Boot",pxelinux       # gewünschter Dienst  
 enable-tftp                     # aktiviere TFTP-server   
 tftp-root=/var/lib/tftpboot     # hier liegen die Daten Debian 10 Buster   
 #### tftp-root=/srv/tftp        # hier liegen die Daten Ubuntu 20.4 focal   
 port=0                          # DNS brauchen wir hier nicht   

### Bootimage holen im Browser oder mit wget, ...

- https://ftp.halifax.rwth-aachen.de/debian/dists/buster/main/installer-amd64/current/images/netboot/netboot.tar.gz
- Verzeichnis für TFTP-server anlegen
  sudo mkdir /var/lib/tftpboot
- Bootimage entpacken
- sudo tar xvf netboot.tar.gz -C /var/lib/tftpboot

### Konfigurations Dateien für die Clients erstellen oder anpassen

Es kann für jeden Client eine spezielle Datei erstellt werden oder auch mehrere allgemeinere für mehrere Clients.  

Weitere Infos in https://wiki.ubuntuusers.de/PXE-Boot/  

Die in netboot.tar enthaltene default Konfigurationsdatei pxelinux.cfg/default kann für die APU nicht ohne Anpassung verwendet werden wegen fehlender Grafikkarte.

Inhalt der default Datei für APU Installation mit Antwortdatei (debseed.cfg)  
Achtung IP-adresse evtl. anpassen


    SERIAL 0 115200
    CONSOLE 0

    default Buster

    ALLOWOPTIONS 0
    TIMEOUT 600

    LABEL Buster
	MENU LABEL ^Buster
	KERNEL debian-installer/amd64/linux
	append interface=enp1s0 priority=critical initrd=debian-installer/amd64/initrd.gz auto=true url=tftp://192.168.178.52/debseed.cfg console=ttyS0,115200n8 --- console=ttyS0,115200n8

Die Antwortdatei debseed.cfg und die Hilfsdatei netcfghack.sh müssen sich im TFTP-server Rootverzeichnis befinden.
netcfghack.sh sorgt für die statische Netzkonfiguration von enp1s0.

    #!/bin/sh
    killall-dhcp
    netcfg
    echo netcfghack ende

debseed.cfg ist zu gross (>450 Zeilen) wohin damit???

 In der debseed.cfg sind die IP-adressen evtl. auch anzupassen.

Wenn alles klappt, ist die APU nach ca 13 Minuten installiert.
 Bei Fehlern in der debseed.cfg springt die Installation in den interaktiven Modus.
