<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Murrsky</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Murrsky"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Murrsky"/>
	<updated>2026-04-05T14:07:43Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107675</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107675"/>
		<updated>2025-08-21T19:41:41Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s), zwei SATA- und zwei mSATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS. In dem Fall installiert man Debian am besten auf eine mSATA-SSD (gibt es gebraucht&lt;br /&gt;
für unter 10€) und steckt die Datenplatten (z.B. im RAID1-Verbund) an die SATA-Ports.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten landeten danach&lt;br /&gt;
wohl viel zu früh im Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30. Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
Wenn das Teil nicht direkt mit dem Internet verbunden ist, wenn es z.B. als lokales Heim-NAS läuft, dann ist das mit den Updates sowieso unwichtig. Der Soekris läuft dann einfach jahrelang mit einer älteren Debian-Version - niemand merkt&#039;s, niemanden stört&#039;s.&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschienene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich dann vielleicht&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen, wozu ev. ein paar Versuche notwendig sind. Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) neu starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen. Bei Verwendung einer mSATA-SSD wäre es f1, so habe ich irgendwo gelesen. Die Soekris-Dokumentation gibt leider keine Auskunft.&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Soekris benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
der die Boot-Dateien bereit stellt.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen, z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in den Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (um unnötige Nachfragen zu vermeiden):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Soekris eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse wie der Default-Gateway. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
Dort ist natürlich erst etwas zu sehen, wenn der Soekris über&#039;s Netzwerk startet (weiter unten).&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließend die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
Auch hier gibt&#039;s erst etwas zu sehen, wenn der Soekris später sein PXE-Boot startet.&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Debian-Version installiert werden soll oder wenn Bookworm in einigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&amp;lt;source&amp;gt;&lt;br /&gt;
echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&amp;lt;source&amp;gt;&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken.&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben.&lt;br /&gt;
: [[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: [[Datei:07a_WorkerDHCP.png|miniatur]]&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: [[Datei:07b_WorkerTFTP.png|miniatur]]&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
: [[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode&amp;quot;-Fehlermeldung&lt;br /&gt;
: [[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ignorieren, ohne Eingabe]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
: [[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian-Installation =&lt;br /&gt;
Die weitere Schritte entsprechen einer Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über die TAB- und die Pfeil-Tasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt etwas später nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Klappt hier etwas nicht, so ist die&lt;br /&gt;
DHCP-Konfiguration zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation lasse ich aus, die wurde von besseren Schreibern zur genüge dokumentiert. Nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abwählen.&lt;br /&gt;
* Im selben Dialog den SSH-Server anwählen.&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig!]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (in /etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107670</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107670"/>
		<updated>2025-08-20T19:23:57Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Debian Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s), zwei SATA- und zwei mSATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS. In dem Fall installiert man Debian am besten auf eine mSATA-SSD (gibt es gebraucht&lt;br /&gt;
für unter 10€) und steckt die Datenplatten (z.B. im RAID1-Verbund) an die SATA-Ports.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30. Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschienene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich dann vielleicht&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen, wozu ev. ein paar Versuche notwendig sind. Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) neu starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen. Bei Verwendung einer mSATA-SSD wäre es f1, so habe ich irgendwo gelesen. Die Soekris-Dokumentation gibt leider keine Auskunft.&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Soekris benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
der die Boot-Dateien bereit stellt.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen, z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in den Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (um unnötige Nachfragen zu vermeiden):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Soekris eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse wie der Default-Gateway. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
Dort ist natürlich erst etwas zu sehen, wenn der Soekris über&#039;s Netzwerk startet (weiter unten).&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließend die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
Auch hier gibt&#039;s erst etwas zu sehen, wenn der Soekris später sein PXE-Boot startet.&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Debian-Version installiert werden soll oder wenn Bookworm in einigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&amp;lt;source&amp;gt;&lt;br /&gt;
echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&amp;lt;source&amp;gt;&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken.&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben.&lt;br /&gt;
: [[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: [[Datei:07a_WorkerDHCP.png|miniatur]]&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: [[Datei:07b_WorkerTFTP.png|miniatur]]&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
: [[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode&amp;quot;-Fehlermeldung&lt;br /&gt;
: [[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ignorieren, ohne Eingabe]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
: [[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian-Installation =&lt;br /&gt;
Die weitere Schritte entsprechen einer Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über die TAB- und die Pfeil-Tasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt etwas später nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Klappt hier etwas nicht, so ist die&lt;br /&gt;
DHCP-Konfiguration zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation lasse ich aus, die wurde von besseren Schreibern zur genüge dokumentiert. Nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abwählen.&lt;br /&gt;
* Im selben Dialog den SSH-Server anwählen.&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig!]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (in /etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107668</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107668"/>
		<updated>2025-08-20T19:19:08Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Booten per PXE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s), zwei SATA- und zwei mSATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS. In dem Fall installiert man Debian am besten auf eine mSATA-SSD (gibt es gebraucht&lt;br /&gt;
für unter 10€) und steckt die Datenplatten (z.B. im RAID1-Verbund) an die SATA-Ports.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30. Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschienene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich dann vielleicht&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen, wozu ev. ein paar Versuche notwendig sind. Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) neu starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen. Bei Verwendung einer mSATA-SSD wäre es f1, so habe ich irgendwo gelesen. Die Soekris-Dokumentation gibt leider keine Auskunft.&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Soekris benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
der die Boot-Dateien bereit stellt.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen, z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in den Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (um unnötige Nachfragen zu vermeiden):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Soekris eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse wie der Default-Gateway. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
Dort ist natürlich erst etwas zu sehen, wenn der Soekris über&#039;s Netzwerk startet (weiter unten).&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließend die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
Auch hier gibt&#039;s erst etwas zu sehen, wenn der Soekris später sein PXE-Boot startet.&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Debian-Version installiert werden soll oder wenn Bookworm in einigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&amp;lt;source&amp;gt;&lt;br /&gt;
echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&amp;lt;source&amp;gt;&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken.&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben.&lt;br /&gt;
: [[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: [[Datei:07a_WorkerDHCP.png|miniatur]]&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: [[Datei:07b_WorkerTFTP.png|miniatur]]&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
: [[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode&amp;quot;-Fehlermeldung&lt;br /&gt;
: [[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ignorieren, ohne Eingabe]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
: [[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107667</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107667"/>
		<updated>2025-08-20T19:17:49Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Netzwerk-Verbindung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s), zwei SATA- und zwei mSATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS. In dem Fall installiert man Debian am besten auf eine mSATA-SSD (gibt es gebraucht&lt;br /&gt;
für unter 10€) und steckt die Datenplatten (z.B. im RAID1-Verbund) an die SATA-Ports.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30. Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschienene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich dann vielleicht&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen, wozu ev. ein paar Versuche notwendig sind. Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) neu starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen. Bei Verwendung einer mSATA-SSD wäre es f1, so habe ich irgendwo gelesen. Die Soekris-Dokumentation gibt leider keine Auskunft.&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Soekris benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
der die Boot-Dateien bereit stellt.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen, z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in den Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (um unnötige Nachfragen zu vermeiden):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Soekris eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse wie der Default-Gateway. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
Dort ist natürlich erst etwas zu sehen, wenn der Soekris über&#039;s Netzwerk startet (weiter unten).&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließend die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
Auch hier gibt&#039;s erst etwas zu sehen, wenn der Soekris später sein PXE-Boot startet.&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Debian-Version installiert werden soll oder wenn Bookworm in einigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&amp;lt;source&amp;gt;&lt;br /&gt;
echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&amp;lt;source&amp;gt;&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
: [[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: [[Datei:07a_WorkerDHCP.png|miniatur]]&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: [[Datei:07b_WorkerTFTP.png|miniatur]]&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
: [[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
: [[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ignorieren, ohne Eingabe]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
: [[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107666</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107666"/>
		<updated>2025-08-20T19:07:16Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* BIOS-Einstellungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s), zwei SATA- und zwei mSATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS. In dem Fall installiert man Debian am besten auf eine mSATA-SSD (gibt es gebraucht&lt;br /&gt;
für unter 10€) und steckt die Datenplatten (z.B. im RAID1-Verbund) an die SATA-Ports.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30. Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschienene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich dann vielleicht&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen, wozu ev. ein paar Versuche notwendig sind. Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) neu starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen. Bei Verwendung einer mSATA-SSD wäre es f1, so habe ich irgendwo gelesen. Die Soekris-Dokumentation gibt leider keine Auskunft.&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
: [[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: [[Datei:07a_WorkerDHCP.png|miniatur]]&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: [[Datei:07b_WorkerTFTP.png|miniatur]]&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
: [[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
: [[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ignorieren, ohne Eingabe]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
: [[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107665</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107665"/>
		<updated>2025-08-20T18:58:26Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Serielle Verbindung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s), zwei SATA- und zwei mSATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS. In dem Fall installiert man Debian am besten auf eine mSATA-SSD (gibt es gebraucht&lt;br /&gt;
für unter 10€) und steckt die Datenplatten (z.B. im RAID1-Verbund) an die SATA-Ports.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30. Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschienene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich dann vielleicht&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen, wozu ev. ein paar Versuche notwendig sind. Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) neu starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
: [[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: [[Datei:07a_WorkerDHCP.png|miniatur]]&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: [[Datei:07b_WorkerTFTP.png|miniatur]]&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
: [[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
: [[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ignorieren, ohne Eingabe]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
: [[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107664</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107664"/>
		<updated>2025-08-20T18:56:49Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s), zwei SATA- und zwei mSATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS. In dem Fall installiert man Debian am besten auf eine mSATA-SSD (gibt es gebraucht&lt;br /&gt;
für unter 10€) und steckt die Datenplatten (z.B. im RAID1-Verbund) an die SATA-Ports.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30. Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschienene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich dann vielleicht&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
: [[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: [[Datei:07a_WorkerDHCP.png|miniatur]]&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: [[Datei:07b_WorkerTFTP.png|miniatur]]&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
: [[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
: [[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ignorieren, ohne Eingabe]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
: [[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107663</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107663"/>
		<updated>2025-08-20T18:44:06Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s), zwei SATA- und zwei mSATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS. In dem Fall installiert man Debian am besten auf eine mSATA-SSD (gibt es gebraucht&lt;br /&gt;
für unter 10€) und steckt die Datenplatten (z.B. im RAID1-Verbund) an die SATA-Ports.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30. Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschienene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich dann vielleicht&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
: [[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: [[Datei:07a_WorkerDHCP.png|miniatur]]&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: [[Datei:07b_WorkerTFTP.png|miniatur]]&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
: [[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
: [[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ignorieren, ohne Eingabe]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
: [[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107661</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107661"/>
		<updated>2025-08-20T16:08:41Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s), zwei SATA- und zwei mSATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS. In dem Fall installiert man Debian am besten auf eine mSATA-SSD (gibt es gebraucht&lt;br /&gt;
für unter 10€) und steckt die Datenplatten an die SATA-Ports.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
: [[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: [[Datei:07a_WorkerDHCP.png|miniatur]]&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: [[Datei:07b_WorkerTFTP.png|miniatur]]&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
: [[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
: [[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ignorieren, ohne Eingabe]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
: [[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107660</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107660"/>
		<updated>2025-08-20T16:06:40Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s), zwei SATA- und zwei mSATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS. In dem Fall installiert man Debian am besten auf eine mSATA-SSD (gibt es gebraucht&lt;br /&gt;
für unter 10€) und steckt die Datenplatten an die SATA-Ports.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
: [[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: [[Datei:07a_WorkerDHCP.png|miniatur]]&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: [[Datei:07b_WorkerTFTP.png|miniatur]]&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
: [[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
: [[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ignorieren, ohne Eingabe]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
: [[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107659</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107659"/>
		<updated>2025-08-20T16:02:34Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Booten per PXE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
: [[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: [[Datei:07a_WorkerDHCP.png|miniatur]]&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: [[Datei:07b_WorkerTFTP.png|miniatur]]&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
: [[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
: [[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ignorieren, ohne Eingabe]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
: [[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:07b_WorkerTFTP.png&amp;diff=107658</id>
		<title>Datei:07b WorkerTFTP.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:07b_WorkerTFTP.png&amp;diff=107658"/>
		<updated>2025-08-20T15:59:32Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:07a_WorkerDHCP.png&amp;diff=107657</id>
		<title>Datei:07a WorkerDHCP.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:07a_WorkerDHCP.png&amp;diff=107657"/>
		<updated>2025-08-20T15:59:00Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107656</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107656"/>
		<updated>2025-08-19T18:06:25Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
[[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: &amp;lt;Bild folgt&amp;gt;&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: &amp;lt;Bild folgt...&amp;gt;&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
[[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
[[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ohne Tastendruck ignorieren]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
[[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107655</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107655"/>
		<updated>2025-08-19T18:04:39Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Serielle Verbindung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 a gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwende dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
[[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: &amp;lt;Bild folgt&amp;gt;&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: &amp;lt;Bild folgt...&amp;gt;&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
[[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
[[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ohne Tastendruck ignorieren]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
[[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107654</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107654"/>
		<updated>2025-08-19T18:03:20Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028] mit ELTS sogar bis&lt;br /&gt;
Sommer 2033!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 a gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwendete dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
[[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: &amp;lt;Bild folgt&amp;gt;&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: &amp;lt;Bild folgt...&amp;gt;&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
[[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
[[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ohne Tastendruck ignorieren]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
[[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107653</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107653"/>
		<updated>2025-08-19T17:59:47Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028, mit ELTS sogar bis&lt;br /&gt;
Sommer 2033]!&lt;br /&gt;
&lt;br /&gt;
[[Datei:00_Soekris_net6501.jpg|Inenleben eines Soekris net6501-70]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 a gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwendete dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
[[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: &amp;lt;Bild folgt&amp;gt;&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: &amp;lt;Bild folgt...&amp;gt;&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
[[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
[[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ohne Tastendruck ignorieren]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
[[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:00_Soekris_net6501.jpg&amp;diff=107652</id>
		<title>Datei:00 Soekris net6501.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:00_Soekris_net6501.jpg&amp;diff=107652"/>
		<updated>2025-08-19T17:56:55Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107651</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107651"/>
		<updated>2025-08-19T17:37:16Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet er sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028, mit ELTS sogar bis&lt;br /&gt;
Sommer 2033]!&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 a gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwendete dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
[[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: &amp;lt;Bild folgt&amp;gt;&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: &amp;lt;Bild folgt...&amp;gt;&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
[[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
[[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ohne Tastendruck ignorieren]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
[[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107650</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107650"/>
		<updated>2025-08-19T17:34:54Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Debian Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet es sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028, mit ELTS sogar bis&lt;br /&gt;
Sommer 2033]!&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 a gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwendete dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
[[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: &amp;lt;Bild folgt&amp;gt;&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: &amp;lt;Bild folgt...&amp;gt;&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
[[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
[[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ohne Tastendruck ignorieren]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
[[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
[[Datei:12_SoekrisInstallationComplete.png|miniatur|Der Debian-Installer ist fertig]]&lt;br /&gt;
&lt;br /&gt;
Der Soekris kann nun mit dem frisch installierten Debian Bookworm gestartet werden:&lt;br /&gt;
[[Datei:13_SoekrisUp.png|miniatur|Debian-Login auf der seriellen Konsole]]&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107649</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107649"/>
		<updated>2025-08-19T17:31:13Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Booten per PXE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet es sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028, mit ELTS sogar bis&lt;br /&gt;
Sommer 2033]!&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 a gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwendete dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk &amp;lt;pre&amp;gt;boot f0&amp;lt;/pre&amp;gt; eingeben&lt;br /&gt;
[[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: &amp;lt;Bild folgt&amp;gt;&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: &amp;lt;Bild folgt...&amp;gt;&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
[[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
[[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ohne Tastendruck ignorieren]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
[[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installation: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107648</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107648"/>
		<updated>2025-08-19T17:29:52Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* DHCP-Dienst */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet es sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028, mit ELTS sogar bis&lt;br /&gt;
Sommer 2033]!&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 a gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwendete dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
* eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
* die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
* der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 group {&lt;br /&gt;
   next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
   host tftpclient {&lt;br /&gt;
       filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
* subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
: Unter &amp;quot;option routers&amp;quot; ist der Default-Gateway (Internet-Router) anzugeben. Der DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
* group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk&lt;br /&gt;
&amp;lt;source&amp;gt;boot f0&amp;lt;/source&amp;gt;&lt;br /&gt;
eingeben&lt;br /&gt;
[[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: &amp;lt;Bild folgt&amp;gt;&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: &amp;lt;Bild folgt...&amp;gt;&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
[[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
[[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ohne Tastendruck ignorieren]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
[[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installtion: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107647</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107647"/>
		<updated>2025-08-19T17:26:09Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Booten per PXE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet es sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028, mit ELTS sogar bis&lt;br /&gt;
Sommer 2033]!&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 a gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwendete dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
 * eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
 * die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
 * der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
group {&lt;br /&gt;
  next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
  host tftpclient {&lt;br /&gt;
      filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
 * subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie&lt;br /&gt;
   hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich&lt;br /&gt;
   an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
   : Unter option routers ist der Default-Gateway (Internet-Router) anzugeben. Der&lt;br /&gt;
   DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es&lt;br /&gt;
   kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
 * group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen&lt;br /&gt;
und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk&lt;br /&gt;
&amp;lt;source&amp;gt;boot f0&amp;lt;/source&amp;gt;&lt;br /&gt;
eingeben&lt;br /&gt;
[[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: &amp;lt;Bild folgt&amp;gt;&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: &amp;lt;Bild folgt...&amp;gt;&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
[[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
[[Datei:09_SoekrisInstallerBoot.png|miniatur|Fehlermeldung ohne Tastendruck ignorieren]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
[[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installtion: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107646</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107646"/>
		<updated>2025-08-19T17:25:08Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Booten per PXE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet es sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028, mit ELTS sogar bis&lt;br /&gt;
Sommer 2033]!&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 a gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwendete dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
 * eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
 * die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
 * der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
group {&lt;br /&gt;
  next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
  host tftpclient {&lt;br /&gt;
      filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
 * subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie&lt;br /&gt;
   hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich&lt;br /&gt;
   an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
   : Unter option routers ist der Default-Gateway (Internet-Router) anzugeben. Der&lt;br /&gt;
   DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es&lt;br /&gt;
   kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
 * group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen&lt;br /&gt;
und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk&lt;br /&gt;
&amp;lt;source&amp;gt;boot f0&amp;lt;/source&amp;gt;&lt;br /&gt;
eingeben&lt;br /&gt;
[[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: &amp;lt;Bild folgt&amp;gt;&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: &amp;lt;Bild folgt...&amp;gt;&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
[[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung&lt;br /&gt;
[[Datei:09_SoekrisInstallerBoot.pngminiatur|Fehlermeldung ohne Interaktion ignorieren]]&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
[[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installtion: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107645</id>
		<title>Installation von Debian 12 (Bookworm) auf Soekris-Rechner per RS232</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Installation_von_Debian_12_(Bookworm)_auf_Soekris-Rechner_per_RS232&amp;diff=107645"/>
		<updated>2025-08-19T17:22:05Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: Die Seite wurde neu angelegt: „&amp;#039;&amp;#039;&amp;#039;Unfertiger Artikel&amp;#039;&amp;#039;&amp;#039;  = Einleitung = Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen (1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall betrieben. Mit seinen zwei SATA-Schnittstellen eignet es sich aber auch als stromsparendes und trozdem schnelles Mini-NAS.  Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach w…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Unfertiger Artikel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Einleitung =&lt;br /&gt;
Der Rechner Soekris net6501 ist im Kern ein 32-Bit-System mit 4 schnellen Ethernet-Schnittstellen&lt;br /&gt;
(1Gbit/s) und zwei SATA-Schnittstellen. Er wurde vielerorts als pfsense- oder OPNSense-Firewall&lt;br /&gt;
betrieben. Mit seinen zwei SATA-Schnittstellen eignet es sich aber auch als stromsparendes&lt;br /&gt;
und trozdem schnelles Mini-NAS.&lt;br /&gt;
&lt;br /&gt;
Die letzte OPNSense-Version für das Gerät stammt von 2019. Viele Soekris-Kisten wanderten danach&lt;br /&gt;
wohl in den Müll. Unter Debian Bookworm läuft der Soekris weiterhin problemlos - und das zumindest&lt;br /&gt;
noch eine Weile: [https://www.debian.org/releases/ Dank LTS bis zum 30.Juni 2028, mit ELTS sogar bis&lt;br /&gt;
Sommer 2033]!&lt;br /&gt;
&lt;br /&gt;
Achtung: Das im August 2025 erschiene &amp;quot;Trixie&amp;quot; (Version 13) unterstützt keine 32-Bit-Architekturen mehr. Ein&lt;br /&gt;
Ugrade auf Trixie ist somit nicht drin.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 a gab es in mehreren Varianten. Ich verwende hier das dickste Modell mit der Endung&lt;br /&gt;
&amp;quot;-70&amp;quot;. Mit allen anderen Modellen sollte es ebenso funktionieren.&lt;br /&gt;
&lt;br /&gt;
Den Soekris net6501 nenne ich im folgenden einfach nur Soekris. Die Debian-Installation erfolgt&lt;br /&gt;
mit Hilfe eines weiteren Rechners, den ich Arbeitsrechner nenne. Es handelt sich in meinem Fall&lt;br /&gt;
um ein Linux-Mint-Laptop, es kann aber ein beliebiger Linux-Rechner sein. Nur befindet sich ggf.&lt;br /&gt;
die ein oder andere Konfigurationsdatei an anderer Stelle. Alle Debian-Derivate&lt;br /&gt;
(Mint, Ubuntu) sollten sich für für diese Anleitung in etwa gleich verhalten. Bei Verwendung eines&lt;br /&gt;
nicht-Debian-Linux (Red Hat, CentOS, Suse, ...) sind die Installations-Befehle anzupassen, ggf.&lt;br /&gt;
auch die ein oder andere Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Als Festplatte verwende ich im Soekris eine alte SSD von 120GB, angeschlossen an den SATA-Port J1.&lt;br /&gt;
Ich habe die SSD vor dem Einbau komplett&lt;br /&gt;
mit Nullen überschrieben, was aber nicht unbedingt nötig ist. Dazu die Festplatte an den Arbeitsrechner&lt;br /&gt;
klemmen (direkt oder über einen USB-SATA-Adapter), das Block-Gerät ermitteln (z.B mit dmesg) und den Lösch-&lt;br /&gt;
Vorgang starten:&lt;br /&gt;
 sudo dd if=/dev/zero of=/dev/sdx status=progress bs=1M oflag=direct&lt;br /&gt;
Dabei ist dev/sdx entsprechend anzupassen - besser zwei Mal kontrollieren um nicht am Ende die&lt;br /&gt;
Boot-Platte des Arbeitsrechners zu löschen!&lt;br /&gt;
&lt;br /&gt;
= Serielle Verbindung =&lt;br /&gt;
Die Verbindung zum Soekris erfolgt über die serielle Schnittstelle. Ich verwendete dazu&lt;br /&gt;
einen seriellen USB-Adapter und ein DB9-Kabel &amp;quot;weiblich/weiblich&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Softwareseitig kommt gtkterm zum Einsatz:&lt;br /&gt;
 gtkterm -s115200 -p /dev/ttyUSB0&lt;br /&gt;
Erscheint beim Booten nur ASCII-Schrott, so ist zunächst die Bitrate für gtkterm anzupassen.&lt;br /&gt;
Dann beim Booten mit CTRL-P ins &amp;quot;BIOS&amp;quot; wechseln (der Soekris tut dies automatisch wenn kein&lt;br /&gt;
bootbares Medium vorhanden ist).&lt;br /&gt;
Läuft der Soekris mit einer niedrigeren Bitrate als 115200, so ist jetzt die Gelegenheit, sie&lt;br /&gt;
anzupassen - die Arbeit wird anschließend um einiges angenehmer sein:&lt;br /&gt;
 Set ConSpeed=115200&lt;br /&gt;
 reboot&lt;br /&gt;
Danach gtkterm beenden und mit der hohen Bitrate (Parameter -s115200) starten.&lt;br /&gt;
&lt;br /&gt;
= Firmware Update =&lt;br /&gt;
Die installierte Firmware-Version erscheint beim Booten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:01_SoekrisBooting.png|miniatur|Bootvorgang]]&lt;br /&gt;
&lt;br /&gt;
Die letzte Soekris-Firmware ist auf den [https://soekris.dk/downloads.html Soekris-Seiten erhältlich].&lt;br /&gt;
Auf meinem Soekris läuft &amp;quot;comBIOS ver. 1.41a&amp;quot;, die neueste (Stand August 2025) ist 1.41c. Das Download&lt;br /&gt;
kann im Browser oder direkt in der Shell erfolgen:&lt;br /&gt;
 wget --no-check-certificate https://soekris.dk/media/software/b6501_141c.bin&lt;br /&gt;
&lt;br /&gt;
Das Update wird per XMODEM-Protokoll übertragen. Das entsprechende Paket ist auf dem Arbeitsrechner zu&lt;br /&gt;
installieren:&lt;br /&gt;
 sudo apt-get install lrzsz&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise zum Update der Firmware:&lt;br /&gt;
* Soekris booten und mit CTRL-P in den BIOS-Monitor gelangen&lt;br /&gt;
* Eingabe von &amp;lt;pre&amp;gt;download&amp;lt;/pre&amp;gt;&lt;br /&gt;
* gtkterm schliessen&lt;br /&gt;
* Aufruf von &amp;lt;pre&amp;gt;sz -X &amp;lt;BiosDatei.bin&amp;gt; &amp;lt; /dev/ttyUSB0 &amp;gt; /dev/ttyUSB0&amp;lt;/pre&amp;gt; auf dem Arbeitsrechner&lt;br /&gt;
* gtkterm nach dem Durchlauf von sz erneut öffnen, dann &amp;lt;source&amp;gt;&lt;br /&gt;
flashupdate&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:03_WorkerFlashUpdate.png|miniatur|Neue Firmware vom Arbeitsrechner an den Soekris schicken]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:04_SoekrisFlashUpdate.png|miniatur|Soekris startet mit neuer Firmware nach Flash-Update]]&lt;br /&gt;
&lt;br /&gt;
= BIOS-Einstellungen =&lt;br /&gt;
&lt;br /&gt;
Ausser der Bitrate der seriellen Schnittstelle gibt noch folgende Einstellungen zu überprüfen:&lt;br /&gt;
* PXEBoot - auf &amp;quot;Enabled&amp;quot; setzen&lt;br /&gt;
* BootPartition - auf &amp;quot;Disabled&amp;quot; setzen&lt;br /&gt;
* BootDrive - hier muss 80 zum Booten von der SATA-Festplatte ganz vorne in der Liste stehen&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen sind auf folgendem Bildschirmfoto zu sehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:02_SoekrisConfig.png|miniatur|Soekris-BIOS-Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerk-Verbindung =&lt;br /&gt;
Der Router wird am einfachsten an den Switch des lokalen Netzwerks angeschlossen. Am Router ist&lt;br /&gt;
die mit Eth0 bezeichnete Buchse zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Der Router benötigt einen DHCP-Server zur Konfiguration seines Netzwerks und einen TFTP-Server&lt;br /&gt;
zur Bereitstellung der Boot-Dateien.&lt;br /&gt;
&lt;br /&gt;
== DHCP-Dienst ==&lt;br /&gt;
Der Soekris benötigt zur Installation eine Internetverbindung. Die Parameter erhält er über DHCP.&lt;br /&gt;
Welches Gerät DHCP-Server spielt ist an sich egal. Nur muss eben am Ende&lt;br /&gt;
 * eine funktionierende Internetverbindung bestehen,&lt;br /&gt;
 * die Soekris-IP-Adresse bekannt sein und&lt;br /&gt;
 * der Soekris muss wissen, von wo er seine Boot-Datei bezieht (next-server).&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird gezeigt, wie man den DHCP-Dienst über den Arbeitsrechner zur Verfügung stellen&lt;br /&gt;
kann. Ebenso gut könnte man ein anderes Gerät dafür nutzen. Z.B. den Heimrouter, falls der die&lt;br /&gt;
benötigten Funktionen zur Verfügung stellt. Die Verwendung des Arbeitsrechners&lt;br /&gt;
hat den Vorteil, dass man die DHCP-Anfragen des Soekris einfach in Log-Dateien verfolgen kann,&lt;br /&gt;
was beim Debugging von Vorteil ist.&lt;br /&gt;
&lt;br /&gt;
Es ist natürlich darauf zu achten, dass nie zwei DHCP-Server gleichzeitig im Netz aktiv sind&lt;br /&gt;
(Arbeitsrecher und Heim-Router). Ggf. einen schon vorhandenen DHCP-Server bis zum Ende der&lt;br /&gt;
Soekris-Installation stoppen.&lt;br /&gt;
&lt;br /&gt;
Falls der Arbeitsrechner DHCP-Server spielen soll:&lt;br /&gt;
&lt;br /&gt;
 sudo apt install isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/dhcp/dhcpd.conf stelle ich die Lease-Zeit auf einen Tag (Erklärung weiter unten):&lt;br /&gt;
 default-lease-time 86400;&lt;br /&gt;
 max-lease-time 86400;&lt;br /&gt;
&lt;br /&gt;
Am Ende der gleichen Datei ist folgende Konfiguration anzufügen:&lt;br /&gt;
 subnet 192.168.0.0 netmask 255.255.0.0 {&lt;br /&gt;
   range 192.168.2.200 192.168.2.230;&lt;br /&gt;
   option subnet-mask 255.255.0.0;&lt;br /&gt;
   option broadcast-address 192.168.255.255;&lt;br /&gt;
   option routers 192.168.178.1;&lt;br /&gt;
   option domain-name-servers 192.168.178.2;&lt;br /&gt;
   next-server 192.168.2.6;&lt;br /&gt;
   filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
group {&lt;br /&gt;
  next-server 192.168.2.6;                # mein Arbeitsrechner&lt;br /&gt;
  host tftpclient {&lt;br /&gt;
      filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Anpassungen:&lt;br /&gt;
 * subnet-Block: Alle Parameter an das lokale Netz anpassen. Achtung bei der Netmask: Ein /16-Netz wie&lt;br /&gt;
   hier im Beispiel ist eher unüblich, Anpassung nicht vergessen! Der range-Bereich gibt den Bereich&lt;br /&gt;
   an, aus dem dem Router eine IP-Adresse zugewiesen wird.&lt;br /&gt;
   : Unter option routers ist der Default-Gateway (Internet-Router) anzugeben. Der&lt;br /&gt;
   DNS-Server (option domain-name-servers) läuft in vielen lokalen Netzen auf der gleichen Adresse. Es&lt;br /&gt;
   kann aber auch einer der bekannten, großen Dienste konfiguriert werden (beispielsweise 1.1.1.1).&lt;br /&gt;
 * group-Block: Als &amp;quot;next-server&amp;quot; ist die Adresse des Arbeitsrechners anzugeben.&lt;br /&gt;
&lt;br /&gt;
DHCP-Dienst neu starten:&lt;br /&gt;
 sudo systemctl restart isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
Zur Verifikation der Funktionsweise bietet es sich an, ein separates Terminal-Fenster zu öffnen&lt;br /&gt;
und dort die eintreffenden DHCP-Anfragen im Auge zu behalten:&lt;br /&gt;
 tail -f /var/log/syslog | grep DHCP&lt;br /&gt;
&lt;br /&gt;
== TFTP-Dienst ==&lt;br /&gt;
Der TFTP-Dienst ist der im vorherigen Abschnitt erwähnte &amp;quot;next-server&amp;quot;. Er stellt die Dateien zur Verfügung,&lt;br /&gt;
mit denen der Soekris GRUB bootet und anschließ die Debian-Installation startet.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 sudo apt install tftpd-hpa&lt;br /&gt;
Es werden keine weiteren Anpassungen benötigt. Der Dienst stellt unter Debian standardmäßig die Dateien&lt;br /&gt;
im Verzeichnis /srv/tftp/ zur Verfügung (siehe /etc/default/tftpd-hpa). Zum einfacheren Arbeiten wird&lt;br /&gt;
das Verzeichnis für jedermann zugänglich gemacht:&lt;br /&gt;
 cd /srv&lt;br /&gt;
 sudo chmod 777 tftp&lt;br /&gt;
&lt;br /&gt;
Leider habe ich keine Möglichkeit gefunden, den tftp-Server zum Loggen eingehender Anfragen zu bewegen.&lt;br /&gt;
Zur Darstellung greife ich deshalb auf ein einfaches Montoring der Ethernet-Schnittstelle zurück - am&lt;br /&gt;
besten in einem weiteren Terminal-Fenster:&lt;br /&gt;
 sudo apt install tcpdump&lt;br /&gt;
 sudo tcpdump port 69 -v | grep &amp;quot;   &amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Boot-Dateien ==&lt;br /&gt;
Zum Booten der Debian-Installation werden nur wenige Dateien benötigt. Man findet sie in der Datei&lt;br /&gt;
netboot.tar.gz der verschiedenen Debian-Versionen. Runterladen und Entpacken der Dateien für Debian&lt;br /&gt;
12 Bookworm:&lt;br /&gt;
 cd /srv/tftp&lt;br /&gt;
 wget https://deb.debian.org/debian/dists/bookworm/main/installer-i386/current/images/netboot/netboot.tar.gz&lt;br /&gt;
 tar xvzf netboot.tar.gz    # utime- und mode-Fehler ignorieren&lt;br /&gt;
 rm -rf netboot.tar.gz&lt;br /&gt;
&lt;br /&gt;
Falls eine ältere Version installiert werden soll oder wenn Bookworm in wenigen Jahren zu einer alten&lt;br /&gt;
Version geworden ist, so ist deb.debian.org in der URL ggf. durch archive.debian.org zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
In den heruntergeladenen Dateien ist die Konfiguration so abzuändern, dass Bildschirm und Tastatur&lt;br /&gt;
auf die serielle Schnittstelle umgeleitet werden.&lt;br /&gt;
* Umstellung des GRUB-Bootloaders auf die serielle Schnittstelle:&lt;br /&gt;
 echo &amp;quot;serial 0 115200&amp;quot; &amp;gt; x&lt;br /&gt;
 echo &amp;quot;console 0&amp;quot; &amp;gt;&amp;gt; x&lt;br /&gt;
 cat debian-installer/i386/boot-screens/syslinux.cfg &amp;gt;&amp;gt; x&lt;br /&gt;
 mv x debian-installer/i386/boot-screens/syslinux.cfg&lt;br /&gt;
&lt;br /&gt;
* Umstellung aller GRUB-Menü-Einträge zum Booten des Linux-Kernels:&lt;br /&gt;
 grep -l quiet -r | grep &amp;quot;\.cfg$&amp;quot; | parallel &#039;sed -i &amp;quot;s/quiet/console=ttyS0,115200n8/g&amp;quot; {}&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Booten per PXE =&lt;br /&gt;
Nun sollte alles bereit stehen, um die Installation zu starten. Hier die einzelnen Schritte.&lt;br /&gt;
&lt;br /&gt;
* Soekris neu starten (reset) und CTRL-P drücken&lt;br /&gt;
* Zum Booten über Netzwerk&lt;br /&gt;
&amp;lt;source&amp;gt;boot f0&amp;lt;/source&amp;gt;&lt;br /&gt;
eingeben&lt;br /&gt;
[[Datei:07_SoekrisBootPXE.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Daraufhin lässt sich am Arbeitsrechner die DHCP-Anfrage des Soekris beobachten:&lt;br /&gt;
: &amp;lt;Bild folgt&amp;gt;&lt;br /&gt;
* Beim TFTP-Dienst laufen Dateianfragen ein:&lt;br /&gt;
: &amp;lt;Bild folgt...&amp;gt;&lt;br /&gt;
* Der Soekris zeigt das GRUB-Boot-Menü des Debian-Installers:&lt;br /&gt;
[[Datei:08_SoekrisGRUB.png|miniatur|Start der Debian-Installation]]&lt;br /&gt;
* Enter drücken, nach kurzer Wartezeit erscheint eine &amp;quot;Video mode-Fehlermeldung (siehe vorheriges Bildschirmfoto)&lt;br /&gt;
* Keine Taste drücken, einfach nur warten bis es von selbst weiter geht.&lt;br /&gt;
* Es erscheint der erste Schirm der Debian-Installation:&lt;br /&gt;
[[Datei:10_Soekris_DebianInstaller.png|miniatur|Debian-Installtion: Sprachauswahl]]&lt;br /&gt;
&lt;br /&gt;
= Debian Installation =&lt;br /&gt;
Die weitere Schritte entsprechen eine Debian-Standard-Installation, nur dass sie eben über&lt;br /&gt;
die serielle Schnittstelle erfolgt. Der Wechsel zwischen den Auswahlmöglichkeiten&lt;br /&gt;
im Text-Installer erfolgt über TAB und die Pfeiltasten.&lt;br /&gt;
&lt;br /&gt;
Das Installationsprogramm fragt kurz nach den Länder- und Spracheinstellungen nach der zu&lt;br /&gt;
verwendenden Ethernetschnittstelle, dabei entspricht enp5s0 der Eth1-Schnittstelle:&lt;br /&gt;
&lt;br /&gt;
[[Datei:11_Soekris_DebianInstallerEthernet.png|miniatur|Auswahl der richtigen Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
War der Netzwerkverkehr bisher auf das lokale Netz beschränkt, so lädt der Installer ab&lt;br /&gt;
nun auch jede Menge Pakete aus dem Internet. Bei Problemen ist die&lt;br /&gt;
DHCP-Konfiguration (Default-Gateway und DNS) zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die weitere Installation ist anderenorts zur genüge dokumentiert - nur zwei Punkte seien erwähnt:&lt;br /&gt;
* Den grafischen Desktop (Gnome) bei der entspechenden Abfrage abschalten.&lt;br /&gt;
* Im selben Dialog den SSH-Server einschalten&lt;br /&gt;
&lt;br /&gt;
Ganz am Ende sollte die Belohnung für den Aufwand so aussehen:&lt;br /&gt;
&lt;br /&gt;
Nach der Installation ist noch die definitive Netzwerkkonfiguration (/etc/network/interfaces)&lt;br /&gt;
vorzunehmen. Bequemer geht&#039;s ab jetzt natürlich über SSH statt über die serielle Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
Und nun kann&#039;s mit den eignenen Ideeen losgehen :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Folgende Seiten haben mir bei der Erstellung dieser Dokumentation geholfen:&lt;br /&gt;
* https://www.soekris.net/media/manuals/net6501_manual.pdf&lt;br /&gt;
* http://debian.takhis.net/soekris/soekris.html#15&lt;br /&gt;
* https://strugglers.net/wiki/Debian_on_Soekris&lt;br /&gt;
* https://www.gnu.org/software/grub/manual/grub/html_node/Serial-terminal.html&lt;br /&gt;
* https://p5r.uk/blog/2020/instaling-debian-over-serial-console.html&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:13_SoekrisUp.png&amp;diff=107644</id>
		<title>Datei:13 SoekrisUp.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:13_SoekrisUp.png&amp;diff=107644"/>
		<updated>2025-08-19T17:09:46Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:12_SoekrisInstallationComplete.png&amp;diff=107643</id>
		<title>Datei:12 SoekrisInstallationComplete.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:12_SoekrisInstallationComplete.png&amp;diff=107643"/>
		<updated>2025-08-19T17:09:35Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:11_Soekris_DebianInstallerEthernet.png&amp;diff=107642</id>
		<title>Datei:11 Soekris DebianInstallerEthernet.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:11_Soekris_DebianInstallerEthernet.png&amp;diff=107642"/>
		<updated>2025-08-19T17:09:22Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:10_Soekris_DebianInstaller.png&amp;diff=107641</id>
		<title>Datei:10 Soekris DebianInstaller.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:10_Soekris_DebianInstaller.png&amp;diff=107641"/>
		<updated>2025-08-19T17:09:07Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:09_SoekrisInstallerBoot.png&amp;diff=107640</id>
		<title>Datei:09 SoekrisInstallerBoot.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:09_SoekrisInstallerBoot.png&amp;diff=107640"/>
		<updated>2025-08-19T17:08:54Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:08_SoekrisGRUB.png&amp;diff=107639</id>
		<title>Datei:08 SoekrisGRUB.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:08_SoekrisGRUB.png&amp;diff=107639"/>
		<updated>2025-08-19T17:08:38Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:07_SoekrisBootPXE.png&amp;diff=107638</id>
		<title>Datei:07 SoekrisBootPXE.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:07_SoekrisBootPXE.png&amp;diff=107638"/>
		<updated>2025-08-19T17:08:26Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:04_SoekrisFlashUpdate.png&amp;diff=107637</id>
		<title>Datei:04 SoekrisFlashUpdate.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:04_SoekrisFlashUpdate.png&amp;diff=107637"/>
		<updated>2025-08-19T17:08:15Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:03_WorkerFlashUpdate.png&amp;diff=107636</id>
		<title>Datei:03 WorkerFlashUpdate.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:03_WorkerFlashUpdate.png&amp;diff=107636"/>
		<updated>2025-08-19T17:07:49Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:02_SoekrisConfig.png&amp;diff=107635</id>
		<title>Datei:02 SoekrisConfig.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:02_SoekrisConfig.png&amp;diff=107635"/>
		<updated>2025-08-19T17:07:21Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:01_SoekrisBooting.png&amp;diff=107634</id>
		<title>Datei:01 SoekrisBooting.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:01_SoekrisBooting.png&amp;diff=107634"/>
		<updated>2025-08-19T17:06:39Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=87043</id>
		<title>Umbau Luftentfeuchter Comedes LTR 600</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=87043"/>
		<updated>2015-02-02T17:46:19Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Die Originalsteuerung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Umbau Luftentfeuchter Comedes LTR600&lt;br /&gt;
&lt;br /&gt;
=Einleitung=&lt;br /&gt;
Ich habe mir vor einiger Zeit einen Luftentfeuchter der Marke Comedes, Modell LTR600 zugelegt. Über Geräusche oder Design kann man lange diskutieren, die  Entfeuchtungsleistung mag besser oder schlechter sein als bei Konkurrenzprodukten, das alles liegt für mich beim LTR600 noch halbwegs im grünen Bereich.&lt;br /&gt;
&lt;br /&gt;
Im dunkelroten Bereich liegt jedoch die Steuerelektronik. Die soll dafür sorgen, dass das Gerät nicht einfriert. Dazu ist die Elektronik mit einem Temperaturfühler verbunden (NTC) so dass der Kompressor ggf. abgeschaltet werden kann. Die Schaltung ist jedoch so aufgebaut, dass sich der Entfeuchter bei Umgebungstemperaturen von unter 7 Grad Celsius dennoch in einen dicken Eisblock verwandelt.&lt;br /&gt;
[[Datei:ComedesEisblock.jpg|miniatur|Designfehler: Eisblock trotz Auftauelektronik]]&lt;br /&gt;
&lt;br /&gt;
Das Gerät ist wohlgemerkt nicht defekt. Es steht nur eben in einer Garage in der die Temperatur im Winter unter 7 Grad fällt.&lt;br /&gt;
&lt;br /&gt;
Ein Gerät das trotz Temperatursensor nicht vor Einfrieren geschützt ist? Ohne Frage, hier handelt es sich um ein Fehldesign! Manche Leute meinten dazu bereits, ich würde das Gerät falsch einsetzen. Es sei halt nicht für diese Temperaturen gedacht. Aber das ist natürlich Unsinn. Soll ich etwa im Winter für 3 Wochen das Wetter im voraus per Kristallkugel lesen, damit ich weiss, ob ich den Netzstecker ziehe wenn ich Urlaub fahre? Der Entfeuchter muss selbst erkennen, wenn er abschalten muss, dafür hat er ja einen Temperaturfühler! Auch sei bemerkt, dass ich mit einem Konkurrenzprodukt in genau dem gleichen Raum (Garage) noch nie Probleme hatte.&lt;br /&gt;
&lt;br /&gt;
In diesem kleinen Artikel möchte ich zeigen, wo der Designfehler liegt und wie man mit Hilfe eines Arduino ein funktionierendes Gerät erhält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Die Originalsteuerung=&lt;br /&gt;
Hinter dem Auffangbehälter des LTR600 ist der elektrische Schaltplan aufgeklebt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesSchaltplan.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Das ist natürlich nur die halbe Miete. Zu dem Bereich, den ich im Bild rot eingefärbt habe, fand ich nichts. Interessant ist jedoch bereits, dass der &amp;quot;Power/Humidity Switch&amp;quot; links oben im Bild das ganze Gerät, also Motor und Elektronik abschaltet wenn die Luft trocken genug ist (ein Detail, das später noch wichtig wird). In Reihe damit liegt der Wechsler im roten Bereich (Anschlüsse COM/NC/NO). Somit kann das, was sich im roten Bereich verbirgt, eingreifen und den Kompressor eigenständig abschalten. Klar, dass es sich hier um die Auftau-Schaltung handeln muss. Beim Element TH, das rechts unten an den roten Kasten geklemmt ist, handelt es sich um den NTC. Er sitzt direkt an den Kühllamellen.&lt;br /&gt;
&lt;br /&gt;
Um das Problem zu verstehen bedarf es also einer Untersuchung des roten Bereichs, den ich im folgenden Steuerelektronik nenne. Der LTR600 lässt sich zum Glück leicht zerlegen und der rote Bereich im Schaltplan entpuppt sich als folgendes Teil:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesElektronik.jpg|400px]]&lt;br /&gt;
[[Bild:ComedesElektronikLeiterbahnen.jpg|410px]]&lt;br /&gt;
&lt;br /&gt;
Die Aufteilung ist sogleich klar: Trafo und Gleichrichter mittig, links das Relais mit dem Wechsler-Kontakt zum Schalten des Kompressors, rechts das &amp;quot;Gehirn&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Der Schaltplan zu der einfachen Platine ist schnell gezeichnet:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesElektronikSchaltplan.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Nun zur Funktionsweise:&lt;br /&gt;
&lt;br /&gt;
Die Elektronik besteht im wesentlichen aus 2 Timern (U2 und U3) sowie U1, das als Schmitt-Trigger arbeitet. Sein Ausgang (OC) schaltet auf ca. +12V wenn&#039;s am Kondensator zu kalt wird, oder auf nahe 0V wenn keine Frostgefahr besteht. Nun wird der Kompressor aber nicht einfach mit diesem Signal ein- und ausgeschaltet. Das würde sonst zu einem ständigen Schalten führen würde. Vielmehr erlaubt es Timer U2, dass die Temperatur für eine gewisse Zeit unter dem Schwellwert liegen darf, ohne dass der Kompressor abgeschaltet wird. Diese Zeit lässt sich mit Hilfe der Datenblätter zum CD4541 errechnen und ich habe sie auch im Test überprüft.&lt;br /&gt;
&lt;br /&gt;
* Der Timer U2 wird mit dem Ausgangssignal des Schmitt-Triggers unter Spannug gesetzt und seine Eingänge A und B liegen auf H. Dadurch arbeitet der Timer mit einem Teilungsfaktor von 65536.&lt;br /&gt;
* Die Zählfrequenz von U2 liegt bei f = 1 / (2,3 x R11 x C8). Mit R11=191kOhm und C8=100nF ergibt dies einen Wert von 22,8 Hz.&lt;br /&gt;
* Der Timer kommt somit auf eine Ausgangsperiode von 65536/22,8Hz = 2870 Sekunden. Sein Q-Ausgang schaltet also nach der Hälfte der Zeit (etwa 24 Minuten) auf H.&lt;br /&gt;
* Dadurch schaltet der Transistor, das Relais zieht an, öffnet den Kontakt und schaltet den Kompressor aus.&lt;br /&gt;
* Gleichzeitig wird U3 unter Spannung gesetzt und beginnt nun seinerseits zu zählen. Seine Beschaltung (R14=63,4kOhm, C9=100nF) führt dazu, dass sein Q-Ausgang nach etwa weiteren 8 Minuten von L auf H geht und dadurch U2 zurücksetzt. Das Relais fällt wieder ab und der Kompressor läuft wieder an.&lt;br /&gt;
&lt;br /&gt;
U3 sorgt also dafür, dass der Kompressor abschaltet wenn&#039;s zu lange zu kalt ist - und zwar für ganze 8 Minuten!? Nach Ablauf dieser Zeit kann der Kompressor wieder anspringen, ganz egal, ob die Kühlrippen inzwischen wieder warm genug sind oder nicht. Mit anderen Worten: Auch wenn die Temperatur immer noch unter dem Grenzwert liegt, darf der Kompressor wieder für U2-Laufzeit (24 Minuten) anspringen - und so für eine totale Vereisung sorgen.&lt;br /&gt;
&lt;br /&gt;
Hinzu kommt noch folgendes: Sollte während der U3-Laufzeit die Luftfeuchtigkeit unter den Sollwert fallen, so wird das ganze Gerät stromlos geschaltet. Dadurch &amp;quot;vergisst&amp;quot; es seine Timer. Steigt die Luftfeuchtigkeit nun wieder - was durch den abgeschalteten Ventilator je nach Raumverhalten recht schnell der Fall sein kann - so darf der Kompressor wieder für einen ganzen U2-Zyklus laufen - und weiter vereisen.&lt;br /&gt;
&lt;br /&gt;
Praktisch bedeutet es, dass der LTR600 unter 7 Grad Umgebungstemperatur zu einer Gefahr für sich selbst wird und sich obendrein in einen sinnlosen Stromfresser verwandelt.&lt;br /&gt;
&lt;br /&gt;
=Hardware-Umbau=&lt;br /&gt;
Es gibt sicher viele Wege, dieses Fehlverhalten zu korrigieren, auch ganz ohne Mikrokontroller. In dem Fall aber wäre mikrokontroller.net wohl die falsche Adresse für diesen Artikel. Ich entschied mich für einen Umbau auf einen Arduino. Das fällt zwar wohl unter die Kategorie &amp;quot;Overkill&amp;quot; da ich nur einen Ein- und einen Ausgang des schönen Arduino nutze, aber andereseits kann man damit nach Belieben ausprobieren. Und: Geärgert habe ich mich mit dem LTR600 bereits genug, ab jetzt soll&#039;s Spass machen :)&lt;br /&gt;
&lt;br /&gt;
Einige Vorgaben zum Umbau stellte ich mir selber:&lt;br /&gt;
* Es soll nur die doofe Elektronik weichen, alle anderen Teile (Trafo, Relais, Anschlussstecker) sollen weiterverwendet werden.&lt;br /&gt;
* Es muss alles wieder genauso ins Gehäuse passen wie vorher&lt;br /&gt;
* Es ist nur ein Proof-Of-Concept; es geht hier bei mir nur um ein einziges Gerät. Es werden keine neuen Platinen geätzt o.ä. Was nicht passt wird nach Prototypen-Art passend gemacht.&lt;br /&gt;
&lt;br /&gt;
So kam die Idee, sogar die Platine wiederzuverwerten; nur eben die verkorkste Steuerung muss weichen. Dazu lötete ich alle Teile derselben aus und entfernte die entsprechenden Leiterbahnen. Anschliessend bohrte ich in den nun freien Bereich die Löcher für einen Arduino Micro und verdrahtete ihn von unten. Viel wird dabei nicht benötigt: Spannungsversorgung, Temperaturfühler-Eingang und Relais-Ausgang.&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesUmbauUnten.jpg|200px]]&lt;br /&gt;
[[Bild:ComedesUmbauObenKomplett.jpg|320px]]&lt;br /&gt;
[[Bild:ComedesUmbauOben.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
Das USB-Kabel habe ich aus Platzgründen direkt am Arduino Micro angelötet und dann nach aussen geführt. Ich bin nämlich fast sicher, dass ich ein paar Anläufe benötigen werde bevor ich die Software halbwegs brauchbar parametriert habe. Schliesslich muss ich mangels Klimakammer warten bis mir das Wetter meine jeweiligen Testbedingungen bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Dann wieder zusammenbauen, wobei ich für das USB-Kabel einen kleinen Schlitz in die Aussenwand gefeilt habe:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesEinbauPlatine.jpg|300px]]&lt;br /&gt;
[[Bild:ComedesEinbauMitDeckel.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
=Software=&lt;br /&gt;
Wie aber soll so eine Luftentfeuchter-Steuerung vorgehen? Sicherlich wäre es am einfachsten, wenn der Arduino dauerhaft mit Strom versorgt wäre und man müsste nicht jederzeit mit dem Abschalten durch den Luftfeuchte-Sensor rechnen. Die Auflagen, die ich mir beim Umbau gab, lassen dies aber nicht zu.&lt;br /&gt;
&lt;br /&gt;
Zum zweiten wäre eine Klimakammer wohl das Richtige zum Einstellen und Messen von Feuchte, Temperaturen, Auftautzeiten etc. Mit solchen Daten ließe sich sicherlich ein guter Ansatz finden, der in der Kammer dann seinen letzten Schliff erhalten könnte. Eine solche Kammer habe ich natürlich nicht, sodass ich mir folgendes überlegte:&lt;br /&gt;
&lt;br /&gt;
Ich unterteile den Temperaturbereich in 3 Zonen:&lt;br /&gt;
* In der tiefsten ist der Betrieb nicht erlaubt, der Kompressor bleibt aus.&lt;br /&gt;
* In der höchsten darf der Kompressor ohne Probleme dauerhaft an sein.&lt;br /&gt;
* In der mittleren, der kritischen Zone darf der Kompressor eingeschaltet sein, bis die tiefste Zone erreicht ist. Anschliessend wird er abgeschaltet bis die Temperatur wieder in der mittleren Zone liegt. Das Programm lässt dann aber den Kompressor für eine zusätzliche Wartezeit abgeschaltet, damit auch wirklich alle Kühlrippen abtauen. Diese zusätzliche Wartezeit ist abhängig von der Anstiegsgeschwindigkeit der Temperatur, dT/dt.&lt;br /&gt;
&lt;br /&gt;
Ich bin überzeugt dass es hundert bessere Ansätze gibt. Auch habe ich bemerkt, dass ein Temperatursensor für die Aussentemperatur nützlich wäre. Allerdings ist mein Entfeuchter mit der jetzigen Software nie wieder eingefroren, obwohl&#039;s in meiner Garage in diesem Winter schon mehrmals nahe bei 0 Grad hatte. Und trotz der niedrigen Temperaturen entfeuchtet das Gerät weiterhin. Natürlich nicht wie Sommer, aber immerhin ca. 1 Behälter alle 2-3 Wochen.&lt;br /&gt;
&lt;br /&gt;
Ein erstes Programm, eine totale Alpha-Version, ist hier erhältich: [[Datei:Comedes.tar.bz2]]. Für erste Tests sollte es reichen.&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=87042</id>
		<title>Umbau Luftentfeuchter Comedes LTR 600</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=87042"/>
		<updated>2015-02-02T17:45:35Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Die Originalsteuerung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Umbau Luftentfeuchter Comedes LTR600&lt;br /&gt;
&lt;br /&gt;
=Einleitung=&lt;br /&gt;
Ich habe mir vor einiger Zeit einen Luftentfeuchter der Marke Comedes, Modell LTR600 zugelegt. Über Geräusche oder Design kann man lange diskutieren, die  Entfeuchtungsleistung mag besser oder schlechter sein als bei Konkurrenzprodukten, das alles liegt für mich beim LTR600 noch halbwegs im grünen Bereich.&lt;br /&gt;
&lt;br /&gt;
Im dunkelroten Bereich liegt jedoch die Steuerelektronik. Die soll dafür sorgen, dass das Gerät nicht einfriert. Dazu ist die Elektronik mit einem Temperaturfühler verbunden (NTC) so dass der Kompressor ggf. abgeschaltet werden kann. Die Schaltung ist jedoch so aufgebaut, dass sich der Entfeuchter bei Umgebungstemperaturen von unter 7 Grad Celsius dennoch in einen dicken Eisblock verwandelt.&lt;br /&gt;
[[Datei:ComedesEisblock.jpg|miniatur|Designfehler: Eisblock trotz Auftauelektronik]]&lt;br /&gt;
&lt;br /&gt;
Das Gerät ist wohlgemerkt nicht defekt. Es steht nur eben in einer Garage in der die Temperatur im Winter unter 7 Grad fällt.&lt;br /&gt;
&lt;br /&gt;
Ein Gerät das trotz Temperatursensor nicht vor Einfrieren geschützt ist? Ohne Frage, hier handelt es sich um ein Fehldesign! Manche Leute meinten dazu bereits, ich würde das Gerät falsch einsetzen. Es sei halt nicht für diese Temperaturen gedacht. Aber das ist natürlich Unsinn. Soll ich etwa im Winter für 3 Wochen das Wetter im voraus per Kristallkugel lesen, damit ich weiss, ob ich den Netzstecker ziehe wenn ich Urlaub fahre? Der Entfeuchter muss selbst erkennen, wenn er abschalten muss, dafür hat er ja einen Temperaturfühler! Auch sei bemerkt, dass ich mit einem Konkurrenzprodukt in genau dem gleichen Raum (Garage) noch nie Probleme hatte.&lt;br /&gt;
&lt;br /&gt;
In diesem kleinen Artikel möchte ich zeigen, wo der Designfehler liegt und wie man mit Hilfe eines Arduino ein funktionierendes Gerät erhält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Die Originalsteuerung=&lt;br /&gt;
Hinter dem Auffangbehälter des LTR600 ist der elektrische Schaltplan aufgeklebt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesSchaltplan.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Das ist natürlich nur die halbe Miete. Zu dem Bereich, den ich im Bild rot eingefärbt habe, fand ich nichts. Interessant ist jedoch bereits, dass der &amp;quot;Power/Humidity Switch&amp;quot; links oben im Bild das ganze Gerät, also Motor und Elektronik abschaltet wenn die Luft trocken genug ist (ein Detail, das später noch wichtig wird). In Reihe damit liegt der Wechsler im roten Bereich (Anschlüsse COM/NC/NO). Somit kann das, was sich im roten Bereich verbirgt, eingreifen und den Kompressor eigenständig abschalten. Klar, dass es sich hier um die Auftau-Schaltung handeln muss. Beim Element TH, das rechts unten an den roten Kasten geklemmt ist, handelt es sich um den NTC. Er sitzt direkt an den Kühllamellen.&lt;br /&gt;
&lt;br /&gt;
Um das Problem zu verstehen bedarf es also einer Untersuchung des roten Bereichs, den ich im folgenden Steuerelektronik nenne. Der LTR600 lässt sich zum Glück leicht zerlegen und der rote Bereich im Schaltplan entpuppt sich als folgendes Teil:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesElektronik.jpg|400px]]&lt;br /&gt;
[[Bild:ComedesElektronikLeiterbahnen.jpg|410px]]&lt;br /&gt;
&lt;br /&gt;
Die Aufteilung ist sogleich klar: Trafo und Gleichrichter mittig, links das Relais mit dem Wechsler-Kontakt zum Schalten des Kompressors, rechts das &amp;quot;Gehirn&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Der Schaltplan zu der einfachen Platine ist schnell gezeichnet:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesElektronikSchaltplan.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Nun zur Funktionsweise:&lt;br /&gt;
&lt;br /&gt;
Die Elektronik besteht im wesentlichen aus 2 Timern (U2 und U3) sowie U1, das als Schmitt-Trigger arbeitet. Sein Ausgang (OC) schaltet auf ca. +12V wenn&#039;s am Kondensator zu kalt wird, oder auf nahe 0V wenn keine Frostgefahr besteht. Nun wird der Kompressor aber nicht einfach mit diesem Signal ein- und ausgeschaltet. Das würde sonst zu einem ständigen Schalten führen würde. Vielmehr erlaubt es Timer U2, dass die Temperatur für eine gewisse Zeit unter dem Schwellwert liegen darf, ohne dass der Kompresor abgeschaltet wird. Diese Zeit lässt sich mit Hilfe der Datenblätter zum CD4541 errechnen und ich habe sie auch im Test überprüft.&lt;br /&gt;
&lt;br /&gt;
* Der Timer U2 wird mit dem Ausgangssignal des Schmitt-Triggers unter Spannug gesetzt und seine Eingänge A und B liegen auf H. Dadurch arbeitet der Timer mit einem Teilungsfaktor von 65536.&lt;br /&gt;
* Die Zählfrequenz von U2 liegt bei f = 1 / (2,3 x R11 x C8). Mit R11=191kOhm und C8=100nF ergibt dies einen Wert von 22,8 Hz.&lt;br /&gt;
* Der Timer kommt somit auf eine Ausgangsperiode von 65536/22,8Hz = 2870 Sekunden. Sein Q-Ausgang schaltet also nach der Hälfte der Zeit (etwa 24 Minuten) auf H.&lt;br /&gt;
* Dadurch schaltet der Transistor, das Relais zieht an, öffnet den Kontakt und schaltet den Kompressor aus.&lt;br /&gt;
* Gleichzeitig wird U3 unter Spannung gesetzt und beginnt nun seinerseits zu zählen. Seine Beschaltung (R14=63,4kOhm, C9=100nF) führt dazu, dass sein Q-Ausgang nach etwa weiteren 8 Minuten von L auf H geht und dadurch U2 zurücksetzt. Das Relais fällt wieder ab und der Kompressor läuft wieder an.&lt;br /&gt;
&lt;br /&gt;
U3 sorgt also dafür, dass der Kompressor abschaltet wenn&#039;s zu lange zu kalt ist - und zwar für ganze 8 Minuten!? Nach Ablauf dieser Zeit kann der Kompressor wieder anspringen, ganz egal, ob die Kühlrippen inzwischen wieder warm genug sind oder nicht. Mit anderen Worten: Auch wenn die Temperatur immer noch unter dem Grenzwert liegt, darf der Kompressor wieder für U2-Laufzeit (24 Minuten) anspringen - und so für eine totale Vereisung sorgen.&lt;br /&gt;
&lt;br /&gt;
Hinzu kommt noch folgendes: Sollte während der U3-Laufzeit die Luftfeuchtigkeit unter den Sollwert fallen, so wird das ganze Gerät stromlos geschaltet. Dadurch &amp;quot;vergisst&amp;quot; es seine Timer. Steigt die Luftfeuchtigkeit nun wieder - was durch den abgeschalteten Ventilator je nach Raumverhalten recht schnell der Fall sein kann - so darf der Kompressor wieder für einen ganzen U2-Zyklus laufen - und weiter vereisen.&lt;br /&gt;
&lt;br /&gt;
Praktisch bedeutet es, dass der LTR600 unter 7 Grad Umgebungstemperatur zu einer Gefahr für sich selbst wird und sich obendrein in einen sinnlosen Stromfresser verwandelt.&lt;br /&gt;
&lt;br /&gt;
=Hardware-Umbau=&lt;br /&gt;
Es gibt sicher viele Wege, dieses Fehlverhalten zu korrigieren, auch ganz ohne Mikrokontroller. In dem Fall aber wäre mikrokontroller.net wohl die falsche Adresse für diesen Artikel. Ich entschied mich für einen Umbau auf einen Arduino. Das fällt zwar wohl unter die Kategorie &amp;quot;Overkill&amp;quot; da ich nur einen Ein- und einen Ausgang des schönen Arduino nutze, aber andereseits kann man damit nach Belieben ausprobieren. Und: Geärgert habe ich mich mit dem LTR600 bereits genug, ab jetzt soll&#039;s Spass machen :)&lt;br /&gt;
&lt;br /&gt;
Einige Vorgaben zum Umbau stellte ich mir selber:&lt;br /&gt;
* Es soll nur die doofe Elektronik weichen, alle anderen Teile (Trafo, Relais, Anschlussstecker) sollen weiterverwendet werden.&lt;br /&gt;
* Es muss alles wieder genauso ins Gehäuse passen wie vorher&lt;br /&gt;
* Es ist nur ein Proof-Of-Concept; es geht hier bei mir nur um ein einziges Gerät. Es werden keine neuen Platinen geätzt o.ä. Was nicht passt wird nach Prototypen-Art passend gemacht.&lt;br /&gt;
&lt;br /&gt;
So kam die Idee, sogar die Platine wiederzuverwerten; nur eben die verkorkste Steuerung muss weichen. Dazu lötete ich alle Teile derselben aus und entfernte die entsprechenden Leiterbahnen. Anschliessend bohrte ich in den nun freien Bereich die Löcher für einen Arduino Micro und verdrahtete ihn von unten. Viel wird dabei nicht benötigt: Spannungsversorgung, Temperaturfühler-Eingang und Relais-Ausgang.&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesUmbauUnten.jpg|200px]]&lt;br /&gt;
[[Bild:ComedesUmbauObenKomplett.jpg|320px]]&lt;br /&gt;
[[Bild:ComedesUmbauOben.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
Das USB-Kabel habe ich aus Platzgründen direkt am Arduino Micro angelötet und dann nach aussen geführt. Ich bin nämlich fast sicher, dass ich ein paar Anläufe benötigen werde bevor ich die Software halbwegs brauchbar parametriert habe. Schliesslich muss ich mangels Klimakammer warten bis mir das Wetter meine jeweiligen Testbedingungen bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Dann wieder zusammenbauen, wobei ich für das USB-Kabel einen kleinen Schlitz in die Aussenwand gefeilt habe:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesEinbauPlatine.jpg|300px]]&lt;br /&gt;
[[Bild:ComedesEinbauMitDeckel.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
=Software=&lt;br /&gt;
Wie aber soll so eine Luftentfeuchter-Steuerung vorgehen? Sicherlich wäre es am einfachsten, wenn der Arduino dauerhaft mit Strom versorgt wäre und man müsste nicht jederzeit mit dem Abschalten durch den Luftfeuchte-Sensor rechnen. Die Auflagen, die ich mir beim Umbau gab, lassen dies aber nicht zu.&lt;br /&gt;
&lt;br /&gt;
Zum zweiten wäre eine Klimakammer wohl das Richtige zum Einstellen und Messen von Feuchte, Temperaturen, Auftautzeiten etc. Mit solchen Daten ließe sich sicherlich ein guter Ansatz finden, der in der Kammer dann seinen letzten Schliff erhalten könnte. Eine solche Kammer habe ich natürlich nicht, sodass ich mir folgendes überlegte:&lt;br /&gt;
&lt;br /&gt;
Ich unterteile den Temperaturbereich in 3 Zonen:&lt;br /&gt;
* In der tiefsten ist der Betrieb nicht erlaubt, der Kompressor bleibt aus.&lt;br /&gt;
* In der höchsten darf der Kompressor ohne Probleme dauerhaft an sein.&lt;br /&gt;
* In der mittleren, der kritischen Zone darf der Kompressor eingeschaltet sein, bis die tiefste Zone erreicht ist. Anschliessend wird er abgeschaltet bis die Temperatur wieder in der mittleren Zone liegt. Das Programm lässt dann aber den Kompressor für eine zusätzliche Wartezeit abgeschaltet, damit auch wirklich alle Kühlrippen abtauen. Diese zusätzliche Wartezeit ist abhängig von der Anstiegsgeschwindigkeit der Temperatur, dT/dt.&lt;br /&gt;
&lt;br /&gt;
Ich bin überzeugt dass es hundert bessere Ansätze gibt. Auch habe ich bemerkt, dass ein Temperatursensor für die Aussentemperatur nützlich wäre. Allerdings ist mein Entfeuchter mit der jetzigen Software nie wieder eingefroren, obwohl&#039;s in meiner Garage in diesem Winter schon mehrmals nahe bei 0 Grad hatte. Und trotz der niedrigen Temperaturen entfeuchtet das Gerät weiterhin. Natürlich nicht wie Sommer, aber immerhin ca. 1 Behälter alle 2-3 Wochen.&lt;br /&gt;
&lt;br /&gt;
Ein erstes Programm, eine totale Alpha-Version, ist hier erhältich: [[Datei:Comedes.tar.bz2]]. Für erste Tests sollte es reichen.&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=87041</id>
		<title>Umbau Luftentfeuchter Comedes LTR 600</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=87041"/>
		<updated>2015-02-02T17:44:09Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Die Originalsteuerung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Umbau Luftentfeuchter Comedes LTR600&lt;br /&gt;
&lt;br /&gt;
=Einleitung=&lt;br /&gt;
Ich habe mir vor einiger Zeit einen Luftentfeuchter der Marke Comedes, Modell LTR600 zugelegt. Über Geräusche oder Design kann man lange diskutieren, die  Entfeuchtungsleistung mag besser oder schlechter sein als bei Konkurrenzprodukten, das alles liegt für mich beim LTR600 noch halbwegs im grünen Bereich.&lt;br /&gt;
&lt;br /&gt;
Im dunkelroten Bereich liegt jedoch die Steuerelektronik. Die soll dafür sorgen, dass das Gerät nicht einfriert. Dazu ist die Elektronik mit einem Temperaturfühler verbunden (NTC) so dass der Kompressor ggf. abgeschaltet werden kann. Die Schaltung ist jedoch so aufgebaut, dass sich der Entfeuchter bei Umgebungstemperaturen von unter 7 Grad Celsius dennoch in einen dicken Eisblock verwandelt.&lt;br /&gt;
[[Datei:ComedesEisblock.jpg|miniatur|Designfehler: Eisblock trotz Auftauelektronik]]&lt;br /&gt;
&lt;br /&gt;
Das Gerät ist wohlgemerkt nicht defekt. Es steht nur eben in einer Garage in der die Temperatur im Winter unter 7 Grad fällt.&lt;br /&gt;
&lt;br /&gt;
Ein Gerät das trotz Temperatursensor nicht vor Einfrieren geschützt ist? Ohne Frage, hier handelt es sich um ein Fehldesign! Manche Leute meinten dazu bereits, ich würde das Gerät falsch einsetzen. Es sei halt nicht für diese Temperaturen gedacht. Aber das ist natürlich Unsinn. Soll ich etwa im Winter für 3 Wochen das Wetter im voraus per Kristallkugel lesen, damit ich weiss, ob ich den Netzstecker ziehe wenn ich Urlaub fahre? Der Entfeuchter muss selbst erkennen, wenn er abschalten muss, dafür hat er ja einen Temperaturfühler! Auch sei bemerkt, dass ich mit einem Konkurrenzprodukt in genau dem gleichen Raum (Garage) noch nie Probleme hatte.&lt;br /&gt;
&lt;br /&gt;
In diesem kleinen Artikel möchte ich zeigen, wo der Designfehler liegt und wie man mit Hilfe eines Arduino ein funktionierendes Gerät erhält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Die Originalsteuerung=&lt;br /&gt;
Hinter dem Auffangbehälter des LTR600 ist der elektrische Schaltplan aufgeklebt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesSchaltplan.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Das ist natürlich nur die halbe Miete. Zu dem Bereich, den ich im Bild rot eingefärbt habe, fand ich nichts. Interessant ist jedoch bereits, dass der &amp;quot;Power/Humidity Switch&amp;quot; links oben im Bild das ganze Gerät, also Motor und Elektronik abschaltet wenn die Luft trocken genug ist (ein Detail, das später noch wichtig wird). In Reihe damit liegt der Wechsler im roten Bereich (Anschlüsse COM/NC/NO). Somit kann das, was sich im roten Bereich verbirgt, eingreifen und den Kompressor eigenständig abschalten. Klar, dass es sich hier um die Auftau-Schaltung handeln muss. Beim Element TH, das rechts unten an den roten Kasten geklemmt ist, handelt es sich um den NTC. Er sitzt direkt an den Kühllamellen.&lt;br /&gt;
&lt;br /&gt;
Um das Problem zu verstehen bedarf es also einer Untersuchung des roten Bereichs, den ich im folgenden Steuerelektronik nenne. Der LTR600 lässt sich zum Glück leicht zerlegen und der rote Bereich im Schaltplan entpuppt sich als folgendes Teil:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesElektronik.jpg|400px]]&lt;br /&gt;
[[Bild:ComedesElektronikLeiterbahnen.jpg|410px]]&lt;br /&gt;
&lt;br /&gt;
Die Aufteilung ist sogleich klar: Trafo und Gleichrichter mittig, links das Relais mit dem Wechsler-Kontakt zum Schalten des Kompressors, rechts das &amp;quot;Gehirn&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Der Schaltplan zu der einfachen Platine ist schnell gezeichnet:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesElektronikSchaltplan.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Nun zur Funktionsweise:&lt;br /&gt;
&lt;br /&gt;
Die Elektronik besteht im wesentlichen aus 2 Timern (U2 und U3) sowie U1, das als Schmitt-Trigger arbeitet. Sein Ausgang schaltet auf ca. +12V wenn&#039;s am Kondensator zu kalt wird, oder auf nahe 0V wenn keine Frostgefahr besteht. Nun wird der Kompressor aber nicht einfach mit diesem Signal ein- und ausgeschaltet. Das würde sonst zu einem ständigen Schalten führen würde. Vielmehr erlaubt es Timer U2, dass die Temperatur für eine gewisse Zeit unter dem Schwellwert liegen darf, ohne dass der Kompresor abgeschaltet wird. Diese Zeit lässt sich mit Hilfe der Datenblätter zum CD4541 errechnen und ich habe sie auch im Test überprüft.&lt;br /&gt;
&lt;br /&gt;
* Der Timer U2 wird mit dem Ausgangssignal des Schmitt-Triggers unter Spannug gesetzt und seine Eingänge A und B liegen auf H. Dadurch arbeitet der Timer mit einem Teilungsfaktor von 65536.&lt;br /&gt;
* Die Zählfrequenz von U2 liegt bei f = 1 / (2,3 x R11 x C8). Mit R11=191kOhm und C8=100nF ergibt dies einen Wert von 22,8 Hz.&lt;br /&gt;
* Der Timer kommt somit auf eine Ausgangsperiode von 65536/22,8Hz = 2870 Sekunden. Sein Q-Ausgang schaltet also nach der Hälfte der Zeit (etwa 24 Minuten) auf H.&lt;br /&gt;
* Dadurch schaltet der Transistor, das Relais zieht an, öffnet den Kontakt und schaltet den Kompressor aus.&lt;br /&gt;
* Gleichzeitig wird U3 unter Spannung gesetzt und beginnt nun seinerseits zu zählen. Seine Beschaltung (R14=63,4kOhm, C9=100nF) führt dazu, dass sein Q-Ausgang nach etwa weiteren 8 Minuten von L auf H geht und dadurch U2 zurücksetzt. Das Relais fällt wieder ab und der Kompressor läuft wieder an.&lt;br /&gt;
&lt;br /&gt;
U3 sorgt also dafür, dass der Kompressor abschaltet wenn&#039;s zu lange zu kalt ist - und zwar für ganze 8 Minuten!? Nach Ablauf dieser Zeit kann der Kompressor wieder anspringen, ganz egal, ob die Kühlrippen inzwischen wieder warm genug sind oder nicht. Mit anderen Worten: Auch wenn die Temperatur immer noch unter dem Grenzwert liegt, darf der Kompressor wieder für U2-Laufzeit (24 Minuten) anspringen - und so für eine totale Vereisung sorgen.&lt;br /&gt;
&lt;br /&gt;
Hinzu kommt noch folgendes: Sollte während der U3-Laufzeit die Luftfeuchtigkeit unter den Sollwert fallen, so wird das ganze Gerät stromlos geschaltet. Dadurch &amp;quot;vergisst&amp;quot; es seine Timer. Steigt die Luftfeuchtigkeit nun wieder - was durch den abgeschalteten Ventilator je nach Raumverhalten recht schnell der Fall sein kann - so darf der Kompressor wieder für einen ganzen U2-Zyklus laufen - und weiter vereisen.&lt;br /&gt;
&lt;br /&gt;
Praktisch bedeutet es, dass der LTR600 unter 7 Grad Umgebungstemperatur zu einer Gefahr für sich selbst wird und sich obendrein in einen sinnlosen Stromfresser verwandelt.&lt;br /&gt;
&lt;br /&gt;
=Hardware-Umbau=&lt;br /&gt;
Es gibt sicher viele Wege, dieses Fehlverhalten zu korrigieren, auch ganz ohne Mikrokontroller. In dem Fall aber wäre mikrokontroller.net wohl die falsche Adresse für diesen Artikel. Ich entschied mich für einen Umbau auf einen Arduino. Das fällt zwar wohl unter die Kategorie &amp;quot;Overkill&amp;quot; da ich nur einen Ein- und einen Ausgang des schönen Arduino nutze, aber andereseits kann man damit nach Belieben ausprobieren. Und: Geärgert habe ich mich mit dem LTR600 bereits genug, ab jetzt soll&#039;s Spass machen :)&lt;br /&gt;
&lt;br /&gt;
Einige Vorgaben zum Umbau stellte ich mir selber:&lt;br /&gt;
* Es soll nur die doofe Elektronik weichen, alle anderen Teile (Trafo, Relais, Anschlussstecker) sollen weiterverwendet werden.&lt;br /&gt;
* Es muss alles wieder genauso ins Gehäuse passen wie vorher&lt;br /&gt;
* Es ist nur ein Proof-Of-Concept; es geht hier bei mir nur um ein einziges Gerät. Es werden keine neuen Platinen geätzt o.ä. Was nicht passt wird nach Prototypen-Art passend gemacht.&lt;br /&gt;
&lt;br /&gt;
So kam die Idee, sogar die Platine wiederzuverwerten; nur eben die verkorkste Steuerung muss weichen. Dazu lötete ich alle Teile derselben aus und entfernte die entsprechenden Leiterbahnen. Anschliessend bohrte ich in den nun freien Bereich die Löcher für einen Arduino Micro und verdrahtete ihn von unten. Viel wird dabei nicht benötigt: Spannungsversorgung, Temperaturfühler-Eingang und Relais-Ausgang.&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesUmbauUnten.jpg|200px]]&lt;br /&gt;
[[Bild:ComedesUmbauObenKomplett.jpg|320px]]&lt;br /&gt;
[[Bild:ComedesUmbauOben.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
Das USB-Kabel habe ich aus Platzgründen direkt am Arduino Micro angelötet und dann nach aussen geführt. Ich bin nämlich fast sicher, dass ich ein paar Anläufe benötigen werde bevor ich die Software halbwegs brauchbar parametriert habe. Schliesslich muss ich mangels Klimakammer warten bis mir das Wetter meine jeweiligen Testbedingungen bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Dann wieder zusammenbauen, wobei ich für das USB-Kabel einen kleinen Schlitz in die Aussenwand gefeilt habe:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesEinbauPlatine.jpg|300px]]&lt;br /&gt;
[[Bild:ComedesEinbauMitDeckel.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
=Software=&lt;br /&gt;
Wie aber soll so eine Luftentfeuchter-Steuerung vorgehen? Sicherlich wäre es am einfachsten, wenn der Arduino dauerhaft mit Strom versorgt wäre und man müsste nicht jederzeit mit dem Abschalten durch den Luftfeuchte-Sensor rechnen. Die Auflagen, die ich mir beim Umbau gab, lassen dies aber nicht zu.&lt;br /&gt;
&lt;br /&gt;
Zum zweiten wäre eine Klimakammer wohl das Richtige zum Einstellen und Messen von Feuchte, Temperaturen, Auftautzeiten etc. Mit solchen Daten ließe sich sicherlich ein guter Ansatz finden, der in der Kammer dann seinen letzten Schliff erhalten könnte. Eine solche Kammer habe ich natürlich nicht, sodass ich mir folgendes überlegte:&lt;br /&gt;
&lt;br /&gt;
Ich unterteile den Temperaturbereich in 3 Zonen:&lt;br /&gt;
* In der tiefsten ist der Betrieb nicht erlaubt, der Kompressor bleibt aus.&lt;br /&gt;
* In der höchsten darf der Kompressor ohne Probleme dauerhaft an sein.&lt;br /&gt;
* In der mittleren, der kritischen Zone darf der Kompressor eingeschaltet sein, bis die tiefste Zone erreicht ist. Anschliessend wird er abgeschaltet bis die Temperatur wieder in der mittleren Zone liegt. Das Programm lässt dann aber den Kompressor für eine zusätzliche Wartezeit abgeschaltet, damit auch wirklich alle Kühlrippen abtauen. Diese zusätzliche Wartezeit ist abhängig von der Anstiegsgeschwindigkeit der Temperatur, dT/dt.&lt;br /&gt;
&lt;br /&gt;
Ich bin überzeugt dass es hundert bessere Ansätze gibt. Auch habe ich bemerkt, dass ein Temperatursensor für die Aussentemperatur nützlich wäre. Allerdings ist mein Entfeuchter mit der jetzigen Software nie wieder eingefroren, obwohl&#039;s in meiner Garage in diesem Winter schon mehrmals nahe bei 0 Grad hatte. Und trotz der niedrigen Temperaturen entfeuchtet das Gerät weiterhin. Natürlich nicht wie Sommer, aber immerhin ca. 1 Behälter alle 2-3 Wochen.&lt;br /&gt;
&lt;br /&gt;
Ein erstes Programm, eine totale Alpha-Version, ist hier erhältich: [[Datei:Comedes.tar.bz2]]. Für erste Tests sollte es reichen.&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:ComedesElektronikSchaltplan.jpg&amp;diff=87040</id>
		<title>Datei:ComedesElektronikSchaltplan.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:ComedesElektronikSchaltplan.jpg&amp;diff=87040"/>
		<updated>2015-02-02T17:41:58Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=86972</id>
		<title>Umbau Luftentfeuchter Comedes LTR 600</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=86972"/>
		<updated>2015-01-31T13:27:32Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Umbau Luftentfeuchter Comedes LTR600&lt;br /&gt;
&lt;br /&gt;
=Einleitung=&lt;br /&gt;
Ich habe mir vor einiger Zeit einen Luftentfeuchter der Marke Comedes, Modell LTR600 zugelegt. Über Geräusche oder Design kann man lange diskutieren, die  Entfeuchtungsleistung mag besser oder schlechter sein als bei Konkurrenzprodukten, das alles liegt für mich beim LTR600 noch halbwegs im grünen Bereich.&lt;br /&gt;
&lt;br /&gt;
Im dunkelroten Bereich liegt jedoch die Steuerelektronik. Die soll dafür sorgen, dass das Gerät nicht einfriert. Dazu ist die Elektronik mit einem Temperaturfühler verbunden (NTC) so dass der Kompressor ggf. abgeschaltet werden kann. Die Schaltung ist jedoch so aufgebaut, dass sich der Entfeuchter bei Umgebungstemperaturen von unter 7 Grad Celsius dennoch in einen dicken Eisblock verwandelt.&lt;br /&gt;
[[Datei:ComedesEisblock.jpg|miniatur|Designfehler: Eisblock trotz Auftauelektronik]]&lt;br /&gt;
&lt;br /&gt;
Das Gerät ist wohlgemerkt nicht defekt. Es steht nur eben in einer Garage in der die Temperatur im Winter unter 7 Grad fällt.&lt;br /&gt;
&lt;br /&gt;
Ein Gerät das trotz Temperatursensor nicht vor Einfrieren geschützt ist? Ohne Frage, hier handelt es sich um ein Fehldesign! Manche Leute meinten dazu bereits, ich würde das Gerät falsch einsetzen. Es sei halt nicht für diese Temperaturen gedacht. Aber das ist natürlich Unsinn. Soll ich etwa im Winter für 3 Wochen das Wetter im voraus per Kristallkugel lesen, damit ich weiss, ob ich den Netzstecker ziehe wenn ich Urlaub fahre? Der Entfeuchter muss selbst erkennen, wenn er abschalten muss, dafür hat er ja einen Temperaturfühler! Auch sei bemerkt, dass ich mit einem Konkurrenzprodukt in genau dem gleichen Raum (Garage) noch nie Probleme hatte.&lt;br /&gt;
&lt;br /&gt;
In diesem kleinen Artikel möchte ich zeigen, wo der Designfehler liegt und wie man mit Hilfe eines Arduino ein funktionierendes Gerät erhält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Die Originalsteuerung=&lt;br /&gt;
Hinter dem Auffangbehälter des LTR600 ist der elektrische Schaltplan aufgeklebt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesSchaltplan.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Das ist natürlich nur die halbe Miete. Zu dem Bereich, den ich im Bild rot eingefärbt habe, fand ich nichts. Interessant ist jedoch bereits, dass der &amp;quot;Power/Humidity Switch&amp;quot; links oben im Bild das ganze Gerät, also Motor und Elektronik abschaltet wenn die Luft trocken genug ist (ein Detail, das später noch wichtig wird). In Reihe damit liegt der Wechsler im roten Bereich (Anschlüsse COM/NC/NO). Somit kann das, was sich im roten Bereich verbirgt, eingreifen und den Kompressor eigenständig abschalten. Klar, dass es sich hier um die Auftau-Schaltung handeln muss. Beim Element TH, das rechts unten an den roten Kasten geklemmt ist, handelt es sich um den NTC. Er sitzt direkt an den Kühllamellen.&lt;br /&gt;
&lt;br /&gt;
Um das Problem zu verstehen bedarf es also einer Untersuchung des roten Bereichs, den ich im folgenden Steuerelektronik nenne. Der LTR600 lässt sich zum Glück leicht zerlegen und der rote Bereich im Schaltplan entpuppt sich als folgendes Teil:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesElektronik.jpg|400px]]&lt;br /&gt;
[[Bild:ComedesElektronikLeiterbahnen.jpg|410px]]&lt;br /&gt;
&lt;br /&gt;
Die Aufteilung ist sogleich klar: Trafo und Gleichrichter mittig, links das Relais mit dem Wechsler-Kontakt zum Schalten des Kompressors, rechts das &amp;quot;Gehirn&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Der Schaltplan zu der einfachen Platine ist schnell gezeichnet:&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;Schaltplan&lt;br /&gt;
&lt;br /&gt;
Nun zur Funktionsweise:&lt;br /&gt;
&lt;br /&gt;
Die Elektronik besteht im wesentlichen aus 2 Timern (U2 und U3) sowie U1, das als Schmitt-Trigger arbeitet. Sein Ausgang schaltet auf ca. +12V wenn&#039;s am Kondensator zu kalt wird, oder auf nahe 0V wenn keine Frostgefahr besteht. Nun wird der Kompressor aber nicht einfach mit diesem Signal ein- und ausgeschaltet. Das würde sonst zu einem ständigen Schalten führen würde. Vielmehr erlaubt es Timer U2, dass die Temperatur für eine gewisse Zeit unter dem Schwellwert liegen darf, ohne dass der Kompresor abgeschaltet wird. Diese Zeit lässt sich mit Hilfe der Datenblätter zum CD4541 errechnen und ich habe sie auch im Test überprüft.&lt;br /&gt;
&lt;br /&gt;
* Der Timer U2 wird mit dem Ausgangssignal des Schmitt-Triggers unter Spannug gesetzt und seine Eingänge A und B liegen auf H. Dadurch arbeitet der Timer mit einem Teilungsfaktor von 65536.&lt;br /&gt;
* Die Zählfrequenz von U2 liegt bei f = 1 / (2,3 x R11 x C8). Mit R11=191kOhm und C8=100nF ergibt dies einen Wert von 22,8 Hz.&lt;br /&gt;
* Der Timer kommt somit auf eine Ausgangsperiode von 65536/22,8Hz = 2870 Sekunden. Sein Q-Ausgang schaltet also nach der Hälfte der Zeit (etwa 24 Minuten) auf H.&lt;br /&gt;
* Dadurch schaltet der Transistor, das Relais zieht an, öffnet den Kontakt und schaltet den Kompressor aus.&lt;br /&gt;
* Gleichzeitig wird U3 unter Spannung gesetzt und beginnt nun seinerseits zu zählen. Seine Beschaltung (R14=63,4kOhm, C9=100nF) führt dazu, dass sein Q-Ausgang nach etwa weiteren 8 Minuten von L auf H geht und dadurch U2 zurücksetzt. Das Relais fällt wieder ab und der Kompressor läuft wieder an.&lt;br /&gt;
&lt;br /&gt;
U3 sorgt also dafür, dass der Kompressor abschaltet wenn&#039;s zu lange zu kalt ist - und zwar für ganze 8 Minuten!? Nach Ablauf dieser Zeit kann der Kompressor wieder anspringen, ganz egal, ob die Kühlrippen inzwischen wieder warm genug sind oder nicht. Mit anderen Worten: Auch wenn die Temperatur immer noch unter dem Grenzwert liegt, darf der Kompressor wieder für U2-Laufzeit (24 Minuten) anspringen - und so für eine totale Vereisung sorgen.&lt;br /&gt;
&lt;br /&gt;
Hinzu kommt noch folgendes: Sollte während der U3-Laufzeit die Luftfeuchtigkeit unter den Sollwert fallen, so wird das ganze Gerät stromlos geschaltet. Dadurch &amp;quot;vergisst&amp;quot; es seine Timer. Steigt die Luftfeuchtigkeit nun wieder - was durch den abgeschalteten Ventilator je nach Raumverhalten recht schnell der Fall sein kann - so darf der Kompressor wieder für einen ganzen U2-Zyklus laufen - und weiter vereisen.&lt;br /&gt;
&lt;br /&gt;
Praktisch bedeutet es, dass der LTR600 unter 7 Grad Umgebungstemperatur zu einer Gefahr für sich selbst wird und sich obendrein in einen sinnlosen Stromfresser verwandelt.&lt;br /&gt;
&lt;br /&gt;
=Hardware-Umbau=&lt;br /&gt;
Es gibt sicher viele Wege, dieses Fehlverhalten zu korrigieren, auch ganz ohne Mikrokontroller. In dem Fall aber wäre mikrokontroller.net wohl die falsche Adresse für diesen Artikel. Ich entschied mich für einen Umbau auf einen Arduino. Das fällt zwar wohl unter die Kategorie &amp;quot;Overkill&amp;quot; da ich nur einen Ein- und einen Ausgang des schönen Arduino nutze, aber andereseits kann man damit nach Belieben ausprobieren. Und: Geärgert habe ich mich mit dem LTR600 bereits genug, ab jetzt soll&#039;s Spass machen :)&lt;br /&gt;
&lt;br /&gt;
Einige Vorgaben zum Umbau stellte ich mir selber:&lt;br /&gt;
* Es soll nur die doofe Elektronik weichen, alle anderen Teile (Trafo, Relais, Anschlussstecker) sollen weiterverwendet werden.&lt;br /&gt;
* Es muss alles wieder genauso ins Gehäuse passen wie vorher&lt;br /&gt;
* Es ist nur ein Proof-Of-Concept; es geht hier bei mir nur um ein einziges Gerät. Es werden keine neuen Platinen geätzt o.ä. Was nicht passt wird nach Prototypen-Art passend gemacht.&lt;br /&gt;
&lt;br /&gt;
So kam die Idee, sogar die Platine wiederzuverwerten; nur eben die verkorkste Steuerung muss weichen. Dazu lötete ich alle Teile derselben aus und entfernte die entsprechenden Leiterbahnen. Anschliessend bohrte ich in den nun freien Bereich die Löcher für einen Arduino Micro und verdrahtete ihn von unten. Viel wird dabei nicht benötigt: Spannungsversorgung, Temperaturfühler-Eingang und Relais-Ausgang.&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesUmbauUnten.jpg|200px]]&lt;br /&gt;
[[Bild:ComedesUmbauObenKomplett.jpg|320px]]&lt;br /&gt;
[[Bild:ComedesUmbauOben.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
Das USB-Kabel habe ich aus Platzgründen direkt am Arduino Micro angelötet und dann nach aussen geführt. Ich bin nämlich fast sicher, dass ich ein paar Anläufe benötigen werde bevor ich die Software halbwegs brauchbar parametriert habe. Schliesslich muss ich mangels Klimakammer warten bis mir das Wetter meine jeweiligen Testbedingungen bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Dann wieder zusammenbauen, wobei ich für das USB-Kabel einen kleinen Schlitz in die Aussenwand gefeilt habe:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesEinbauPlatine.jpg|300px]]&lt;br /&gt;
[[Bild:ComedesEinbauMitDeckel.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
=Software=&lt;br /&gt;
Wie aber soll so eine Luftentfeuchter-Steuerung vorgehen? Sicherlich wäre es am einfachsten, wenn der Arduino dauerhaft mit Strom versorgt wäre und man müsste nicht jederzeit mit dem Abschalten durch den Luftfeuchte-Sensor rechnen. Die Auflagen, die ich mir beim Umbau gab, lassen dies aber nicht zu.&lt;br /&gt;
&lt;br /&gt;
Zum zweiten wäre eine Klimakammer wohl das Richtige zum Einstellen und Messen von Feuchte, Temperaturen, Auftautzeiten etc. Mit solchen Daten ließe sich sicherlich ein guter Ansatz finden, der in der Kammer dann seinen letzten Schliff erhalten könnte. Eine solche Kammer habe ich natürlich nicht, sodass ich mir folgendes überlegte:&lt;br /&gt;
&lt;br /&gt;
Ich unterteile den Temperaturbereich in 3 Zonen:&lt;br /&gt;
* In der tiefsten ist der Betrieb nicht erlaubt, der Kompressor bleibt aus.&lt;br /&gt;
* In der höchsten darf der Kompressor ohne Probleme dauerhaft an sein.&lt;br /&gt;
* In der mittleren, der kritischen Zone darf der Kompressor eingeschaltet sein, bis die tiefste Zone erreicht ist. Anschliessend wird er abgeschaltet bis die Temperatur wieder in der mittleren Zone liegt. Das Programm lässt dann aber den Kompressor für eine zusätzliche Wartezeit abgeschaltet, damit auch wirklich alle Kühlrippen abtauen. Diese zusätzliche Wartezeit ist abhängig von der Anstiegsgeschwindigkeit der Temperatur, dT/dt.&lt;br /&gt;
&lt;br /&gt;
Ich bin überzeugt dass es hundert bessere Ansätze gibt. Auch habe ich bemerkt, dass ein Temperatursensor für die Aussentemperatur nützlich wäre. Allerdings ist mein Entfeuchter mit der jetzigen Software nie wieder eingefroren, obwohl&#039;s in meiner Garage in diesem Winter schon mehrmals nahe bei 0 Grad hatte. Und trotz der niedrigen Temperaturen entfeuchtet das Gerät weiterhin. Natürlich nicht wie Sommer, aber immerhin ca. 1 Behälter alle 2-3 Wochen.&lt;br /&gt;
&lt;br /&gt;
Ein erstes Programm, eine totale Alpha-Version, ist hier erhältich: [[Datei:Comedes.tar.bz2]]. Für erste Tests sollte es reichen.&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=86971</id>
		<title>Umbau Luftentfeuchter Comedes LTR 600</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=86971"/>
		<updated>2015-01-31T13:19:30Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Die Originalsteuerung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Umbau Luftentfeuchter Comedes LTR600&lt;br /&gt;
&lt;br /&gt;
=Einleitung=&lt;br /&gt;
Ich habe mir vor einiger Zeit einen Luftentfeuchter der Marke Comedes, Modell LTR600 zugelegt. Über Geräusche oder Design kann man lange diskutieren, die  Entfeuchtungsleistung mag besser oder schlechter sein als bei Konkurrenzprodukten, das alles liegt für mich beim LTR600 noch halbwegs im grünen Bereich.&lt;br /&gt;
&lt;br /&gt;
Im dunkelroten Bereich liegt jedoch die Steuerelektronik. Die soll dafür sorgen, dass das Gerät nicht einfriert. Dazu ist die Elektronik mit einem Temperaturfühler verbunden (NTC) so dass der Kompressor ggf. abgeschaltet werden kann. Die Schaltung ist jedoch so aufgebaut, dass sich der Entfeuchter bei Umgebungstemperaturen von unter 7 Grad Celsius dennoch in einen dicken Eisblock verwandelt.&lt;br /&gt;
[[Datei:ComedesEisblock.jpg|miniatur|Designfehler: Eisblock trotz Auftauelektronik]]&lt;br /&gt;
&lt;br /&gt;
Das Gerät ist wohlgemerkt nicht defekt. Es steht nur eben in einer Garage in der die Temperatur im Winter unter 7 Grad fällt.&lt;br /&gt;
&lt;br /&gt;
Ein Gerät das trotz Temperatursensor nicht vor Einfrieren geschützt ist? Ohne Frage, hier handelt es sich um ein Fehldesign! Manche Leute meinten dazu bereits, ich würde das Gerät falsch einsetzen. Es sei halt nicht für diese Temperaturen gedacht. Aber das ist natürlich Unsinn. Soll ich etwa im Winter für 3 Wochen das Wetter im voraus per Kristallkugel lesen, damit ich weiss, ob ich den Netzstecker ziehe wenn ich Urlaub fahre? Der Entfeuchter muss selbst erkennen, wenn er abschalten muss, dafür hat er ja einen Temperaturfühler! Auch sei bemerkt, dass ich mit einem Konkurrenzprodukt in genau dem gleichen Raum (Garage) noch nie Probleme hatte.&lt;br /&gt;
&lt;br /&gt;
In diesem kleinen Artikel möchte ich zeigen, wo der Designfehler liegt und wie man mit Hilfe eines Arduino ein funktionierendes Gerät erhält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Die Originalsteuerung=&lt;br /&gt;
Hinter dem Auffangbehälter des LTR600 ist der elektrische Schaltplan aufgeklebt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesSchaltplan.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Das ist natürlich nur die halbe Miete. Zu dem Bereich, den ich im Bild rot eingefärbt habe, fand ich nichts. Interessant ist jedoch bereits, dass der &amp;quot;Power/Humidity Switch&amp;quot; links oben im Bild das ganze Gerät, also Motor und Elektronik abschaltet wenn die Luft trocken genug ist (ein Detail, das später noch wichtig wird). In Reihe damit liegt der Wechsler im roten Bereich (Anschlüsse COM/NC/NO). Somit kann das, was sich im roten Bereich verbirgt, eingreifen und den Kompressor eigenständig abschalten. Klar, dass es sich hier um die Auftau-Schaltung handeln muss. Beim Element TH, das rechts unten an den roten Kasten geklemmt ist, handelt es sich um den NTC. Er sitzt direkt an den Kühllamellen.&lt;br /&gt;
&lt;br /&gt;
Um das Problem zu verstehen bedarf es also einer Untersuchung des roten Bereichs, den ich im folgenden Steuerelektronik nenne. Der LTR600 lässt sich zum Glück leicht zerlegen und der rote Bereich im Schaltplan entpuppt sich als folgendes Teil:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesElektronik.jpg|400px]]&lt;br /&gt;
[[Bild:ComedesElektronikLeiterbahnen.jpg|410px]]&lt;br /&gt;
&lt;br /&gt;
Die Aufteilung ist sogleich klar: Trafo und Gleichrichter mittig, links das Relais mit dem Wechsler-Kontakt zum Schalten des Kompressors, rechts das &amp;quot;Gehirn&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Der Schaltplan zu der einfachen Platine ist schnell gezeichnet:&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;Schaltplan&lt;br /&gt;
&lt;br /&gt;
Nun zur Funktionsweise:&lt;br /&gt;
&lt;br /&gt;
Die Elektronik besteht im wesentlichen aus 2 Timern (U2 und U3) sowie U1, das als Schmitt-Trigger arbeitet. Sein Ausgang schaltet auf ca. +12V wenn&#039;s am Kondensator zu kalt wird, oder auf nahe 0V wenn keine Frostgefahr besteht. Nun wird der Kompressor aber nicht einfach mit diesem Signal ein- und ausgeschaltet. Das würde sonst zu einem ständigen Schalten führen würde. Vielmehr erlaubt es Timer U2, dass die Temperatur für eine gewisse Zeit unter dem Schwellwert liegen darf, ohne dass der Kompresor abgeschaltet wird. Diese Zeit lässt sich mit Hilfe der Datenblätter zum CD4541 errechnen und ich habe sie auch im Test überprüft.&lt;br /&gt;
&lt;br /&gt;
* Der Timer U2 wird mit dem Ausgangssignal des Schmitt-Triggers unter Spannug gesetzt und seine Eingänge A und B liegen auf H. Dadurch arbeitet der Timer mit einem Teilungsfaktor von 65536.&lt;br /&gt;
* Die Zählfrequenz von U2 liegt bei f = 1 / (2,3 x R11 x C8). Mit R11=191kOhm und C8=100nF ergibt dies einen Wert von 22,8 Hz.&lt;br /&gt;
* Der Timer kommt somit auf eine Ausgangsperiode von 65536/22,8Hz = 2870 Sekunden. Sein Q-Ausgang schaltet also nach der Hälfte der Zeit (etwa 24 Minuten) auf H.&lt;br /&gt;
* Dadurch schaltet der Transistor, das Relais zieht an, öffnet den Kontakt und schaltet den Kompressor aus.&lt;br /&gt;
* Gleichzeitig wird U3 unter Spannung gesetzt und beginnt nun seinerseits zu zählen. Seine Beschaltung (R14=63,4kOhm, C9=100nF) führt dazu, dass sein Q-Ausgang nach etwa weiteren 8 Minuten von L auf H geht und dadurch U2 zurücksetzt. Das Relais fällt wieder ab und der Kompressor läuft wieder an.&lt;br /&gt;
&lt;br /&gt;
U3 sorgt also dafür, dass der Kompressor abschaltet wenn&#039;s zu lange zu kalt ist - und zwar für ganze 8 Minuten!? Nach Ablauf dieser Zeit kann der Kompressor wieder anspringen, ganz egal, ob die Kühlrippen inzwischen wieder warm genug sind oder nicht. Mit anderen Worten: Auch wenn die Temperatur immer noch unter dem Grenzwert liegt, darf der Kompressor wieder für U2-Laufzeit (24 Minuten) anspringen - und so für eine totale Vereisung sorgen.&lt;br /&gt;
&lt;br /&gt;
Hinzu kommt noch folgendes: Sollte während der U3-Laufzeit die Luftfeuchtigkeit unter den Sollwert fallen, so wird das ganze Gerät stromlos geschaltet. Dadurch &amp;quot;vergisst&amp;quot; es seine Timer. Steigt die Luftfeuchtigkeit nun wieder - was durch den abgeschalteten Ventilator je nach Raumverhalten recht schnell der Fall sein kann - so darf der Kompressor wieder für einen ganzen U2-Zyklus laufen - und weiter vereisen.&lt;br /&gt;
&lt;br /&gt;
Praktisch bedeutet es, dass der LTR600 unter 7 Grad Umgebungstemperatur zu einer Gefahr für sich selbst wird und sich obendrein in einen sinnlosen Stromfresser verwandelt.&lt;br /&gt;
&lt;br /&gt;
=Hardware-Umbau=&lt;br /&gt;
Es gibt sicher viele Wege, dieses Fehlverhalten zu korrigieren, auch ganz ohne Mikrokontroller. In dem Fall aber wäre mikrokontroller.net wohl die falsche Adresse für diesen Artikel. Ich entschied mich für einen Umbau auf einen Arduino. Das fällt zwar wohl unter die Kategorie &amp;quot;Overkill&amp;quot; da ich nur einen Ein- und einen Ausgang des schönen Arduino nutze, aber andereseits kann man damit nach Belieben ausprobieren. Und: Geärgert habe ich mich mit dem LTR600 bereits genug, ab jetzt soll&#039;s Spass machen :)&lt;br /&gt;
&lt;br /&gt;
Einige Vorgaben zum Umbau stellte ich mir selber:&lt;br /&gt;
* Es soll nur die doofe Elektronik weichen, alle anderen Teile (Trafo, Relais, Anschlussstecker) sollen weiterverwendet werden.&lt;br /&gt;
* Es muss alles wieder genauso ins Gehäuse passen wie vorher&lt;br /&gt;
* Es ist nur ein Proof-Of-Concept; es geht hier bei mir nur um ein einziges Gerät. Es werden keine neuen Platinen geätzt o.ä. Was nicht passt wird nach Prototypen-Art passend gemacht.&lt;br /&gt;
&lt;br /&gt;
So kam die Idee, sogar die Platine wiederzuverwerten; nur eben die verkorkste Steuerung muss weichen. Dazu lötete ich alle Teile derselben aus und entfernte die entsprechenden Leiterbahnen. Anschliessend bohrte ich in den nun freien Bereich die Löcher für einen Arduino Micro und verdrahtete ihn von unten. Viel wird dabei nicht benötigt: Spannungsversorgung, Temperaturfühler-Eingang und Relais-Ausgang.&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesUmbauUnten.jpg|200px]]&lt;br /&gt;
[[Bild:ComedesUmbauObenKomplett.jpg|320px]]&lt;br /&gt;
[[Bild:ComedesUmbauOben.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
Das USB-Kabel habe ich aus Platzgründen direkt am Arduino Micro angelötet und dann nach aussen geführt. Ich bin nämlich fast sicher, dass ich ein paar Anläufe benötigen werde bevor ich die Software halbwegs brauchbar parametriert habe. Schliesslich muss ich mangels Klimakammer warten bis mir das Wetter meine jeweiligen Testbedingungen bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Dann wieder zusammenbauen, wobei ich für das USB-Kabel einen kleinen Schlitz in die Aussenwand gefeilt habe:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesEinbauPlatine.jpg|300px]]&lt;br /&gt;
[[Bild:ComedesEinbauMitDeckel.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
=Software=&lt;br /&gt;
Was aber soll so eine Luftentfeuchter nun am besten machen? Sicherlich wäre es am einfachsten, wenn der Arduino dauerhaft mit Strom versorgt wäre und man müsste nicht jederzeit mit einem Abschalten rechnen. Die Auflagen, die ich mir beim Umbau gab, lassen dies aber nicht zu, da das ganze Gerät bei niedriger Lufttemperatur einfach abgeschaltet wird.&lt;br /&gt;
&lt;br /&gt;
Zum zweiten wäre eine Klimakammer wohl das Richtige zum Einstellen und Messen von Feuchte, Temperaturen, Auftautzeiten etc. Mit solchen Daten ließe sich sicherlich ein guter Ansatz finden, der in der Kammer dann seinen letzten Schliff erhalten könnte. Eine solche Kammer habe ich natürlich nicht, sodass ich mir folgendes überlegte:&lt;br /&gt;
&lt;br /&gt;
Ich unterteile den Temperaturbereich in 3 Zonen:&lt;br /&gt;
* In der tiefsten ist ein Betrieb nicht erlaubt, der Kompressor bleibt aus.&lt;br /&gt;
* In der höchsten darf der Kompressor ohne Probleme dauerhaft an sein.&lt;br /&gt;
* In der mittleren, der kritischen Zone darf der Kompressor eingeschaltet sein, bis die tiefste Zone erreicht ist. Anschliessend wird er abgeschaltet bis die Temperatur wieder in der mittleren Zone liegt. Das Programm lässt dann aber den Kompressor für eine zusätzliche Wartezeit abgeschaltet, damit auch wirklich alle Kühlrippen abtauen. Diese zusätzliche Wartezeit ist abhängig von der Anstiegsgeschwindigkeit der Temperatur, dT/dt.&lt;br /&gt;
&lt;br /&gt;
Ich bin überzeugt dass es hundert bessere Ansätze gibt. Auch habe ich bemerkt, dass ein Temperatursensor für die Aussentemperatur u.U. nützlich sein könnte. Allerdings ist mein Entfeuchter mit der jetzigen Software nie wieder eingefroren, obwohl&#039;s in meiner Garage in diesem Winter schon mehrmals nahe bei 0 Grad hatte. Und trotz der niedrigen Temperaturen entfeuchtet das Gerät weiterhin. Natürlich nicht wie Sommer, aber immerhin ca. 1 Behälter alle 2-3 Wochen.&lt;br /&gt;
&lt;br /&gt;
Ein erstes Programm, eine totale Alpha-Version, ist hier erhältich: [[Datei:Comedes.tar.bz2]]. Für erste Tests sollte es ausreichen.&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=86970</id>
		<title>Umbau Luftentfeuchter Comedes LTR 600</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=86970"/>
		<updated>2015-01-31T13:13:26Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Umbau Luftentfeuchter Comedes LTR600&lt;br /&gt;
&lt;br /&gt;
=Einleitung=&lt;br /&gt;
Ich habe mir vor einiger Zeit einen Luftentfeuchter der Marke Comedes, Modell LTR600 zugelegt. Über Geräusche oder Design kann man lange diskutieren, die  Entfeuchtungsleistung mag besser oder schlechter sein als bei Konkurrenzprodukten, das alles liegt für mich beim LTR600 noch halbwegs im grünen Bereich.&lt;br /&gt;
&lt;br /&gt;
Im dunkelroten Bereich liegt jedoch die Steuerelektronik. Die soll dafür sorgen, dass das Gerät nicht einfriert. Dazu ist die Elektronik mit einem Temperaturfühler verbunden (NTC) so dass der Kompressor ggf. abgeschaltet werden kann. Die Schaltung ist jedoch so aufgebaut, dass sich der Entfeuchter bei Umgebungstemperaturen von unter 7 Grad Celsius dennoch in einen dicken Eisblock verwandelt.&lt;br /&gt;
[[Datei:ComedesEisblock.jpg|miniatur|Designfehler: Eisblock trotz Auftauelektronik]]&lt;br /&gt;
&lt;br /&gt;
Das Gerät ist wohlgemerkt nicht defekt. Es steht nur eben in einer Garage in der die Temperatur im Winter unter 7 Grad fällt.&lt;br /&gt;
&lt;br /&gt;
Ein Gerät das trotz Temperatursensor nicht vor Einfrieren geschützt ist? Ohne Frage, hier handelt es sich um ein Fehldesign! Manche Leute meinten dazu bereits, ich würde das Gerät falsch einsetzen. Es sei halt nicht für diese Temperaturen gedacht. Aber das ist natürlich Unsinn. Soll ich etwa im Winter für 3 Wochen das Wetter im voraus per Kristallkugel lesen, damit ich weiss, ob ich den Netzstecker ziehe wenn ich Urlaub fahre? Der Entfeuchter muss selbst erkennen, wenn er abschalten muss, dafür hat er ja einen Temperaturfühler! Auch sei bemerkt, dass ich mit einem Konkurrenzprodukt in genau dem gleichen Raum (Garage) noch nie Probleme hatte.&lt;br /&gt;
&lt;br /&gt;
In diesem kleinen Artikel möchte ich zeigen, wo der Designfehler liegt und wie man mit Hilfe eines Arduino ein funktionierendes Gerät erhält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Die Originalsteuerung=&lt;br /&gt;
Hinter dem Auffangbehälter des LTR600 ist der elektrische Schaltplan aufgeklebt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesSchaltplan.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Das ist natürlich nur die halbe Miete. Zu dem Bereich, den ich im Bild rot eingefärbt habe, fand ich nichts. Interessant ist jedoch bereits, dass der &amp;quot;Power/Humidity Switch&amp;quot; links oben im Bild das ganze Gerät, also Motor und Elektronik abschaltet wenn die Luft trocken genug ist (ein Detail, das später noch wichtig wird). In Reihe damit liegt der Wechsler im roten Bereich (Anschlüsse COM/NC/NO). Somit kann das, was sich im roten Bereich verbirgt, eingreifen und den Kompressor eigenständig abschalten. Klar, dass es sich hier um die Auftau-Schaltung handeln muss. Beim Element TH, das rechts unten an den roten Kasten geklemmt ist, handelt es sich um den NTC. Er sitzt direkt an den Kühllamellen.&lt;br /&gt;
&lt;br /&gt;
Um Problem zu verstehen bedarf es also einer Untersuchung des roten Bereichs, den ich im folgenden Steuerelektronik nenne. Der LTR600 lässt sich zum Glück leicht zerlegen und der rote Bereich im Schaltplan entpuppt sich als folgendes Teil:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesElektronik.jpg|400px]]&lt;br /&gt;
[[Bild:ComedesElektronikLeiterbahnen.jpg|410px]]&lt;br /&gt;
&lt;br /&gt;
Die Aufteilung ist sogleich klar: Trafo und Gleichrichter mittig, links das Relais mit dem Wechsler-Kontakt zum Schalten des Kompressors, rechts das &amp;quot;Gehirn&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Der Schaltplan zu der einfachen Platine ist schnell gezeichnet:&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;Schaltplan&lt;br /&gt;
&lt;br /&gt;
Nun zur Funktionsweise:&lt;br /&gt;
&lt;br /&gt;
Die Elektronik besteht im wesentlichen aus 2 Timern (U2 und U3) sowie U1, das als Schmitt-Trigger arbeitet. Sein Ausgang schaltet auf ca. +12V wenn&#039;s am Kondensator zu kalt wird, oder auf nahe 0V wenn keine Frostgefahr besteht. Nun wird der Kompressor aber nicht einfach mit diesem Signal ein- und ausgeschaltet. Das würde sonst zu einem ständigen Schalten führen würde. Vielmehr erlaubt es Timer U2, dass die Temperatur für eine gewisse Zeit unter dem Schwellwert liegen darf, ohne dass der Kompresor abgeschaltet wird. Diese Zeit lässt sich mit Hilfe der Datenblätter zum CD4541 errechnen und ich habe sie auch im Test überprüft.&lt;br /&gt;
&lt;br /&gt;
* Der Timer U2 wird mit dem Ausgangssignal des Schmitt-Triggers unter Spannug gesetzt und seine Eingänge A und B liegen auf H. Dadurch arbeitet der Timer mit einem Teilungsfaktor von 65536.&lt;br /&gt;
* Die Zählfrequenz von U2 liegt bei f = 1 / (2,3 x R11 x C8). Mit R11=191kOhm und C8=100nF ergibt dies einen Wert von 22,8 Hz.&lt;br /&gt;
* Der Timer kommt somit auf eine Ausgangsperiode von 65536/22,8Hz = 2870 Sekunden. Sein Q-Ausgang schaltet also nach der Hälfte der Zeit (etwa 24 Minuten) auf H.&lt;br /&gt;
* Dadurch schaltet der Transistor, das Relais zieht an, öffnet den Kontakt und schaltet den Kompressor aus.&lt;br /&gt;
* Gleichzeitig wird U3 unter Spannung gesetzt und beginnt nun seinerseits zu zählen. Seine Beschaltung (R14=63,4kOhm, C9=100nF) führt dazu, dass sein Q-Ausgang nach etwa weiteren 8 Minuten von L auf H geht und dadurch U2 zurücksetzt. Das Relais fällt wieder ab und der Kompressor läuft wieder an.&lt;br /&gt;
&lt;br /&gt;
U3 sorgt also dafür, dass der Kompressor abschaltet wenn&#039;s zu lange zu kalt ist - und zwar für ganze 8 Minuten!? Nach Ablauf dieser Zeit kann der Kompressor wieder anspringen, ganz egal, ob die Kühlrippen inzwischen wieder warm genug sind oder nicht. Mit anderen Worten: Auch wenn die Temperatur immer noch unter dem Grenzwert liegt, darf der Kompressor wieder für U2-Laufzeit (24 Minuten) anspringen - und so für eine totale Vereisung sorgen.&lt;br /&gt;
&lt;br /&gt;
Hinzu kommt noch folgendes: Sollte während der U3-Laufzeit die Luftfeuchtigkeit unter den Sollwert fallen, so wird das ganze Gerät stromlos geschaltet. Dadurch &amp;quot;vergisst&amp;quot; es seine Timer. Steigt die Luftfeuchtigkeit nun wieder - was durch den abgeschalteten Ventilator je nach Raumverhalten recht schnell der Fall sein kann - so darf der Kompressor wieder für einen ganzen U2-Zyklus laufen - und weiter vereisen.&lt;br /&gt;
&lt;br /&gt;
Praktisch bedeutet es, dass der LTR600 unter 7 Grad Umgebungstemperatur zu einer Gefahr für sich selbst wird und sich obendrein in einen sinnlosen Stromfresser verwandelt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Hardware-Umbau=&lt;br /&gt;
Es gibt sicher viele Wege, dieses Fehlverhalten zu korrigieren, auch ganz ohne Mikrokontroller. In dem Fall aber wäre mikrokontroller.net wohl die falsche Adresse für diesen Artikel. Ich entschied mich für einen Umbau auf einen Arduino. Das fällt zwar wohl unter die Kategorie &amp;quot;Overkill&amp;quot; da ich nur einen Ein- und einen Ausgang des schönen Arduino nutze, aber andereseits kann man damit nach Belieben ausprobieren. Und: Geärgert habe ich mich mit dem LTR600 bereits genug, ab jetzt soll&#039;s Spass machen :)&lt;br /&gt;
&lt;br /&gt;
Einige Vorgaben zum Umbau stellte ich mir selber:&lt;br /&gt;
* Es soll nur die doofe Elektronik weichen, alle anderen Teile (Trafo, Relais, Anschlussstecker) sollen weiterverwendet werden.&lt;br /&gt;
* Es muss alles wieder genauso ins Gehäuse passen wie vorher&lt;br /&gt;
* Es ist nur ein Proof-Of-Concept; es geht hier bei mir nur um ein einziges Gerät. Es werden keine neuen Platinen geätzt o.ä. Was nicht passt wird nach Prototypen-Art passend gemacht.&lt;br /&gt;
&lt;br /&gt;
So kam die Idee, sogar die Platine wiederzuverwerten; nur eben die verkorkste Steuerung muss weichen. Dazu lötete ich alle Teile derselben aus und entfernte die entsprechenden Leiterbahnen. Anschliessend bohrte ich in den nun freien Bereich die Löcher für einen Arduino Micro und verdrahtete ihn von unten. Viel wird dabei nicht benötigt: Spannungsversorgung, Temperaturfühler-Eingang und Relais-Ausgang.&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesUmbauUnten.jpg|200px]]&lt;br /&gt;
[[Bild:ComedesUmbauObenKomplett.jpg|320px]]&lt;br /&gt;
[[Bild:ComedesUmbauOben.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
Das USB-Kabel habe ich aus Platzgründen direkt am Arduino Micro angelötet und dann nach aussen geführt. Ich bin nämlich fast sicher, dass ich ein paar Anläufe benötigen werde bevor ich die Software halbwegs brauchbar parametriert habe. Schliesslich muss ich mangels Klimakammer warten bis mir das Wetter meine jeweiligen Testbedingungen bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Dann wieder zusammenbauen, wobei ich für das USB-Kabel einen kleinen Schlitz in die Aussenwand gefeilt habe:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesEinbauPlatine.jpg|300px]]&lt;br /&gt;
[[Bild:ComedesEinbauMitDeckel.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
=Software=&lt;br /&gt;
Was aber soll so eine Luftentfeuchter nun am besten machen? Sicherlich wäre es am einfachsten, wenn der Arduino dauerhaft mit Strom versorgt wäre und man müsste nicht jederzeit mit einem Abschalten rechnen. Die Auflagen, die ich mir beim Umbau gab, lassen dies aber nicht zu, da das ganze Gerät bei niedriger Lufttemperatur einfach abgeschaltet wird.&lt;br /&gt;
&lt;br /&gt;
Zum zweiten wäre eine Klimakammer wohl das Richtige zum Einstellen und Messen von Feuchte, Temperaturen, Auftautzeiten etc. Mit solchen Daten ließe sich sicherlich ein guter Ansatz finden, der in der Kammer dann seinen letzten Schliff erhalten könnte. Eine solche Kammer habe ich natürlich nicht, sodass ich mir folgendes überlegte:&lt;br /&gt;
&lt;br /&gt;
Ich unterteile den Temperaturbereich in 3 Zonen:&lt;br /&gt;
* In der tiefsten ist ein Betrieb nicht erlaubt, der Kompressor bleibt aus.&lt;br /&gt;
* In der höchsten darf der Kompressor ohne Probleme dauerhaft an sein.&lt;br /&gt;
* In der mittleren, der kritischen Zone darf der Kompressor eingeschaltet sein, bis die tiefste Zone erreicht ist. Anschliessend wird er abgeschaltet bis die Temperatur wieder in der mittleren Zone liegt. Das Programm lässt dann aber den Kompressor für eine zusätzliche Wartezeit abgeschaltet, damit auch wirklich alle Kühlrippen abtauen. Diese zusätzliche Wartezeit ist abhängig von der Anstiegsgeschwindigkeit der Temperatur, dT/dt.&lt;br /&gt;
&lt;br /&gt;
Ich bin überzeugt dass es hundert bessere Ansätze gibt. Auch habe ich bemerkt, dass ein Temperatursensor für die Aussentemperatur u.U. nützlich sein könnte. Allerdings ist mein Entfeuchter mit der jetzigen Software nie wieder eingefroren, obwohl&#039;s in meiner Garage in diesem Winter schon mehrmals nahe bei 0 Grad hatte. Und trotz der niedrigen Temperaturen entfeuchtet das Gerät weiterhin. Natürlich nicht wie Sommer, aber immerhin ca. 1 Behälter alle 2-3 Wochen.&lt;br /&gt;
&lt;br /&gt;
Ein erstes Programm, eine totale Alpha-Version, ist hier erhältich: [[Datei:Comedes.tar.bz2]]. Für erste Tests sollte es ausreichen.&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Comedes.tar.bz2&amp;diff=86969</id>
		<title>Datei:Comedes.tar.bz2</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Comedes.tar.bz2&amp;diff=86969"/>
		<updated>2015-01-31T13:10:20Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=86968</id>
		<title>Umbau Luftentfeuchter Comedes LTR 600</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Umbau_Luftentfeuchter_Comedes_LTR_600&amp;diff=86968"/>
		<updated>2015-01-31T12:26:10Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: Umbau eines Luftentfeuchers, dessen Steuerelektronik nicht richtig funcktioniert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Umbau Luftentfeuchter Comedes LTR600&lt;br /&gt;
&lt;br /&gt;
=Einleitung=&lt;br /&gt;
Ich habe mir vor einiger Zeit einen Luftentfeuchter der Marke Comedes, Modell LTR600 zugelegt. Über Geräusche oder Design kann man lange diskutieren, die  Entfeuchtungsleistung mag besser oder schlechter sein als bei Konkurrenzprodukten, das alles liegt für mich beim LTR600 noch halbwegs im grünen Bereich.&lt;br /&gt;
&lt;br /&gt;
Im dunkelroten Bereich liegt jedoch die Steuerelektronik. Die soll dafür sorgen, dass das Gerät nicht einfriert. Dazu ist die Elektronik mit einem Temperaturfühler verbunden (NTC) so dass der Kompressor ggf. abgeschaltet werden kann. Die Schaltung ist jedoch so aufgebaut, dass sich der Entfeuchter bei Umgebungstemperaturen von unter 7 Grad Celsius dennoch in einen dicken Eisblock verwandelt.&lt;br /&gt;
[[Datei:ComedesEisblock.jpg|miniatur|Designfehler: Eisblock trotz Auftauelektronik]]&lt;br /&gt;
&lt;br /&gt;
Das Gerät ist wohlgemerkt nicht defekt. Es steht nur eben in einer Garage in der die Temperatur im Winter unter 7 Grad fällt.&lt;br /&gt;
&lt;br /&gt;
Ein Gerät das trotz Temperatursensor nicht vor Einfrieren geschützt ist? Ohne Frage, hier handelt es sich um ein Fehldesign! Manche Leute meinten dazu bereits, ich würde das Gerät falsch einsetzen. Es sei halt nicht für diese Temperaturen gedacht. Aber das ist natürlich Unsinn. Soll ich etwa im Winter für 3 Wochen das Wetter im voraus per Kristallkugel lesen, damit ich weiss, ob ich den Netzstecker ziehe wenn ich Urlaub fahre? Der Entfeuchter muss selbst erkennen, wenn er abschalten muss, dafür hat er ja einen Temperaturfühler! Auch sei bemerkt, dass ich mit einem Konkurrenzprodukt in genau dem gleichen Raum (Garage) noch nie Probleme hatte.&lt;br /&gt;
&lt;br /&gt;
In diesem kleinen Artikel möchte ich zeigen, wo der Designfehler liegt und wie man mit Hilfe eines Arduino ein funktionierendes Gerät erhält.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Die Originalsteuerung=&lt;br /&gt;
Hinter dem Auffangbehälter des LTR600 ist der elektrische Schaltplan aufgeklebt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesSchaltplan.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Das ist natürlich nur die halbe Miete. Zu dem Bereich, den ich im Bild rot eingefärbt habe, fand ich nichts. Interessant ist jedoch bereits, dass der &amp;quot;Power/Humidity Switch&amp;quot; links oben im Bild das ganze Gerät, also Motor und Elektronik abschaltet wenn die Luft trocken genug ist (ein Detail, das später noch wichtig wird). In Reihe damit liegt der Wechsler im roten Bereich (Anschlüsse COM/NC/NO). Somit kann das, was sich im roten Bereich verbirgt, eingreifen und den Kompressor eigenständig abschalten. Klar, dass es sich hier um die Auftau-Schaltung handeln muss. Beim Element TH, das rechts unten an den roten Kasten geklemmt ist, handelt es sich um den NTC. Er sitzt direkt an den Kühllamellen.&lt;br /&gt;
&lt;br /&gt;
Um Problem zu verstehen bedarf es also einer Untersuchung des roten Bereichs, den ich im folgenden Steuerelektronik nenne. Der LTR600 lässt sich zum Glück leicht zerlegen und der rote Bereich im Schaltplan entpuppt sich als folgendes Teil:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesElektronik.jpg|400px]]&lt;br /&gt;
[[Bild:ComedesElektronikLeiterbahnen.jpg|410px]]&lt;br /&gt;
&lt;br /&gt;
Die Aufteilung ist sogleich klar: Trafo und Gleichrichter mittig, links das Relais mit dem Wechsler-Kontakt zum Schalten des Kompressors, rechts das &amp;quot;Gehirn&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Der Schaltplan zu der einfachen Platine ist schnell gezeichnet:&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;Schaltplan&lt;br /&gt;
&lt;br /&gt;
Nun zur Funktionsweise:&lt;br /&gt;
&lt;br /&gt;
Die Elektronik besteht im wesentlichen aus 2 Timern (U2 und U3) sowie U1, das als Schmitt-Trigger arbeitet. Sein Ausgang schaltet auf ca. +12V wenn&#039;s am Kondensator zu kalt wird, oder auf nahe 0V wenn keine Frostgefahr besteht. Nun wird der Kompressor aber nicht einfach mit diesem Signal ein- und ausgeschaltet. Das würde sonst zu einem ständigen Schalten führen würde. Vielmehr erlaubt es Timer U2, dass die Temperatur für eine gewisse Zeit unter dem Schwellwert liegen darf, ohne dass der Kompresor abgeschaltet wird. Diese Zeit lässt sich mit Hilfe der Datenblätter zum CD4541 errechnen und ich habe sie auch im Test überprüft.&lt;br /&gt;
&lt;br /&gt;
* Der Timer U2 wird mit dem Ausgangssignal des Schmitt-Triggers unter Spannug gesetzt und seine Eingänge A und B liegen auf H. Dadurch arbeitet der Timer mit einem Teilungsfaktor von 65536.&lt;br /&gt;
* Die Zählfrequenz von U2 liegt bei f = 1 / (2,3 x R11 x C8). Mit R11=191kOhm und C8=100nF ergibt dies einen Wert von 22,8 Hz.&lt;br /&gt;
* Der Timer kommt somit auf eine Ausgangsperiode von 65536/22,8Hz = 2870 Sekunden. Sein Q-Ausgang schaltet also nach der Hälfte der Zeit (etwa 24 Minuten) auf H.&lt;br /&gt;
* Dadurch schaltet der Transistor, das Relais zieht an, öffnet den Kontakt und schaltet den Kompressor aus.&lt;br /&gt;
* Gleichzeitig wird U3 unter Spannung gesetzt und beginnt nun seinerseits zu zählen. Seine Beschaltung (R14=63,4kOhm, C9=100nF) führt dazu, dass sein Q-Ausgang nach etwa weiteren 8 Minuten von L auf H geht und dadurch U2 zurücksetzt. Das Relais fällt wieder ab und der Kompressor läuft wieder an.&lt;br /&gt;
&lt;br /&gt;
U3 sorgt also dafür, dass der Kompressor abschaltet wenn&#039;s zu lange zu kalt ist - und zwar für ganze 8 Minuten!? Nach Ablauf dieser Zeit kann der Kompressor wieder anspringen, ganz egal, ob die Kühlrippen inzwischen wieder warm genug sind oder nicht. Mit anderen Worten: Auch wenn die Temperatur immer noch unter dem Grenzwert liegt, darf der Kompressor wieder für U2-Laufzeit (24 Minuten) anspringen - und so für eine totale Vereisung sorgen.&lt;br /&gt;
&lt;br /&gt;
Hinzu kommt noch folgendes: Sollte während der U3-Laufzeit die Luftfeuchtigkeit unter den Sollwert fallen, so wird das ganze Gerät stromlos geschaltet. Dadurch &amp;quot;vergisst&amp;quot; es seine Timer. Steigt die Luftfeuchtigkeit nun wieder - was durch den abgeschalteten Ventilator je nach Raumverhalten recht schnell der Fall sein kann - so darf der Kompressor wieder für einen ganzen U2-Zyklus laufen - und weiter vereisen.&lt;br /&gt;
&lt;br /&gt;
Praktisch bedeutet es, dass der LTR600 unter 7 Grad Umgebungstemperatur zu einer Gefahr für sich selbst wird und sich obendrein in einen sinnlosen Stromfresser verwandelt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Hardware-Umbau=&lt;br /&gt;
Es gibt sicher viele Wege, dieses Fehlverhalten zu korrigieren, auch ganz ohne Mikrokontroller. In dem Fall aber wäre mikrokontroller.net wohl die falsche Adresse für diesen Artikel. Ich entschied mich für einen Umbau auf einen Arduino. Das fällt zwar wohl unter die Kategorie &amp;quot;Overkill&amp;quot; da ich nur einen Ein- und einen Ausgang des schönen Arduino nutze, aber andereseits kann man damit nach Belieben ausprobieren. Und: Geärgert habe ich mich mit dem LTR600 bereits genug, ab jetzt soll&#039;s Spass machen :)&lt;br /&gt;
&lt;br /&gt;
Einige Vorgaben zum Umbau stellte ich mir selber:&lt;br /&gt;
* Es soll nur die doofe Elektronik weichen, alle anderen Teile (Trafo, Relais, Anschlussstecker) sollen weiterverwendet werden.&lt;br /&gt;
* Es muss alles wieder genauso ins Gehäuse passen wie vorher&lt;br /&gt;
* Es ist nur ein Proof-Of-Concept; es geht hier bei mir nur um ein einziges Gerät. Es werden keine neuen Platinen geätzt o.ä. Was nicht passt wird nach Prototypen-Art passend gemacht.&lt;br /&gt;
&lt;br /&gt;
So kam die Idee, sogar die Platine wiederzuverwerten; nur eben die verkorkste Steuerung muss weichen. Dazu lötete ich alle Teile derselben aus und entfernte die entsprechenden Leiterbahnen. Anschliessend bohrte ich in den nun freien Bereich die Löcher für einen Arduino Micro und verdrahtete ihn von unten. Viel wird dabei nicht benötigt: Spannungsversorgung, Temperaturfühler-Eingang und Relais-Ausgang.&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesUmbauUnten.jpg|200px]]&lt;br /&gt;
[[Bild:ComedesUmbauObenKomplett.jpg|320px]]&lt;br /&gt;
[[Bild:ComedesUmbauOben.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
Das USB-Kabel habe ich aus Platzgründen direkt am Arduino Micro angelötet und dann nach aussen geführt. Ich bin nämlich fast sicher, dass ich ein paar Anläufe benötigen werde bevor ich die Software halbwegs brauchbar parametriert habe. Schliesslich muss ich mangels Klimakammer warten bis mir das Wetter meine jeweiligen Testbedingungen bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Dann wieder zusammenbauen, wobei ich für das USB-Kabel einen kleinen Schlitz in die Aussenwand gefeilt habe:&lt;br /&gt;
&lt;br /&gt;
[[Bild:ComedesEinbauPlatine.jpg|300px]]&lt;br /&gt;
[[Bild:ComedesEinbauMitDeckel.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
=Software=&lt;br /&gt;
Was aber soll so eine Luftentfeuchter nun am besten machen? Sicherlich wäre es am einfachsten, wenn der Arduino dauerhaft mit Strom versorgt wäre und man müsste nicht jederzeit mit einem Abschalten rechnen. Die Auflagen, die ich mir beim Umbau gab, lassen dies aber nicht zu, da das ganze Gerät bei niedriger Lufttemperatur einfach abgeschaltet wird.&lt;br /&gt;
&lt;br /&gt;
Zum zweiten wäre eine Klimakammer wohl das Richtige zum Einstellen und Messen von Feuchte, Temperaturen, Auftautzeiten etc. Mit solchen Daten ließe sich sicherlich ein guter Ansatz finden, der in der Kammer dann seinen letzten Schliff erhalten könnte. Eine solche Kammer habe ich natürlich nicht, sodass ich mir folgendes überlegte:&lt;br /&gt;
&lt;br /&gt;
Ich unterteile den Temperaturbereich in 3 Zonen:&lt;br /&gt;
* In der tiefsten ist ein Betrieb nicht erlaubt, der Kompressor bleibt aus.&lt;br /&gt;
* In der höchsten darf der Kompressor ohne Probleme dauerhaft an sein.&lt;br /&gt;
* In der mittleren, der kritischen Zone darf der Kompressor eingeschaltet sein, bis die tiefste Zone erreicht ist. Anschliessend wird er abgeschaltet bis die Temperatur wieder in der mittleren Zone liegt. Das Programm lässt dann aber den Kompressor für eine zusätzliche Wartezeit abgeschaltet, damit auch wirklich alle Kühlrippen abtauen. Diese zusätzliche Wartezeit ist abhängig von der Anstiegsgeschwindigkeit der Temperatur, dT/dt.&lt;br /&gt;
&lt;br /&gt;
Ich bin überzeugt dass es hundert bessere Ansätze gibt. Auch habe ich bemerkt, dass ein Temperatursensor für die Aussentemperatur u.U. nützlich sein könnte. Allerdings ist mein Entfeuchter mit der jetzigen Software nie wieder eingefroren, obwohl&#039;s in meiner Garage in diesem Winter schon mehrmals nahe bei 0 Grad hatte. Und trotz der niedrigen Temperaturen entfeuchtet das Gerät weiterhin. Natürlich nicht wie Sommer, aber immerhin ca. 1 Behälter alle 2-3 Wochen.&lt;br /&gt;
&lt;br /&gt;
Mein erstes Prototypen-Programm, eine totale Alpha-Version, ist in Kürze hier im Wiki zu finden. Für erste Tests sollte es ausreichen.&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:ComedesEinbauMitDeckel.jpg&amp;diff=86966</id>
		<title>Datei:ComedesEinbauMitDeckel.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:ComedesEinbauMitDeckel.jpg&amp;diff=86966"/>
		<updated>2015-01-31T11:49:00Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:ComedesEinbauPlatine.jpg&amp;diff=86965</id>
		<title>Datei:ComedesEinbauPlatine.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:ComedesEinbauPlatine.jpg&amp;diff=86965"/>
		<updated>2015-01-31T11:48:11Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:ComedesUmbauUnten.jpg&amp;diff=86964</id>
		<title>Datei:ComedesUmbauUnten.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:ComedesUmbauUnten.jpg&amp;diff=86964"/>
		<updated>2015-01-31T11:44:00Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:ComedesUmbauOben.jpg&amp;diff=86963</id>
		<title>Datei:ComedesUmbauOben.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:ComedesUmbauOben.jpg&amp;diff=86963"/>
		<updated>2015-01-31T11:43:28Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:ComedesUmbauObenKomplett.jpg&amp;diff=86962</id>
		<title>Datei:ComedesUmbauObenKomplett.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:ComedesUmbauObenKomplett.jpg&amp;diff=86962"/>
		<updated>2015-01-31T11:42:58Z</updated>

		<summary type="html">&lt;p&gt;Murrsky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Murrsky</name></author>
	</entry>
</feed>