<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="http://almeida.de/blog1/feed.xml" rel="self" type="application/atom+xml" /><link href="http://almeida.de/blog1/" rel="alternate" type="text/html" /><updated>2026-04-01T09:27:23+00:00</updated><id>http://almeida.de/blog1/feed.xml</id><title type="html">Almeida’s blog</title><subtitle>Die Seiten dienen einem ausschließlich privaten Zweck, ohne Geschaeftstaetigkeit oder Gewinnerzielungsabsicht!</subtitle><author><name>A. C. Almeida</name></author><entry><title type="html">Claw</title><link href="http://almeida.de/blog1/2026/04/01/claw.html" rel="alternate" type="text/html" title="Claw" /><published>2026-04-01T00:00:00+00:00</published><updated>2026-04-01T00:00:00+00:00</updated><id>http://almeida.de/blog1/2026/04/01/claw</id><content type="html" xml:base="http://almeida.de/blog1/2026/04/01/claw.html"><![CDATA[<p>Der <a href="https://www.heise.de/ratgeber/Schlanker-OpenClaw-Klon-PicoClaw-bringt-maechtige-KI-Agenten-auf-den-Raspi-3-11199978.html">Krustentier</a>-hype ist ja schoen und mittlerweile sind die alten mac mini <strong>Mx</strong> so teuer geworden, dass ich gezwungen bin/war die aelteren mac mini <strong>intel</strong> zu testen.</p>

<p>Leider sind diese bei weitem kaum dem hardware-Bedarf einer lokalen LLM - egal wie klein - gewachsen.</p>

<p>Trotz der sparsamen CLI-debian Installation und <a href="https://ollama.com/">ollama</a> ist die Nutzung kleiner Modelle à la qwen3.5, phi oder gpt-oss eher zaeh…
Da sind die stellenweise kostenfreien Modelle von <a href="https://openrouter.ai/">openrouter</a> schneller - allerdings ist das “kostenfreie” arg auf ein paar Tausend tokens begrenzt. Da kommt man nicht weit.
Dann funktionieren die KI-Agenten auch gut, sogar auf raspi-aehnliche SBC-Computer. Ueblicherweise die gepackten Dateien unter <em>/homes</em> (linux) ausbreiten, ggf. Erststart und die Konfigurationsdatei - häufig im json-Format - befuellen.</p>

<p>Je nach Konfiguration genügt ein <code>ollama serve</code> um alles in Schwung zu bringen, gefolgt von einem <code>ollama run MODELL</code>. Je nach RAM ist die Modell-Groesse sachte zu wählen! Ollama öffnet dann ein Terminal für den “Kontakt” mit der LLM. Mit <code>/set nothink</code> kann man das Gelaber einstampfen, und mit <code>/set parameter temperature 0.2</code> das Halluzinieren eindampfen. Aber das ist kein Agent in dem Sinne. Dafür braucht man besagte <em>claws</em> oder <em>bots</em> und VRAM - welches die <strong>intel</strong> mac minis nicht haben - bzw. nur begrezt und stellenweise durch ollama nicht supportet. Die häufig eingebaute Geforce 230M besitzt CC 1.x, CUDA benötigt CC 5.0. Da war das ganze <a href="https://gist.github.com/Anakiev2/8d62e261c66554d3012bc7ff855a22a7">Treibermodul</a>-<em>backen</em> umsonst… Die Antwortzeiten sind elendig lang, da schalten auch die kleinsten Ki-Agenten ab…</p>

<p>Eine Abhilfe wären vielleicht die vielen sog. barebone-PCs, aber die Grafikeinheit muss passen, sonst… und auch die sind aktuell sehr teuer…</p>]]></content><author><name>A. C. Almeida</name></author><category term="allgemein" /><summary type="html"><![CDATA[Der Krustentier-hype ist ja schoen und mittlerweile sind die alten mac mini Mx so teuer geworden, dass ich gezwungen bin/war die aelteren mac mini intel zu testen.]]></summary></entry><entry><title type="html">Vlan</title><link href="http://almeida.de/blog1/2026/02/20/vlan.html" rel="alternate" type="text/html" title="Vlan" /><published>2026-02-20T00:00:00+00:00</published><updated>2026-02-20T00:00:00+00:00</updated><id>http://almeida.de/blog1/2026/02/20/vlan</id><content type="html" xml:base="http://almeida.de/blog1/2026/02/20/vlan.html"><![CDATA[<p>VLANs sind eine schöne Sache, um Netzwerke sicherer zu machen, wenn diese halbwegs intuitiv aufzusetzen wären. Nach der Lektüre der <a href="https://www.heise.de/select/ct/2025/24/2528607033095226482">ct</a> habe ich die bereits vorhandene Hardware (<strong>zyxel GS1200-5</strong>) nochmals in die Hand genommen und ein weiteren Versuch gewagt.
Ich benutze allerdings kein RasPi, sondern ein <a href="http://nanopi.io/nanopi-a64.html">nanopi A64</a> mit Quad-core und Gigabite-Port. Es wird auch kein Raspbian, sondern armbian - ein debian Derivat - verwendet.
Sinn des Ganzen ist es das home-office und andere Endgeräte voneinander zu trennen; der nanopi fungiert dabei als dhcp-Server und leitet die Adressen dank VLAN und 802.1Q an die diversen Ports weiter. Sowas ähnliches habe ich bereits mit proxmox-VM realisiert, nur dass nun quasi auch eine router-Kaskade aufgebaut wird.</p>

