Instalacja HA na proxmox

Witam, potrzebuję zainstalować HA na proxmox, ale aby można było korzystać z wbudowanego com2 na płycie głownej miniPC, który działa jak RS485. Zainstalowałem na VM HAOS ale nie da się poprawnie przekierować portu uart com (/dev/ttyS01). Dongiel zigbee sonoff przekierowuje bez problemu. Chat gpt twierdzi że " Brutalna prawda:

  • HAOS w VM wymaga OVMF/UEFI.
  • OVMF nie przepuszcza fizycznych portów COM/RS485 na płycie głównej.
  • Próby typu -chardev serial czy isa-serial nie działają.
  • SeaBIOS mógłby przepuścić COM, ale HAOS nie bootuje pod SeaBIOS." Ale jemu nie ufam, więc może tu ktoś mi uczciwie doradzi.

Nie wiem, nie znam się, w dokumentacji masz to
https://pve.proxmox.com/pve-docs/chapter-qm.html#qm_options

serial[n]: (/dev/.+|socket)

Create a serial device inside the VM (n is 0 to 3), and pass through a host serial device (i.e. /dev/ttyS0), or create a unix socket on the host side (use qm terminal to open a terminal connection).

Note 	If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.

Caution 	Experimental! User reported problems with this option.

alternatywa
Jeśli nie musi być proxmox, to HAOS-generic (instalacja bare-metal) spokojnie obsługuje porty na płycie głównej.

proxmox niestety musi być bo oprócz HA potrzebuje opnsense, jellyfin, frigate itp.

Jeśli się nie mylę te 3 rzeczy możesz zainstalować wewnątrz HAOS jako Dodatki (takie trochę zmodyfikowane kontenery)
tu masz jellyfin

frigate jest w znanym miejscu
nie wiem jak z opnsense

aaa widzisz, no to muszę się doczytać o tych możliwościach. Chociaż już mam wszystko działające pod proxmox i brakuje mi tylko tej opcji aby działał com rs485 pod vm HA. Przenoszenie wszystkiego będzie uciążliwe, ale jeśli to będzie jedyna alternatywa to trudno.
Edit: opnsense niesety, ale z tego co znalazłem nie da rady na HA bare metal. Pozostaje więc męczenie dalej tego co mam w poszukiwaniu rozwiązania.

To może zakupić konwerter RS485 do Ethernet i pozbyć się kłopotu.

1 polubienie

Ha, ha to nie jest rozwiązanie tylko obejście problemu. Nie po to kupowałem urządzenie z com rs485, żeby teraz sie poddać i kupować dodatkowy “osprzęt” :smiley:

A tak z ciekawości, co to za płyta główna?

Taki chińczyk: BKHD G30S-1264 N150 4L

1 polubienie

Przez dodanie linijki “args: -chardev serial,id=char0,path=/dev/ttyS1 -device isa-serial,chardev=char0” do conf niby działa, ale wysypuje się boot i po każdym restarcie trzeba manualnie wybrać system do bootowania. Pewnie wykrywa konsolę szeregową jako aktywną i wymusza grub :frowning:
Jeszcze sprawdzę jak to wszystko działa na CT zamiast VM, może mi wystarczy kontener dla samego HA zamiast wirtualki.

1 polubienie

Wracamy do korzeni, bo Home Assistant Container LXC i Home Assistant Core LXC to jakaś porażka. Kto i w jakim celu to zrobił? Z tego się nie da korzystać. Walczę więc dalej z HAOS na VM.

hehe sam napisałeś

a co do bootloadera to raczej jest to uboot niż grub

może, nie upieram się ale wygląda jak grub z wyborem systemów :slight_smile:

to jednak jest grub:


jak się pozbyć tej konsoli ttyS0?

➜  ~ dmesg | grep ttyS
[    0.000000] Command line: BOOT_IMAGE=(hd0,gpt4)/bzImage root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootwait zram.enabled=1 zram.num_devices=3 systemd.machine_id=e942594edaf743f1a2bf445e150b7b8d fsck.repair=yes console=ttyS0 console=tty1 rauc.slot=B
[    0.081572] Kernel command line: BOOT_IMAGE=(hd0,gpt4)/bzImage root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootwait zram.enabled=1 zram.num_devices=3 systemd.machine_id=e942594edaf743f1a2bf445e150b7b8d fsck.repair=yes console=ttyS0 console=tty1 rauc.slot=B
[    0.186877] printk: legacy console [ttyS0] enabled
[    2.054045] 00:00: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
[    2.057968] 00:01: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    3.973453] systemd[1]: Expecting device /dev/ttyS0...
➜  ~
➜  ~ 

Albo jak sprawić aby qm dodawało ttyS1 pomijając ttyS0, bo teraz bez względu co wpiszę np qm set 101 -serial1 /dev/ttyS1 to w HA i tak zawsze jest ttyS0.

1 polubienie

Rozwiązanie okazało się bardzo proste. Wystarczyło zmienić jedną linię w /mnt/boot/EFI/BOOT/grub.cfg set timeout=1 na set timeout=0.
Usuwa to moment oczekiwania – GRUB natychmiast startuje system, zanim dane z portu zdążą go zablokować.

1 polubienie