Montowanie dysku ext4 w Home Assistant OS

Cześć! To mój pierwszy wpis - będę wdzięczny za pomoc, nie radzę sobie z rozwiązaniem.

Wcześniej korzystałem z HA zainstalowanym w dockerze na Ubuntu. Teraz zmieniłem na ODROID-N2+ czyli Blue HA. Chcę podłączyć do niego dysk USB 3.0, na którym mam bibliotekę muzyczną (mp3, FLAC, etc. - korzysta z tego np. SONOS czy Plex “siedzący” na Ubuntu), system plików to ext4.

Wcześniej ten dysk był podpięty pod wspomniane Ubuntu, tam miałęm go w /etc/fstab:

LABEL=“SAMSUNG1TB” /mnt/Samsung1TB auto defaults,rw,user 0 0

oraz w /etc/samba/smb.conf:

[Samsung1TB]
comment = Samsung 1TB
browseable = yes
path = /mnt/Samsung1TB
guest = ok
writeable = yes
public = yes
valid users = marcin

HassOS wykrywa dysk:

  - name: sda1
    sysfs: >-
      /sys/devices/platform/soc/ffe09000.usb/ff500000.usb/xhci-hcd.0.auto/usb2/2-1/2-1.3/2-1.3:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1
    dev_path: /dev/sda1
    subsystem: block
    by_id: /dev/disk/by-id/ata-SAMSUNG_HM100UZ_C0001E86AA7BRE-part1
    attributes:
      DEVLINKS: >-
        /dev/disk/by-id/ata-SAMSUNG_HM100UZ_C0001E86AA7BRE-part1
        /dev/disk/by-id/wwn-0x50000f00aaeb0e7b-part1
        /dev/disk/by-label/SAMSUNG1TB
        /dev/disk/by-partuuid/5b6ad4e1-2e38-0e41-8fa6-79d014d6628d
        /dev/disk/by-path/platform-xhci-hcd.0.auto-usb-0:1.3:1.0-scsi-0:0:0:0-part1
        /dev/disk/by-uuid/723ebcd4-7654-4586-9876-27815ccdf958
      DEVNAME: /dev/sda1
      DEVPATH: >-        /devices/platform/soc/ffe09000.usb/ff500000.usb/xhci-hcd.0.auto/usb2/2-1/2-1.3/2-1.3:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1
      DEVTYPE: partition
      ID_BUS: ata
      ID_FS_LABEL: SAMSUNG1TB
      ID_FS_LABEL_ENC: SAMSUNG1TB
      ID_FS_TYPE: ext4
      ID_FS_USAGE: filesystem

Nie wiem jak do tego podejść. Próbowałem przez standardowe:

mkdir /media/usb

a następnie

mount /dev/sda1 /media/usb

Bez powodzenia.

Po wyświetleniu:

cat /proc/filesystems
widzę, że ext4 jest dostępne.

Zakladam, że na Blue HA masz defaultowy obraz “HassOS”. Dla takiej konfiguracji ale na RPi3 też próbowałem ale nie udało się i wg mnie nie uda bo to obraz linuxa przygotowany tylko pod HA, to nie to samo co własne Ubuntu z dockerem. Ten dysk jest z poziomu linuxa przekazywany przez kontener do HA, wg mnie takiej zmiany nie zrobisz w domyślnym “HassOS” (teraz to się chyba nazywa Home Assistant Core).

Mnie ta nowa technologia przerasta :stuck_out_tongue: ale się raczej da

Moje próby były robione przed tą datą.

Zakladam, że na Blue HA masz defaultowy obraz “HassOS”. Dla takiej konfiguracji ale na RPi3 też próbowałem ale nie udało się i wg mnie nie uda bo to obraz linuxa przygotowany tylko pod HA, to nie to samo co własne Ubuntu z dockerem.

@macek dokładnie tak, mam HassOS.