<p>Die Linux Installation erfolgt wie üblich, plus den Zusatzpaketen <em>vlan und isc/kea-dhcp-server</em>, ggf. noch irqbalance. Der kernel sollte 8021q können, sonst als Modul nachgeladen bekommen.
Der nanopi muss eine <em>statische</em> Netzwerkadresse erhalten, um später in der FBox pro Subnet <em>geroutet</em> werden zu können.</p>

<p><a><img src="https://almeida66.github.io/blog1/img/vlan.jpg" width="25%" height="25%" /></a> <a><img src="https://almeida66.github.io/blog1/img/vlan1.png" width="25%" height="25%" /></a></p>

<p>Anbei die <a href="https://administrator.de/forum/vlan-im-heimnetz-670805.html#">beispielhafte</a> Konfig (/etc/defaults/isc-dhcp-server):</p>
<pre><code># Separate multiple interfaces with spaces, e.g. "eth0 eth1"
INTERFACESv4="eth0.10 eth0.20"
</code></pre>

<p>Und /etc/dhcp/dhcpd.conf für die Subnetze:</p>
<pre><code># Hier startet die Konfig der Subnetze
subnet 172.16.10.0 netmask 255.255.255.0 {
}
subnet 172.16.20.0 netmask 255.255.255.0 {
}
# VLAN 10 subnet (eth0.10)
subnet  172.16.10.0 netmask 255.255.255.0 {
        range 172.16.10.10 172.16.10.150;
        option broadcast-address 172.16.10.255;
        option routers 172.16.10.1;
}
# VLAN 20 subnet (eth0.20)
subnet  172.16.20.0 netmask 255.255.255.0 {
        range 172.16.20.10 172.16.20.150;
        option broadcast-address 172.16.20.255;
        option routers 172.16.20.1;
}
# tbc VLAN xx
</code></pre>

<p>Dank an den user <strong>aqui</strong> für die Erläuterungen in <a href="https://administrator.de/user/aqui/">administrator.de</a></p>
<blockquote>
  <p>[!NOTE]
Der DNS Eintrag über die vlans hinweg kann schon mal zu <em>verbindungslosigkeit</em> führen</p>
</blockquote>]]></content><author><name>A. C. Almeida</name></author><category term="router" /><summary type="html"><![CDATA[VLANs sind eine schöne Sache, um Netzwerke sicherer zu machen, wenn diese halbwegs intuitiv aufzusetzen wären. Nach der Lektüre der ct habe ich die bereits vorhandene Hardware (zyxel GS1200-5) nochmals in die Hand genommen und ein weiteren Versuch gewagt. Ich benutze allerdings kein RasPi, sondern ein nanopi A64 mit Quad-core und Gigabite-Port. Es wird auch kein Raspbian, sondern armbian - ein debian Derivat - verwendet. Sinn des Ganzen ist es das home-office und andere Endgeräte voneinander zu trennen; der nanopi fungiert dabei als dhcp-Server und leitet die Adressen dank VLAN und 802.1Q an die diversen Ports weiter. Sowas ähnliches habe ich bereits mit proxmox-VM realisiert, nur dass nun quasi auch eine router-Kaskade aufgebaut wird.]]></summary></entry><entry><title type="html">3d Enclosure</title><link href="http://almeida.de/blog1/2026/01/09/3d-enclosure.html" rel="alternate" type="text/html" title="3d Enclosure" /><published>2026-01-09T00:00:00+00:00</published><updated>2026-01-09T00:00:00+00:00</updated><id>http://almeida.de/blog1/2026/01/09/3d-enclosure</id><content type="html" xml:base="http://almeida.de/blog1/2026/01/09/3d-enclosure.html"><![CDATA[<p>Der sovol sv06 hat nun einige Betriebsstunden hinter sich und um auch stabilere Filamente zu verwenden, ist ein Umgehäuse notwendig, ja fast Pflicht.</p>

