Wie die Homeassistant config.txt auf einem CM4 editieren?

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • //Original Post angepasst, Weitere details im Verlaufe des Threads


    Hi Community,


    ich möchte bei einem ein CM4 (mit 32GB MMC) welches ich auf einem Tofu Carrierboard nutze diverse Änderungen an der /boot/config.txt vornehmen.


    Ich würde gerne:

    1. Die USB Ports aktivieren (dtoverlay=dwc2,dr_mode=host)
      1. SSH keys via USB importieren
      2. SSH aktivieren
    2. Die Bluetooth Schnittstelle deaktivieren (dtoverlay=disable-bt)
    3. Die serielle Schnittstelle aktivieren (enable_uart=1) um ein Zigbee HAT zu nutzen.

    Homeassistant hatte ich schon wahlweise auf dem MMC oder auf der via PCIe angebundenen NVME installiert. Läuft ohne Probleme.


    Ich kann das eMMC via ./rpiboot an einem Linux Host mounten, dann die /boot/ Partition mounten und die config.txt öffnen. Ich kann sie jedoch nicht bearbeiten bzw. überschreiben "... nicht die erforderlichen Berechtigungen ..."


    Was mache ich falsch? Danke für eure Unterstützung!


    Danke!

    Edited once, last by PeterJensen: Anpassungen um das Problem & den Kontext klarer darzustellen. ().

  • Das weiß ich nicht, denn die /boot/config.txt liegt ja auf dem Laufwerk, auf dem RaspiOS oder HA installiert sind, oder?


    Unter HA lässt sich dies nur via echtem SSH editieren. Und dafür benötige ich USB, um die SSH Keys zu importieren. Und dafür muss ich an die config.txt, aber da komm ich nach meinem bisherigen Wissen nur via SSH ran.


    Fühlt sich an wie eine Endlosschleife, aus der man nicht entkommt :)

  • hyle Ich verstehe nicht warum den Thread aus dem CM Forum rausgezogen hast :conf:


    Hast Du gelesen was ich auf meiner Webseite geschrieben habe? Dann kann ich sehr einfach auf eMMC oder NVMe zugreifen um etwas zu editieren.


    Falls das bei Dir nicht unter Linux in einer VM funktioniert solltest Du die einzelnen Schritte im Detail beschreiben die Du bei Deinen Versuchen vornimmst. Ohne diese lese ich nur in der Glaskugel :gk1::)

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)
  • Habe ich gelesen, und ist an sich gut geschrieben.


    WIe greifst Du framp auf /boot/config.txt zu? Bootest Du das RaspiOS (von MMC oder nvme) bis zum Desktop und öffnest dann die Datei?

  • Es gibt zwei Wege die Datei zu aendern. Entweder mountest Du sie von einem anderen System - so wie ich es auf meiner Webseite beschreibe - oder vom gebooteten System.


    Ich habe jetzt verstanden dass Du Dein Sytem booten kannst aber die Datei nicht aendern kannst. Dann war die VerschiebeAktion von hyle OK- nur ich habe es nicht geblickt :blush:


    Ich nutze sudo vi /boot/config.txt.

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)
  • Dann war die VerschiebeAktion von hyle OK

    Aber natürlich war die das! ^^ Ich mache den Job ja nun schon ein paar Jahre und selbst wenn ich beim Zielbereich nicht immer zu 100% richtig liege, ist das trotzdem noch zu 99,9% treffender als der Bereich, in denen die Beiträge erstellt wurden. ;)

  • framp möglicherweise habe ich mich unzureichend ausgedrückt.


    Ich kann nicht auf das CM4 via SSH zugreifen, da ich die SSH keys nicht via USB-Stick importieren kann, da die Ports beim CM4 ja per default deaktiviert sind.


    Und soweit ich es verstehe muss ich die Config.txt auf dem Datenträger editieren, von den HA bootet. Denn soweit ich das CM4 verstehe gibt es keinen universellen USB Port an/aus "Schalter". Alles scheint über die jeweilige Config des verwendeten Image zu laufen.


    Ich würde gerne:

    1. Die USB Ports aktivieren (dtoverlay=dwc2,dr_mode=host)
      1. SSH keys via USB importieren
      2. SSH aktivieren
    2. Die Bluetooth Schnittstelle deaktivieren (dtoverlay=disable-bt)
    3. Die serielle Schnittstelle aktivieren (enable_uart=1) um ein Zigbee HAT zu nutzen.


    Ich habe das CM4 jetzt an einem Ubuntu PC via rpiboot gemountet, anschliessend die 1. Partition via sudo mount -t vfat -v /dev/sdb1 /mnt/hassboot/ eingebunden.

    Nun kann die Config.txt öffnen, aber nicht ändern. Die Boot Partition ist augenscheinlich schreibgeschützt.


    Gibt es andere Wege die 3 Punkte zu erreichen? Ich bezweifle, dass ich der Erste mit diesem Anliegen bin.

  • Nun kann die Config.txt öffnen, aber nicht ändern. Die Boot Partition ist augenscheinlich schreibgeschützt.

    Kannst Du das genauer beschreiben? Warum "nur augenscheinlich"? Ist sie oder ist sie nicht schreibgeschützt?


    Wie sind die Ausgaben von:

    Code
    lsblk -fp
    mount -v

    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Wenn ich die config.txt in einem Editor (Pluma) öffne, bearbeite und versuche zu speichern ergibt das eine Fehlermeldung ... "Sie haben nicht die erforderlichen Berechtigungen".


    lsblk -fp ergibt:


    dev/sdb


    ├─/dev/sdb1

    │ vfat FAT16 hassos-boot

    │ B14B-168A 24,6M 23% /mnt/hassboot

    ├─/dev/sdb2

    │ squash 4.0 0 100% /media/Peter/disk

    ├─/dev/sdb3

    │ squash 4.0 0 100% /media/Peter/disk1

    ├─/dev/sdb4

    ├─/dev/sdb5

    ├─/dev/sdb6

    ├─/dev/sdb7

    │ ext4 1.0 hassos-overlay

    │ c73634d5-cef6-44de-8ce7-cec9c96b2ba3 77,7M 0% /media/Peter/hassos-overlay

    └─/dev/sdb8

    ext4 1.0 hassos-data

    f99af10d-c9c5-4c9c-8162-4407a63d5994 403,2M 61% /media/Peter/hassos-data



    mount -v


    /dev/sdb1 on /mnt/hassboot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)


    Habe ich die MMC falsch eingebunden?

    Edited 2 times, last by PeterJensen: Ergänzung ().

  • Kann sein. Wie hattest Du Zugang zur config.txt-Datei?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Von Anfang an:

    1. Ubuntu Host booten (Ubuntu Unity 22.10)
    2. Tofuboard auf dem das CM4 sitzt via USB-C an den PC anschliessen (während ich den eMMC boot button auf dem Board gedrückt halte)
    3. eMMC mounten via ./rpiboot. Dabei werden sdb2, 3, 8 & 7 automatisch eingebunden
    4. Manuelles einbinden von sdb1 via sudo mount -t vfat -v /dev/sdb1 /mnt/hassboot/
    5. Zugriff mittels Dateimanager Nemo auf /mnt/hassboot/
    6. Rechtsklick auf die config.txt, öffnen in Pluma (editor)
    7. Bearbeiten geht, speichern geht nicht.
  • Und soweit ich es verstehe muss ich die Config.txt auf dem Datenträger editieren, von den HA bootet. Denn soweit ich das CM4 verstehe gibt es keinen universellen USB Port an/aus "Schalter". Alles scheint über die jeweilige Config des verwendeten Image zu laufen.

    Jupp. Du musst immer die Config aendern.

    Ich habe das CM4 jetzt an einem Ubuntu PC via rpiboot gemountet, anschliessend die 1. Partition via sudo mount -t vfat -v /dev/sdb1 /mnt/hassboot/ eingebunden.

    Nun kann die Config.txt öffnen, aber nicht ändern. Die Boot Partition ist augenscheinlich schreibgeschützt.

    Gut ist dass Du ein Linux fuer usbboot nutzt denn unter Windows gibt es immer wieder Probleme. Die primaere Entwicklungsplatform fuer usbboot ist nun mal Linux und das funktioniert deshalb auch wesentlich besser.

    Eigentlich sollte die Bootpartition beschreibbar sein. Zeige doch mal wenn Du Deine eMMC und NVMe per usbboot zugreifbar gemacht hast die Ausgabe von

    Code
    sudo lsblk -fp
    mount
    sudo mount /dev/sdb1 /mnt
    mount
    sudo find /mnt -iname config.txt -exec ls -la {} \;

    Bitte alle Ausgaben mit Codetag zeigen (das dritte Icon von rechts oben in der schwarzen Zeile)

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)
  • Bitte alle Ausgaben mit Codetag zeigen (das dritte Icon von rechts oben in der schwarzen Zeile)


    Code
    sudo find /mnt/hassboot/ -iname config.txt -exec ls -la {} \;
    -rwxr-xr-x 1 root root 2160 Dez  1 12:08 /mnt/hassboot/config.txt
  • Zugriff mittels Dateimanager Nemo auf /mnt/hassboot/
    Rechtsklick auf die config.txt, öffnen in Pluma (editor)

    Ich glaube hier liegt der Hase im Pfeffer:

    Code
    sudo nano /mnt/hassboot/config.txt

    Damit solltest Du die Datei aendern koennen ;)


    Hintergrund: Du kannst die Datei nur als User root aendern. Und mit dem Dateimanager bist Du auf Ubuntu kein root sondern ein normaler User.

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)
  • Seriously. Ich glaube es nicht. :)

    Das hätte ich wissen müssen.


    Das hat geklappt, Danke. Was ich nicht nachvollziehen kann ist, warum die HA Entwickler es nicht möglich machen die config.txt bzw. das setzen von Funktionen (an/aus) über Switches in der GUI zu erlauben. Beispielsweise über den erweiterten Modus. So ist das ja schon ein wenig Gefrickel.


    Ich nehme an mit den Änderungen sollte nun USB aktiviert sein, Bluetooth deaktiviert sein und die serielle Schnittstelle laufen.


    Die config.txt sieht nun so aus.


  • So ist das ja schon ein wenig Gefrickel.

    Klar geht es mit einem UI leichter. Da das aber i.d.R. ein einmaliger Schritt ist lohnt sich der Aufwand dafuer ein UI-Zugang zu programmieren nicht. Zumal es unter Linux quasi Standard ist Systemdinge in Configdateien zu konfigurieren und nicht per UI.

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)
  • Quote

    Configdateien zu konfigurieren und nicht per UI


    Dem ist sicherlich so. Die Frage ist nur, wer ist die Zielgruppe von HA. :) Aber das ist eine anderes Thema.

    Ich werde HA nun nochmal frisch auf der NVME installieren, dann die config Änderungen vornehmen und dann schauen ob's läuft. Werde dann den #1 Post entsprechend mit der Lösung anpassen.

  • Du brauchst nicht frisch zu insrallieren auf NVMe. Nur ein Backup mir raspiBackup von eMMC erstellen und auf NVMe restoren.


    Ausser du willst alles noch mal üben :)

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)