Ten dysk jest z poziomu linuxa przekazywany przez kontener do HA, wg mnie takiej zmiany nie zrobisz w domyślnym “HassOS” (teraz to się chyba nazywa Home Assistant Core).

W temacie dockera i kontenerów jestem “leszczem”, więc się nie wypowiem :blush:

@szopen dzięki za linka, bardzo ciekawe i wygląda na właściwe rozwiązanie!

kwestie, które mnie niepokoją/ciekawią, może ktoś z grona forumowiczów będzie w stanie wspomóc:

  • punkt montowania → w skrypcie jest:
    # Determine the mount point ENV{mount_point}="/mnt/data/supervisor/media/%E{dir_name}"
    natomiast mam podejrzenie graniczące z pewnością, że folder media właściwy dla mojej instalacji HassOS to /media → zainstalowałem dodatek Terminal, otworzyłem przez przelądarkę i po utworzeniu folderu w katalogu /media widzę go w odtwarzaczu multimediów w HA

  • z jakiego powodu przenoszenie pliku reguły przez pendrive?
    dlaczego nie można utworzyć katalogu /etc/udev/ i tam za pomocą:
    wget https://gist.githubusercontent.com/eklex/c5fac345de5be9d9bc420510617c86b5/raw/d7010307ccee5c904c2a79f345680ffe6c6651bf/80-mount-usb-to-media-by-label.rules
    utworzyć pliku reguły? podejrzewam, że to może mieć związek z tym, że nie znajduję do uruchomienia polecenia udevadm:
    udevadm control --reload-rules
    orientujecie się jak w HassOS przeładować reguły udev?

  1. Jeśli otwierasz terminal z “wnętrza” kontenera, to punkty montowania mają się nijak do sytemu hosta (a przynajmniej tak mi się wydaje).

  2. Nie wiem, ale zapewne przez przeładowanie supervisora, a jeśli to nie zadziała to reboot systemu hosta z pewnością załaduje reguły.

Artykuł z linku działa! :slight_smile:

Aktualizacja: podpiąłem 2 dyski każdy po 5 TB, na każdym pojedyncza partycja z systemem plików ext4.
Host wykrywa te dyski:

[    9.054019] sd 0:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
[    9.054143] sd 0:0:0:0: [sda] 9767475200 512-byte logical blocks: (5.00 TB/4.55 TiB)
[    9.054146] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    9.054389] sd 0:0:0:0: [sda] Write Protect is off
[    9.054392] sd 0:0:0:0: [sda] Mode Sense: 47 00 10 08
[    9.054598] sd 0:0:0:0: [sda] No Caching mode page found
[    9.055865] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    9.159877]  sda: sda1
[    9.162549] sd 0:0:0:0: [sda] Attached SCSI disk
[    9.213783] .ready
[    9.213998] sd 1:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).
[    9.214125] sd 1:0:0:0: [sdb] 9767475200 512-byte logical blocks: (5.00 TB/4.55 TiB)
[    9.214128] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[    9.214345] sd 1:0:0:0: [sdb] Write Protect is off
[    9.214348] sd 1:0:0:0: [sdb] Mode Sense: 47 00 10 08
[    9.214553] sd 1:0:0:0: [sdb] No Caching mode page found
[    9.215828] sd 1:0:0:0: [sdb] Assuming drive cache: write through
[    9.328035]  sdb: sdb1
[    9.329030] sd 1:0:0:0: [sdb] Attached SCSI disk

Niemniej dyski nie montują się. Powinny być widoczne w katalogu /media (do HA mam również podłączony malutki pendrive nazwany MINI):

Z tego, co rozumiem wynika to z wielkości dysku, ponieważ Linux używa 10 bajtów dla obsługi większości dysków twardych, a dla większych może przejść na blok 16 bajtów:
[6tb disk: Very big device. Trying to use READ CAPACITY(16). - General - openmediavault]

Macie może jakieś podpowiedzi lub pomysły, czy można coś zrobić z tym tematem?