<p>Man kann zwar neuere Filamente wie ABS+ oder sonstige PETG Varianten verwenden, dennoch zickt das Gesamtsystem aufgrund nicht stabilere Umgebungsbedindungen.
Also kommt der bekannte <a href="https://all3dp.com/2/ikea-3d-printer-enclosure-tutorial/">ikea lack enclosure hack</a> zur Anwendung. Hierbei werden 2x IKEA Lacktische (55cm) umgestaltet; man druckt einige Halterungen aus und besorgt etwas Acrylglas im 3mm Stärke und gut ist.</p>

<p>Aufgrund der anderen Gesamthöhe des sovol sv06 im Vergleich zum original Hack, müssen andere <a href="https://www.printables.com/model/347706-sovol-sv06-ikea-lack-table-prusa-research-mod">Halterungen</a> verwendet werden. Schiebetüren is nicht - der sovol ist zu breit, aber schöne Option, die existiert.
Obige modifizierte Halterungen lassen etwa 1cm Luft nach oben - für meine Zwecke optimal. Es werden noch einige LED-Streifen zur Beleuchtung angebracht und “hell” wirds.</p>

<p>Ich habe das Konstrukt auf einen Tisch aufgestellt und aufgrund einer idealen Arbeitshöhe die Beine des 2ten ikea-Tisches kürzen müssen. <strong>Achtung:</strong> das ikea-Zeugs ist hohl und aus Pappe! Nur die Enden sind aus Pressholz ausgeführt. Ich hab diese ultrastabil mit einem Vierkantholz (45x45) unterfüttert; Bauschaum funktioniert wohl auch, ist halt eine schweinische Arbeit…</p>

<p>Statt der original Doppelschrauben benötigt man 4x 6x50mm Holzschrauben für die gedruckten Halterungen. Am besten mit Sechskantkopf für eine optimierte Auflage. Und ja: <em>nach fest kommt ab</em> - Pressholz taugt nix. Vor dem Zusammenschrauben werden die Acrylglasplatten eingesetzt.</p>

<p>Das Netzteil sollte nicht allzu warm werden und entsprechend Aussen separat befestigt. Das Kabel wird dazu ausgeklipst und links hinten durch die Aussparung verlegt. Vorausgesetzt man hat die gedruckten Halter vorher richtig positioniert. Auch hier mit Halterungen zum Selberdrucken.
Dann auf dem oberen “Deckel”, alias Tischplatte, ein Loch (oder Langloch) für die Filamentzufuhr anbringen; etwa auf Position des original Rollenhalters. Von prusa exitieren Muster für Rollenhalter zum Selberdrucken, sogar mit/für Metall-Lager 608zz. Das Verschrauben des Originalarms auf der Tischplatte funktioniert natürlich auch.</p>

<p>Unter der unteren Tischplatte können Schubladen oder Fächer angebracht werden. Ich selbst habe einfach einen 40x30 grossen Kunststoffbehälter aus dem Baumarkt mit etwa 7,5cm Höhe als Schublade umgestaltet.</p>

<p><a><img src="https://almeida66.github.io/blog1/img/ikeahack.jpeg" width="25%" height="25%" /></a></p>]]></content><author><name>A. C. Almeida</name></author><category term="hardware" /><summary type="html"><![CDATA[Der sovol sv06 hat nun einige Betriebsstunden hinter sich und um auch stabilere Filamente zu verwenden, ist ein Umgehäuse notwendig, ja fast Pflicht.]]></summary></entry><entry><title type="html">Esp32</title><link href="http://almeida.de/blog1/2026/01/09/esp32.html" rel="alternate" type="text/html" title="Esp32" /><published>2026-01-09T00:00:00+00:00</published><updated>2026-01-09T00:00:00+00:00</updated><id>http://almeida.de/blog1/2026/01/09/esp32</id><content type="html" xml:base="http://almeida.de/blog1/2026/01/09/esp32.html"><![CDATA[<p>Auch der esp32 gehört zu den Mikrocontroller der Firma espressif, hat halt etwas mehr Speicher als der esp8266. Und es existieren mehrere Clones, die sogar besser als das Original sind.</p>

<p>Hintergrund war es den CO2 Sensor <strong>SCD40</strong> als guenstigere Variante zum MHZ19B aufzusetzen. Dieser kann auch Temperatur und Luftfeuchte messen. Auch hier kommt <a href="https://www.tasmota.info/">tasmota</a> zum Einsatz.</p>

<p>Am besten den tasmota eigenen <a href="https://tasmota.github.io/install/">flashtool</a> verwenden und die “angepasste” binary aufsetzen, oder halt <code>esptool.py write_flash 0x0 tasmota32.factory.bin</code>. Es geht auch “ohne”, allerdings werden die SCDxx Angaben dann nicht angezeigt oder muessten via <em>templates</em> selber zusammengestrickt werden.</p>

<p>Beim ersten Start wird via USB-Serial der esp32 angeschlossen; der entsprechende Chip ist bereits onboard, also genuegt ein USB-Ladekabel. Im Menue werden unter <em>Configuration</em> Wifi, MQTT und sonstige Einstellungen eingegeben. Man erkennt dass der esp32 (tasmota) einiges mehr an Optionen anbietet.
Der SCD40 verwendet das I2C-Protokoll; hier recht einfach SDA und SCL, die an die gpio-Pins angeschlossen werden. Lt. Datenblatt wird das I2C-Protokoll bei Pin 22 und 21 des esp32 bereitgestellt. Die 3,3V sind eh beim esp32 verfügbar.</p>

<p>Unter <em>Tools</em> und Console können einige <a href="https://tasmota.github.io/docs/SCD4x/#commands">Kommandos</a> losgetreten werden, um den SCD40 einzustellen, die wichtigsten:</p>
<pre><code>SCD40Stop
SCD40Toff 400
SCD40Alt 678
SCD40Cal 400
SCD40pers
</code></pre>

<p>Fuer die Kalibrierung sollte der Sensor irgendwo am offenen Fenster (Frischluft) eine längere Zeit verbleiben. Danach ggf. ein <code>SCD40Strt</code> und ein Neustart. Der Aktualisierungsintervall sollte bei 60 sec (Stichwort: Telemetrie) liegen, jedenfalls packt der SCD40 diese Zeitspanne und für CO2 Messung durchaus angebracht…</p>]]></content><author><name>A. C. Almeida</name></author><category term="allgemein" /><summary type="html"><![CDATA[Auch der esp32 gehört zu den Mikrocontroller der Firma espressif, hat halt etwas mehr Speicher als der esp8266. Und es existieren mehrere Clones, die sogar besser als das Original sind.]]></summary></entry><entry><title type="html">Sovolsv06</title><link href="http://almeida.de/blog1/2025/12/11/sovolsv06.html" rel="alternate" type="text/html" title="Sovolsv06" /><published>2025-12-11T00:00:00+00:00</published><updated>2025-12-11T00:00:00+00:00</updated><id>http://almeida.de/blog1/2025/12/11/sovolsv06</id><content type="html" xml:base="http://almeida.de/blog1/2025/12/11/sovolsv06.html"><![CDATA[<p>Es wurde ein <a href="https://www.sovol3d.com/pages/download">sovol sv06</a>; direkt vom Hersteller als “refurbished” mit Teilgarantie, reicht doch fuers Erste.</p>

<p>Zum Glueck hatte ich mich <a href="https://sv06.blakadder.com/#">eingelesen</a>, da der Lieferzustand nicht wirklich akzeptabel war:</p>
<ul>
  <li>alle Schrauben nachziehen</li>
  <li>die Z-Buehne mit Winkel ausrichten</li>
  <li>alle Lager fetten - wirklich!</li>
  <li>die Treibrollen/-rad mit Loctite auf der flachen Wellen-Einsparung befestigen</li>
  <li>im Extruder die Rolle befestigen</li>
  <li>das Druckbett reinigen (Isopropanol, Aceton, Spuelilauge)</li>
</ul>

<p>Dann kann das eine oder andere Upgrade erfolgen, wie bessere/groessere Lüfter (4020, 5015) samt Ausdruck der ersten 3D Prints, wie die <em>nautilus</em> Luftführung. ggf. doch ein anderes Druckbett (235x235); das Original ist lackiert und nicht mit jedem Filament gut haftbar. Haengt stark vom Filament ab, aber wenn PLA desselben Herstellers nur in anderer Farbe die erste Schicht schlecht haftet - trotz mehrfacher Nivelierung… 
Ein anschliessendes <strong>Z-Hop</strong> ist häufig die Rettung, aber die Oberfläche wird unschoen. Auch das Erhöhen der 1. Schichtdicke auf 0,3 bringt nicht immer Erfolg; wenn man Pech hat, reisst die Duese alles vom Druckbett.</p>

<p>Da hat schon <a href="https://princore.de/collections/neu-druckkbett-systeme">princore</a> ein Druckbettsystem als Ersatz im Programm. Liegt also nicht nur an mir…</p>

<p>Ansonsten wird als <strong>slicer</strong> ein altes verändertes Cura mitgeliefert, aber man kann nach gusto andere Slicer wie <a href="https://www.prusa3d.com/de/page/prusaslicer_424/">Prusa</a>, das echte <a href="https://curaslicer.com/">Cura</a> oder <a href="https://www.orcaslicer.com/">Orca</a> verwenden. Ich selbst benutze Prusa, da mir die Oberfläche besser gefällt und <a href="https://flathub.org/en/apps/com.prusa3d.PrusaSlicer">Linux</a> tauglich; man muss halt die Daten für den sovol sv06 übetragen.</p>

<p>Als Fundgrube fuer 3D-Prints bieten sich <a href="https://www.printables.com/?lang=de">printables</a> und <a href="https://www.thingiverse.com/">thingiverse</a> an.</p>

<p>Ein groesseres anstehendes Projekt ist der mini <a href="https://www.instructables.com/Making-a-Small-Mac-From-a-Raspberry-3/">Macintosh SE</a> mit raspi… hardware lag schon rum…</p>

<p><a><img src="https://almeida66.github.io/blog1/img/macse.jpeg" width="25%" height="25%" /></a></p>]]></content><author><name>A. C. Almeida</name></author><category term="hardware" /><summary type="html"><![CDATA[Es wurde ein sovol sv06; direkt vom Hersteller als “refurbished” mit Teilgarantie, reicht doch fuers Erste.]]></summary></entry><entry><title type="html">Zte Mf18a</title><link href="http://almeida.de/blog1/2025/10/09/zte-mf18a.html" rel="alternate" type="text/html" title="Zte Mf18a" /><published>2025-10-09T00:00:00+00:00</published><updated>2025-10-09T00:00:00+00:00</updated><id>http://almeida.de/blog1/2025/10/09/zte-mf18a</id><content type="html" xml:base="http://almeida.de/blog1/2025/10/09/zte-mf18a.html"><![CDATA[<p>Die bei O2 verwendeten APs haben eine 4-kerner CPU und werden gerade ausverkauft, wie so viele - aus China - der Firma <a href="https://www.ztedevices.com/de/">ZTE</a>. Die können aber auch mit <a href="https://openwrt.org/toh/hwdata/zte/zte_mf18a">OpenWRT</a> bespielt werden.</p>

<p>Die Vorbereitungen sind halt etwas umfangreicher, da das Gehäuse geöffnet und die seriellen (oben rechts: Vcc, TX, RX, Gnd) Pins mit Kontakte o.ä. bestückt und gelötet werden müssen. Danach via USB-Serial-Adapter diese anschliessen und beim Start mittels Esc-Taste den Bootvorgang stoppen.</p>

<pre><code>setenv serverip 192.168.0.2
setenv ipaddr 192.168.0.1
set fdt_high 0x85000000
tftpboot 0x84000000 openwrt-ipq40xx-generic-zte_mf18a-initramfs-fit-zImage.itb
nand erase 0x1800000 0x1D00000
bootm 0x84000000
</code></pre>
<p>Ach ja, das <em>nand erase</em> löscht die original Partitionen samt Inhalt; wer zurück will, dann vielleicht diese mittels <code>cat /dev/mtdx &gt; /tmp/mtdx.bin</code> retten.
Obiges geht von einem laufendem <strong>tftp-Server</strong> aus, z.B. <a href="https://pjo2.github.io/tftpd64/">tftp</a> oder in linux mit <strong>dnsmasq</strong>: <code>dnsmasq --listen-address=192.168.0.x --port=0 --enable-tftp --tftp-root=/verzeichnis/tftp --tftp-no-blocksize --user=root --group=root</code>. Hierbei wird noch ein Verzeichnis angelegt und dort die firmware bzw. image abgelegt.</p>

<p>Es sollte dann eine OpenWRT starten, wie ueblich unter 192.168.1.1 zugaenglich; eine Ethernet-Verbindung mit LAN2 ist hilfreich. Dann mit <code>sysupgrade -n /tmp/openwrt-ipq40xx-generic-zte_mf18a-squashfs-sysupgrade.bin</code> installieren. Danach unbedingt ein <code>opkg update</code> durchführen und ggf. die mesh-Software (hier <em>wpad-mesh-openssl</em>) an die restlichen APs anpassen - die sind nicht wirklich untereinander kompatibel.</p>

<p>Die MF18A hat einen 4-Kerner, da ist <em>irqbalance</em> durchaus sinnvoll; ansonsten die mesh-Anbindung gemäß dem anderen Blog-Eintrag umsetzen und gut ist.</p>
<blockquote>
  <p>[!NOTE]
Die Firmware kann via LuCI ins System geladen werden und wird unter /tmp als <strong>firmware.bin</strong> zwischengespeichert. Aber NICHT via LuCI mit Start/OK upgraden, sondern via Kommandozeile mit sysupgrade.</p>
</blockquote>]]></content><author><name>A. C. Almeida</name></author><category term="OpenWrt" /><summary type="html"><![CDATA[Die bei O2 verwendeten APs haben eine 4-kerner CPU und werden gerade ausverkauft, wie so viele - aus China - der Firma ZTE. Die können aber auch mit OpenWRT bespielt werden.]]></summary></entry><entry><title type="html">Nixos</title><link href="http://almeida.de/blog1/2025/08/01/nixos.html" rel="alternate" type="text/html" title="Nixos" /><published>2025-08-01T00:00:00+00:00</published><updated>2025-08-01T00:00:00+00:00</updated><id>http://almeida.de/blog1/2025/08/01/nixos</id><content type="html" xml:base="http://almeida.de/blog1/2025/08/01/nixos.html"><![CDATA[<p><a href="https://nixos.org/">NixOS</a> ist eine auf den Paketmanager Nix basierende linux-Distri; nennt sich auch <em>deklarative</em> Systemkonfiguration. Aus 1x Konfigdatei wird die Installation ermittelt/aufgebaut, oder so aehnlich…</p>

<p>Das Ganze habe ich auf den alten hp-(ex-)Chromebook aufgesetzt. Aus der minimal USB-ISO wurde die Installationsumgebung gestartet, welche auch ohne Probleme bei dem hp funktioniert hat. Da hat sogar win10 funktioniert.
Auf der Kommandozeile wird die interne Disk (SSD) partitioniert und gelabelt. Die neuen Verzeichnisse “/” und “/boot” bspw. unter /mnt bzw. /mnt/boot gemountet.
Ein beherztes <code>nixos-generate-config --root /mnt</code> wird eingegeben; hierbei wird unter /mnt/etc/nixos die neue und absolut wichtige Konfigurationsdatei <strong>configuration.nix</strong> angelegt.</p>

<p>Mit nano (vorinstalliert) wird die Datei editiert und erste wichtige Grundlagen auskommentiert, wie z.B. boot/EFI, Netzwerk (wifi, nmcli), User, Tastatur , Audio (pulse) und system packages (die eigentlichen Programme). Es folgt ein erstes <code>nixos-install</code> mit einem <em>reboot</em>. Es muss eine Internet-Anbindung existieren; ggf. ist mittels <em>wpa_supplicant</em> das wifi erstmalig einzurichten! Vorgehensweise siehe unter <a href="https://nixos.org/manual/nixos/stable/"><em>NixOS-manual</em></a>.</p>

<p>Wenn der Erststart geklappt hat, dann den User anlegen und in der configuration.nix ergänzen. Fuer eine Desktop-Umgebung muss dann der xserver auskommentiert werden, samt zug. Programme wie DesktopManager (xfce,..) und sonstige <a href="https://search.nixos.org/packages">Programme</a>. Siehe dazu die hilfreichen Beispiele aus dem manual.</p>

<p>Es folgt ein <code>nixos-rebuild switch</code>, gefolgt von einem reboot. Man wird dann ein zusaetzlichen Eintrag unter grub finden, quasi ein backup. Wenn es zuviel wird, dann mit <code>nix-collect-garbage -d</code> loeschen. Ein erneutes <code>nixos-rebuild switch</code> sorgt fuer ein aufgeraeumtes grub.</p>

<p>Ein <code>nmcli d wifi connect &lt;ssid&gt; password &lt;geheim&gt;</code> sorgt dann fuer den dauerhaften Wifi-Zugang. wpa_supplicant geht auch, ich finde es halt nerviger in der Config…</p>

<p>Bis jetzt ist das System recht sparsam unterwegs mit nur 8GB RAM.</p>]]></content><author><name>A. C. Almeida</name></author><category term="allgemein" /><summary type="html"><![CDATA[NixOS ist eine auf den Paketmanager Nix basierende linux-Distri; nennt sich auch deklarative Systemkonfiguration. Aus 1x Konfigdatei wird die Installation ermittelt/aufgebaut, oder so aehnlich…]]></summary></entry><entry><title type="html">ChromeOS, die 5te</title><link href="http://almeida.de/blog1/2025/07/10/chromeos-5te.html" rel="alternate" type="text/html" title="ChromeOS, die 5te" /><published>2025-07-10T00:00:00+00:00</published><updated>2025-07-10T00:00:00+00:00</updated><id>http://almeida.de/blog1/2025/07/10/chromeos-5te</id><content type="html" xml:base="http://almeida.de/blog1/2025/07/10/chromeos-5te.html"><![CDATA[<p>Ja, man(n) kann es nicht lassen. Was verscheberln die diese auch. Diesmal mal eher was relativ Neuwertiges, ein ACER 314-4H mit satten 8GB RAM und 128eMMC und einem intel N100. Ich würde sagen aktuell der schnellste aus der Sammlung.
Ok, hier würde ChromeOS tatsächlich noch einige Jahre Support bieten, aber wer will schon seine Daten der “US-Cloud” anvertrauen…</p>

<p>Es handelt sich hier um den <a href="https://docs.mrchromebox.tech/docs/supported-devices.html">CRAASNETO</a> und wird von <a href="https://docs.mrchromebox.tech/">mrchromebox</a> unterstuetzt, ein sog. Alderlake. Wie immer gehört der Rechner in <em>Developermodus</em> und etwas trikky die neuen Sicherheitschips Ti50, die neuerdings verbaut werden. Hier hilft nur eine seltasame Prozedur in der root-CLI.
Dabei wird via Ctrl+Alt+F2 die Kommandozeile gestartet und als root (ohne Passwort) angemeldet. Mit <code>gsctool -a -I</code> kann man sich die aktuelle Einstellung angucken, interessant ist hier <strong>AllowUnverifiedRo</strong></p>

<p>Um diese auf <em>AllowUnverifiedRo:always</em> zu setzen muss mittels <a href="https://www.chromium.org/chromium-os/developer-library/guides/device/ro-firmware-unlock/#purpose-of-this-guide">Aufruf</a> <code>gsctool -a -o</code> das Ganze gestartet werden und mit der Powertaste <em>bestätigt</em> werden. Und wenn “Another press will be required” erscheint, dann abwarten und <strong>NICHT</strong> die Powertaste drücken, nur wenn wieder “Press PP button now” angezeigt wird; das geht so ein paar Minuten hin-und-her mit Wartezeiten. Sollte es geklappt haben, dann fährt der Rechner runter und aktualisiert sich (hoffentlich). Wieder in den Developermodus setzen, root-CLI öffnen und <code>gsctool -a -o AllowUnverifiedRo:always</code>eingeben und mit der Powertaste <em>bestätigen</em>. Mit <code>gsctool -a -I</code> prüfen; bei der Gelegenheit noch den Schreibschutz mit <code>gsctool -a -w disable</code> aushebeln und ebenfalls bestätigen.</p>

<p>Danach als <em>chronos</em> die Kommandozeile starten und bekannte Prozedur <code>cd; curl -LO mrchromebox.tech/firmware-util.sh &amp;&amp; sudo bash firmware-util.sh</code> lostreten. Das <strong>WP</strong> sollte nun disabled sein und je nach gusto RW_LEGACY oder gleich die full_ROM flashen. Für alle Fälle ein USB-Stick für die Sicherheitskopie der originalen Firmware bereithalten. <em>Reboot</em> tut gut.</p>

<p>Danach mittels USB/SD-Karte das neue OS installieren.</p>]]></content><author><name>A. C. Almeida</name></author><category term="libreboot" /><summary type="html"><![CDATA[Ja, man(n) kann es nicht lassen. Was verscheberln die diese auch. Diesmal mal eher was relativ Neuwertiges, ein ACER 314-4H mit satten 8GB RAM und 128eMMC und einem intel N100. Ich würde sagen aktuell der schnellste aus der Sammlung. Ok, hier würde ChromeOS tatsächlich noch einige Jahre Support bieten, aber wer will schon seine Daten der “US-Cloud” anvertrauen…]]></summary></entry><entry><title type="html">Caddy</title><link href="http://almeida.de/blog1/2025/06/26/caddy.html" rel="alternate" type="text/html" title="Caddy" /><published>2025-06-26T00:00:00+00:00</published><updated>2025-06-26T00:00:00+00:00</updated><id>http://almeida.de/blog1/2025/06/26/caddy</id><content type="html" xml:base="http://almeida.de/blog1/2025/06/26/caddy.html"><![CDATA[<p><a href="https://caddyserver.com/">Caddy</a> ist ein ausgewachsener <em>reverse_proxy</em>; bisher hatte ich das via lighttpd samt Module mit den vielen offenstehenden Ports umgesetzt - ist halt nicht ganz toll für die Datensicherheit.</p>

<p>Jetzt hatte die <a href="https://www.heise.de/select/ct/2025/13/2513216291941236359">ct</a> mal geballt interessante Themen aufgesetzt und in der nächsten Ausgabe 14 eine besch+ssene <em>Kochzeitschrift</em> daraus gemacht - ernsthaft???? Zum Glück bin ich kein Abonnent, werde die Ausgabe auch nicht kaufen… schon netbsd konnte “toasten”, aber das war ja auch was ganz anderes.</p>

<p>Meine Motivation ist/war es die offenen Ports zu minimieren, dazu - quasi umsonst - Zertifikate auszustellen und den Server in einem separaten proxmox-Container zu betreiben.
Mit 512MB RAM, 1 CPU und 4GB sind die Anforderunegn sehr übersichtlich. Plattform ist wie ueblich debian. Die Konfigurationsdatei nennt sich Caddyfile und ist recht simple aufgebaut, z.B.:
<code>webserver.example.com {
  reverse_proxy 192.168.xx.xx:8081
  }</code></p>

<p>Wie immer, wenn man solche Tools hinter einem DSL-Modem betreibt, dann muessen dort die Ports 80 und 443 jeweils fuer ipv4 und ipv6 freigegeben werden. Aber halt auch nur die!
Den Rest besorgt <strong>caddy</strong>. Da gibt es noch unzählige Module, die eine oder andere Anforderung erfüllen. U.a. die fürs dynDNS; können sogar <a href="https://caddyserver.com/download">online</a> “erzeugt” werden.</p>]]></content><author><name>A. C. Almeida</name></author><category term="allgemein" /><summary type="html"><![CDATA[Caddy ist ein ausgewachsener reverse_proxy; bisher hatte ich das via lighttpd samt Module mit den vielen offenstehenden Ports umgesetzt - ist halt nicht ganz toll für die Datensicherheit.]]></summary></entry><entry><title type="html">Growatt Mqtt</title><link href="http://almeida.de/blog1/2025/06/26/growatt-mqtt.html" rel="alternate" type="text/html" title="Growatt Mqtt" /><published>2025-06-26T00:00:00+00:00</published><updated>2025-06-26T00:00:00+00:00</updated><id>http://almeida.de/blog1/2025/06/26/growatt-mqtt</id><content type="html" xml:base="http://almeida.de/blog1/2025/06/26/growatt-mqtt.html"><![CDATA[<p>Ist eigentlich ein Skript, ich packe es dennoch unter <em>hardware</em>. Hat was mit Solartechnik zu tun, naemlich die Datenanbindung an die Growatt noah2000 Speicherbatterie, die mit WiFi die Daten streut.
Der Hersteller will natürlich sein eigenen Kram anbieten, aber wozu…</p>

<p>Das <a href="https://github.com/mtrossbach/noah-mqtt">Skript</a> liest die API-Daten aus und kann diese an einem broker, wie mosquitto, weiterleiten. Den Rest besorgt dann node-red, o.ä.</p>

<p>Unter linux kann man das Skript im home-verzeichnis, oder gleich in die <em>/usr/sbin</em> packen - je nach Derivat. Aufruf erfolgt via <code>GROWATT_USERNAME=myusername GROWATT_PASSWORD=mypassword MQTT_HOST=localhost MQTT_PORT=1883 ./noah-mqtt</code></p>

<p>Ggf. ein cron-job aufsetzen oder unter init.d als Startoption einbinden.</p>

<p>Die anschliessende Anzeige im mosquitto ist mehr als ausreichend, um alle möglichen Verbrauchsdaten anzuzeigen.</p>]]></content><author><name>A. C. Almeida</name></author><category term="hardware" /><summary type="html"><![CDATA[Ist eigentlich ein Skript, ich packe es dennoch unter hardware. Hat was mit Solartechnik zu tun, naemlich die Datenanbindung an die Growatt noah2000 Speicherbatterie, die mit WiFi die Daten streut. Der Hersteller will natürlich sein eigenen Kram anbieten, aber wozu…]]></summary></entry></feed>