Beiträge von steff

    Ja, da du den Namen eh schon gesetzt hattest, kannst du den auch in der [definition=11,0][definition='2','0']as.xml[/definition][/definition] lassen. Einen benutzerdefinierten Namen ist wohl dafür vorgesehen, um mit mehreren Clienten unterschiedliche Bibliotheken mit nur einem MySQL- Server zu ermöglichen. Ansonsten nimmt er halt den Standardnamen.

    Innerhalb der Sub-Versionen kann natürlich auch ein Wechsel der Datenbank-Version seitens der Entwickler vorkommen. Am besten hältst du die Kodi-Installationen auf deinen jeweiligen Clienten möglichst auf einem gleichen Stand. Dann sollte es schon passen

    Hallo,

    bei Kodi werden mit manchen Updates Änderungen an der Datenbank eingeführt. Dadurch ändert sich deren Version, die einfach als fortlaufende Zahl hinter den Datenbanknamen angehangen wird. Beim ersten Start mit einer jeweils neuen Version migriert Kodi dann die Daten in die neue Datenbank, z.B. von MyVideos114 nach MyVideos116. Einen Namen für die Datenbank muss man nicht zwangsläufig in der [definition='2','1']advancedsettings[/definition].xml angeben, dann nimmt Kodi einfach 'MyVideos' + Versionsnummer.


    Die jeweils gleiche sources.xml habe ich auch bei jedem meiner Kodis in den Userdata-Ordner kopiert.

    Bei den Kodis ist es wichtig, dass alle die gleiche Versionen bei der Videodatenbank benutzen (und/oder Musikdatenbank). Du siehst z.B. im [definition=9,3]Kodi.[definition='1','0']log[/definition][/definition], welche Version verwendet wird:

    Code
    NOTICE: MYSQL: Connected to version 10.3.7-MariaDB
    NOTICE: Running database version MyMusic72
    NOTICE: Running database version MyVideos116

    Wenn die Kodi-Versionen zeitlich weiter auseinander liegen, ist es unwahrscheinlich, dass sie noch die gleichen Datenbank-Versionen benutzen. Z.B. Kodi 17 und 18.

    Vermutlich wird man dir hier erfahrungsgemäß auch raten, stattdessen Emby zu verwenden, um die Versionsproblematik zu umgehen. Für mich ist die MySQL-Variante aber nach wie vor eine gut funktionierende Lösung, die ich beibehalten werde, solange sie von Kodi selbst als empfohlener Weg genannt wird.

    Moin,
    da die Kodi-App ja seit längerem den Paket-Installer nicht mehr öffnet, hatte ich mir mit Tasker eine kleine Apk gebastelt, die mir die letzte Nightly herunterlädt und dann die mit Apk-Dateien verknüpfte App öffnet, üblicherweise also den Android Paket-Installer.

    Das ganze mit so wenig Klicks, wie nötig.

    [xattach=32521]Android TV Launcher[/xattach]

    Vorgang nach dem Starten:

    1. Online prüfen, welches die aktuellste Nightly-Version ist
    2. Downloadverzeichnis überprüfen, ob dort schon eine Datei mit dem ermittelten Namen liegt
    3. Wenn nein, herunterladen der letzten Nightly
    4. Wenn ja, wird die MD5 Checksumme der apk überprüft
    5. Stimmt sie nicht mit der online abgerufenen MD5 überein, wird die Datei gelöscht und erneut heruntergeladen
    6. Bei Übereinstimmung der MD5 der heruntergeladenen Apk wird diese geöffnet. In der Regel ist der Android Paket-Installer mit Apk-Dateien verknüpft, womit man dann die Nightly mit einem Bestätigungsklick installieren kann

    Beim ersten Mal muss man der App genehmigen, dass sie Apk-Dateien installieren darf.
    Zusätzlich habe ich noch einen Launcher für die Android TV Oberfläche der Shield erstellt, womit man die App also direkt von der Startseite aufrufen kann. Es gibt keine Dialoge, wo man was auswählen kann und es sind keine Einstellungsmöglichkeiten vorgesehen. Es wird immer nur die letzte Nightly arm64-v8a heruntergeladen.

    Ich hänge die Apps mal hier mit in ner Zip an, falls das jemand braucht.

    Danke für die Info
    Ich nutze auch MariaDB auf einer Diskstation für die Datenbank. Bisher sind mir bei Kodi auf Windows und Android noch keine Probleme aufgefallen. Meine Bibliothek ist aber auch nicht so groß.

    Ja, ich bin auch zufrieden mit dem System auf dem C2. Vielen Dank!

    Zurzeit benutzten die Nightlies jedoch noch die Datenbank "MyVideos113" während bei meinem Windows und der Shield schon vor mehreren Tagen auf "MyVideos114" migriert wurde. Ich denke, dass sich das Problemchen mit den nächsten Updates erledigt und meine Clients dann wieder auf dem selben Stand sind.

    Bash
    curl -i -X POST -d "{\"jsonrpc\": \"2.0\", \"method\": \"VideoLibrary.Export\", \"params\": {\"options\": {\"overwrite\": true, \"actorthumbs\":true, \"images\":true } }, \"id\": 1 }" -H "content-type:application/json" http://name:pw@192.168.178.99:8080/jsonrpc > NUL 2>&1

    Das habe ich bei mir gerade ausprobiert und es funktionierte. Bei @SkyBird1980 fehlte nur ein Escape vorm Anführungszeichen bei params.

    Hallo,

    bei meiner Uno 4k mache ich das auch so, wie 'hylli' das mit der m3u Liste und dem PVR IPTV Addon beschreibt. EPG nehme ich von hier:
    Rytec-Alternative | EPG XMLTV-Dateien zum Download für IPTV-Nutzer

    So kann ich in der m3u nebenher auch noch IPTV-Sender hinzufügen, die unabhängig von dem Uno 4k laufen, falls dieser im Deepstandby ist.

    Vor dem VU+ hatte ich einen UFS-913. Der hatte eigentlich auch eine sehr gute Hersteller-Firmware, jedoch hat Kodi sich immer geweigert, die Streams von dieser anzunehmen. Ich habe dann auf dem 913 auch Tittanit und Neutrino getestet. Damit sind dann auch die Streams in Kodi gelaufen. Aber sonst hatten die Firmwares so ein paar Dinge, die ich bei der Kathrein-Firmware als besser gelöst empfand. Nur damit konnte ich im Unicable-Betrieb beide Tuner vollwertig und völlig unabhängig voneinander benutzen, wenn diese per Loopthrough miteinander verbunden waren.

    Ansonsten hätte mir das Neutrino ganz gut gefallen. Aber jetzt bin ich zufriedener VU+ Vti Nutzer. Nur einige von deren Forum könnten sich bezüglich des Umgangstons untereinander von diesem Forum eine Scheibe abschneiden. Da geht es zuweilen recht rau zu.

    Ich bin mit MySQL zufrieden.

    Werden bei dir nur die Bilder an sich nicht angezeigt oder gibt es komplett keine Einträge der Filme? Benutzt du zufällig die letzten Leia Nightlies? Ich sehe zwar in deinem Profil, dass du dort Version 17.6 schreibst, aber evt. ist das ja nicht mehr aktuell.

    Ich hatte vor ein paar Tagen auch ein Problem mit dem Anzeigen der Einträge der VideoDB. Sh. hier: Milhouse Testbuilds (Kodi 18/LibreELEC 9) - Erfahrungen, Probleme, Fragen

    Die Entwickler hatten eingeschränkt, die sources.xml per path-substitution auf einem anderen Speicherort liegen zu haben. Dadurch war nach dem Starten von Kodi kein Film und keine Serie mehr sichtbar.

    MySQL benutze ich auch mit MariaDB10 Port 3307 auf einer Diskstation. Ich kann ich noch folgenden Tipp bezüglich der letzten Kodi Dev-Builds beisteuern, auch wenn es nichts direkt mit der gemeinsamen SQL Datenbank zu tun hat:

    Nach einem Update auf einen der Builds aus den ca. letzten 2 Wochen wurde ich nach dem Starten von Kodi mit einer leeren Film- und Serienbibliothek begrüßt. Wenn ich dann wieder auf einen älteren Build zurück bin, war alles wieder da.

    Mein Problem war, dass ich die sources.xml in der [definition='2','1']advancedsettings[/definition].xml per path substitution auf ein Netzlaufwerk meiner Diskstation umgebogen hatte. Das hatte so bisher auch immer funktioniert. Nun haben die Entwickler scheinbar diese Möglichkeit deaktiviert. Ich finde jetzt den Link nicht mehr, aber wenn ich es richtig verstanden habe, betrifft es nur kennwortgeschützte Netzlaufwerke.

    Nachdem ich nun bei meinen 3 Kodi Clients jeweils eine eigene sources.xml in deren Userverzeichnis gelegt habe und den Eintrag aus der [definition='2','1']advancedsettings[/definition].xml entfernt habe, werden bei mir auch wieder bei aktuellen Builds die Filme und Serien angezeigt.

    Bezüglich dem Dualshock 3 als Gamepad: Gehe ich recht in der Annahme das eine vollständige Unterstützung nur mit neuerem Kernel oder Treibern funktioniert?

    Was bei mir nicht funktioniert, ist die Vibration und der LED Verbindungsstatus. Getestestet habe ich das nebenbei auch mit Lakka, welches ich auch auf dem Odroid C2 habe. Beim Raspberry Pi 3 wurden diese Dinge vollständig unterstützt. Oder liegt es an meiner Konfiguration?

    @LeoD Erst mal herzlichen Dank für deine Antwort! :thumbup:

    Ich habe jetzt schon mal die beiden boot.ini soweit abgeändert, dass nach einem Tausch das jeweils andere System bootet.
    Dazu habe ich auf dem eMMC im Verzeichnis /flash, wo der Kernel und die dtb Datei liegen, ein Unterverzeichnis "multiboot" erstellt. Darin habe ich von beiden System Kernel und dtb hineinkopiert:

    • /flash/multiboot/KERNEL.elec
    • /flash/multiboot/KERNEL.lakka
    • /flash/multiboot/meson64_odroidc2.dtb.elec
    • /flash/multiboot/meson64_odroidc2.dtb.lakka

    Nun habe ich die boot.ini Dateien entsprechend angepasst. Meine Anpassungen sind im Spoiler farblich hervorgehoben.

    • /flash/boot.ini.elec
    Spoiler anzeigen

    #------------------------------------------------------------------------------------------------------
    #
    # boot.ini
    #
    # WARNING DO NOT MODIFY THIS FILE! ALL CHANGES WILL BE LOST WITH THE NEXT UPDATE!
    # Set your own settings in config.ini
    #
    #------------------------------------------------------------------------------------------------------
    ODROIDC2-UBOOT-CONFIG

    setenv bootrootfs "BOOT_IMAGE=/multiboot/KERNEL.elec boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2"
    setenv condev "ttyS0,115200"
    setenv hdmimode "1080p60hz"
    setenv hdmioutput "1"
    setenv vpu "1"
    setenv libreelec "quiet"
    setenv hdmi_cec "1"
    setenv maxcpus "4"
    setenv max_freq "1536"
    setenv rtc_shield "0"

    setenv kernel_addr 0x11000000
    setenv dtb_addr 0x1000000
    setenv uenv_addr 0x13000000
    fatload mmc 0:1 ${kernel_addr} multiboot/KERNEL.elec
    fatload mmc 0:1 ${dtb_addr} multiboot/meson64_odroidc2.dtb.elec
    if fatload mmc 0:1 ${uenv_addr} config.ini; then env import -t ${uenv_addr} $filesize; fi

    fdt addr ${dtb_addr}
    fdt resize

    setenv odroidp1 "no_console_suspend logo=osd1,loaded,0x3f800000,${hdmimode} vout=${hdmimode},enable hdmimode=${hdmimode} cvbsmode=nocvbs"
    setenv odroidp2 "mac=${ethaddr} consoleblank=0 max_freq=${max_freq} maxcpus=${maxcpus}"
    setenv odroid "${odroidp1} ${odroidp2}"

    if test "${hdmi_cec}" = "1"; then setenv cec "hdmitx=cec17"; fi
    if test "${vpu}" = "0"; then fdt rm /mesonstream; fdt rm /vdec; fdt rm /ppmgr; fi
    if test "${hdmioutput}" = "0"; then fdt rm /mesonfb; fi
    if test "${rtc_shield}" = "0"; then fdt set "/i2c@c1108500/pcf8563@51" status disabled; fi

    setenv bootargs "console=${condev} ${bootrootfs} ${odroid} ${cec} ${libreelec} "

    booti ${kernel_addr} - ${dtb_addr}

    • /flash/boot.ini.lakka
    Spoiler anzeigen

    #------------------------------------------------------------------------------------------------------
    #
    # boot.ini identification
    #
    #------------------------------------------------------------------------------------------------------
    ODROIDC2-UBOOT-CONFIG

    #------------------------------------------------------------------------------------------------------
    #
    # Boot Specific Stuff
    #
    #------------------------------------------------------------------------------------------------------
    setenv bootrootfs "boot=/dev/mmcblk1p1 disk=/dev/mmcblk1p2"

    #------------------------------------------------------------------------------------------------------
    #
    # Console Setup
    # setenv condev "console=ttyS0,115200n8" # on serial port
    # setenv condev "console=tty0" # on display (HDMI)
    # setenv condev "console=tty0 console=ttyS0,115200n8" # on both
    #
    #------------------------------------------------------------------------------------------------------
    setenv console "console=tty0"

    #------------------------------------------------------------------------------------------------------
    #
    # Video
    # Setup the video output (default is 1080p60hz)
    # 480 Lines (720x480)
    # setenv hdmimode "480i60hz" # Interlaced 60Hz
    # setenv hdmimode "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz
    # setenv hdmimode "480p60hz" # 480 Progressive 60Hz
    # setenv hdmimode "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz
    # 576 Lines (720x576)
    # setenv hdmimode "576i50hz" # Interlaced 50Hz
    # setenv hdmimode "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz
    # setenv hdmimode "576p50hz" # Progressive 50Hz
    # setenv hdmimode "576p_rpt" # Progressive for Rear Projection Televisions 50Hz
    # 720 Lines (1280x720)
    # setenv hdmimode "720p60hz" # Progressive 60Hz
    # setenv hdmimode "720p50hz" # Progressive 50Hz
    # 1080 Lines (1920x1080)
    # setenv hdmimode "1080i60hz" # Interlaced 60Hz
    # setenv hdmimode "1080p60hz" # Progressive 60Hz
    # setenv hdmimode "1080i50hz" # Interlaced 50Hz
    # setenv hdmimode "1080p50hz" # Progressive 50Hz
    # setenv hdmimode "1080p30hz" # Progressive 30Hz
    # setenv hdmimode "1080p25hz" # Progressive 25Hz
    # setenv hdmimode "1080p24hz" # Progressive 24Hz
    # 4K (3840x2160)
    # setenv hdmimode "2160p60hz" # Progressive 60Hz
    # setenv hdmimode "2160p50hz" # Progressive 50Hz
    # setenv hdmimode "2160p30hz" # Progressive 30Hz
    # setenv hdmimode "2160p25hz" # Progressive 25Hz
    # setenv hdmimode "2160p24hz" # Progressive 24Hz
    # setenv hdmimode "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
    # setenv hdmimode "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
    # 4K2K (4096x2160)
    # setenv hdmimode "smpte60hz" # Progressive 60Hz SMPTE
    # setenv hdmimode "smpte50hz" # Progressive 50Hz SMPTE
    # setenv hdmimode "smpte30hz" # Progressive 30Hz SMPTE
    # setenv hdmimode "smpte25hz" # Progressive 25Hz SMPTE
    # setenv hdmimode "smpte24hz" # Progressive 24Hz SMPTE
    # setenv hdmimode "smpte60hz420" # Progressive 60Hz SMPTE with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
    # setenv hdmimode "smpte50hz420" # Progressive 50Hz SMPTE with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
    #
    # Enable|Disable HDMI (Saves RAM)
    # setenv hdmioutput "0" # Disabled
    # setenv hdmioutput "1" # Enabled
    #
    # Enable|Disable VPU (Saves RAM)
    # setenv vpu "0" # Disabled
    # setenv vpu "1" # Enabled
    #
    #------------------------------------------------------------------------------------------------------
    setenv hdmioutput "1"
    setenv vpu "1"

    #------------------------------------------------------------------------------------------------------
    #
    # LibreELEC variables
    #
    # Setup the LibreELEC options
    # valid values are: textmode [definition=12,2]debugging[/definition] progress nofsck nosplash noram overlay quiet ssh
    #------------------------------------------------------------------------------------------------------
    setenv libreelec "quiet"

    #------------------------------------------------------------------------------------------------------
    #
    # Enable|Disable HDMI CEC Control
    # setenv hdmi_cec "0" # Disabled
    # setenv hdmi_cec "1" # Enabled
    #
    #------------------------------------------------------------------------------------------------------
    setenv hdmi_cec "1"

    #------------------------------------------------------------------------------------------------------
    #
    # CPU Frequency / Cores control
    #
    # WARNING!!! WARNING!!! WARNING!!!
    # Before changing anything here please read the wiki entry:
    # http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq
    #
    # MAX CPU's
    # setenv maxcpus "1"
    # setenv maxcpus "2"
    # setenv maxcpus "3"
    # setenv maxcpus "4"
    #
    # MAX Frequency
    # setenv max_freq "2016" # 2.016GHz
    # setenv max_freq "1944" # 1.944GHz
    # setenv max_freq "1944" # 1.944GHz
    # setenv max_freq "1920" # 1.920GHz
    # setenv max_freq "1896" # 1.896GHz
    # setenv max_freq "1752" # 1.752GHz
    # setenv max_freq "1680" # 1.680GHz
    # setenv max_freq "1656" # 1.656GHz
    # setenv max_freq "1536" # 1.536GHz
    #
    #------------------------------------------------------------------------------------------------------
    setenv maxcpus "4"
    setenv max_freq "1536"

    #------------------------------------------------------------------------------------------------------
    #
    # Odroid C2 specific
    #
    #------------------------------------------------------------------------------------------------------
    setenv odroidp1 "no_console_suspend logo=${logoopt} vout=${outputmode},enable hdmimode=${hdmimode} cvbsmode=nocvbs"
    setenv odroidp2 "mac=${ethaddr} consoleblank=0 max_freq=${max_freq} maxcpus=${maxcpus}"
    setenv odroid "${odroidp1} ${odroidp2}"

    #------------------------------------------------------------------------------------------------------
    #
    # U-Boot bootcmd command
    #
    #------------------------------------------------------------------------------------------------------
    setenv kernel "fatload mmc 0:1 0x11000000 multiboot/KERNEL.lakka"
    setenv dtb "fatload mmc 0:1 0x1000000 multiboot/meson64_odroidc2.dtb.lakka"
    setenv bootseq "booti 0x11000000 - 0x1000000"
    setenv bootcmd "${kernel}; ${dtb}; ${bootseq}"

    #------------------------------------------------------------------------------------------------------
    #
    # Kernel boot
    #
    #------------------------------------------------------------------------------------------------------

    # Prepare to boot
    if test "${hdmi_cec}" = "1"; then setenv cec "hdmitx=cec17"; fi
    if test "${vpu}" = "0"; then fdt rm /mesonstream; fdt rm /vdec; fdt rm /ppmgr; fi
    if test "${hdmioutput}" = "0"; then fdt rm /mesonfb; fi

    # Populate the final bootcmd
    setenv bootargs "${console} ${bootrootfs} ${odroid} ${cec} ${libreelec}"

    # Boot the board
    run bootcmd


    Dazu gesellt sich nocht die Datei /flash/boot.ini, welches jeweils die Kopie von einer der beiden anderen ist, je nachdem, welches System gebootet werden soll.

    Kann man das so machen? Wegen der Labels der Partitionen bin ich mir nicht ganz sicher. Ich gebe deswegen mal die Ausgaben von mount und df von beiden Systemen im nächsten Spoiler an, ob ich mit meinem Weg irgendwelche Komplikationen befürchten müsste.

    • CoreELEC
    Spoiler anzeigen

    CoreELEC:~ # df
    Filesystem 1K-blocks Used Available Use% Mounted on
    devtmpfs 825020 135120 689900 16% /dev
    /dev/mmcblk0p1 524008 178472 345536 34% /flash
    /dev/mmcblk0p2 6878084 749022 6124966 11% /storage
    /dev/loop0 135168 135168 0 100% /
    tmpfs 928988 0 928988 0% /dev/shm
    tmpfs 928988 7508 921480 1% /run
    tmpfs 928988 0 928988 0% /sys/fs/cgroup
    tmpfs 928988 2628 926360 0% /var
    tmpfs 928988 0 928988 0% /tmp
    /dev/mmcblk1p2 14553908 1446 14548366 0% /var/media/LAKKA_DISK
    /dev/mmcblk1p1 524008 337336 186672 64% /var/media/LAKKA

    CoreELEC:~ # mount
    rootfs on / type rootfs (rw,size=825020k,nr_inodes=206255)
    devtmpfs on /dev type devtmpfs (rw,relatime,size=825020k,nr_inodes=206255,mode=755)
    proc on /proc type proc (rw,relatime)
    sysfs on /sys type sysfs (rw,relatime)
    /dev/mmcblk0p1 on /flash type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
    /dev/mmcblk0p2 on /storage type ext4 (rw,noatime,data=ordered)
    /dev/loop0 on / type squashfs (ro,relatime)
    securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
    tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
    devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
    tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
    tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
    cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
    pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
    cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
    cgroup on /sys/fs/cgroup/bfqio type cgroup (rw,nosuid,nodev,noexec,relatime,bfqio)
    cgroup on /sys/fs/cgroup/net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio)
    cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
    cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
    cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
    cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
    cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
    mqueue on /dev/mqueue type mqueue (rw,relatime)
    tmpfs on /var type tmpfs (rw,relatime)
    debugfs on /sys/kernel/[definition=12,0]debug[/definition] type debugfs (rw,relatime)
    tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
    configfs on /sys/kernel/config type configfs (rw,relatime)
    /dev/mmcblk1p2 on /var/media/LAKKA_DISK type ext4 (rw,nosuid,nodev,noexec,noatime,data=ordered)
    /dev/mmcblk1p1 on /var/media/LAKKA type vfat (rw,nosuid,nodev,noexec,noatime,fmask=0133,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)

    • Lakka
    Spoiler anzeigen

    Lakka:~ # df
    Filesystem 1K-blocks Used Available Use% Mounted on
    devtmpfs 826696 321388 505308 39% /dev
    /dev/mmcblk1p1 524008 337336 186672 64% /flash
    /dev/mmcblk1p2 14553908 1458 14548354 0% /storage
    /dev/loop0 321408 321408 0 100% /
    tmpfs 930720 0 930720 0% /dev/shm
    tmpfs 930720 8112 922608 1% /run
    tmpfs 930720 0 930720 0% /sys/fs/cgroup
    tmpfs 930720 1956 928764 0% /var
    tmpfs 930720 0 930720 0% /tmp
    none 14553908 1458 14548354 0% /tmp/shaders
    none 14553908 1458 14548354 0% /tmp/assets
    none 14553908 1458 14548354 0% /tmp/joypads
    none 14553908 1458 14548354 0% /tmp/database
    none 14553908 1458 14548354 0% /tmp/cores
    /dev/mmcblk0p1 524008 178448 345560 34% /storage/roms/COREELEC
    /dev/mmcblk0p2 6878084 749024 6124964 11% /storage/roms/STORAGE

    Lakka:~ # mount
    rootfs on / type rootfs (rw,size=826696k,nr_inodes=206674)
    devtmpfs on /dev type devtmpfs (rw,relatime,size=826696k,nr_inodes=206674,mode=755)
    proc on /proc type proc (rw,relatime)
    sysfs on /sys type sysfs (rw,relatime)
    /dev/mmcblk1p1 on /flash type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
    /dev/mmcblk1p2 on /storage type ext4 (rw,noatime,data=ordered)
    /dev/loop0 on / type squashfs (ro,relatime)
    securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
    tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
    devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
    tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
    tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
    cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
    cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
    cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
    cgroup on /sys/fs/cgroup/net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio)
    cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
    cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
    cgroup on /sys/fs/cgroup/[definition=12,0]debug[/definition] type cgroup (rw,nosuid,nodev,noexec,relatime,[definition=12,0]debug[/definition])
    cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
    cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
    debugfs on /sys/kernel/[definition=12,0]debug[/definition] type debugfs (rw,relatime)
    tmpfs on /var type tmpfs (rw,relatime)
    mqueue on /dev/mqueue type mqueue (rw,relatime)
    tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
    none on /tmp/shaders type overlay (rw,relatime,lowerdir=/usr/share/common-shaders,upperdir=/storage/shaders,workdir=/storage/.tmp/shaders-workdir)
    none on /tmp/assets type overlay (rw,relatime,lowerdir=/usr/share/retroarch-assets,upperdir=/storage/assets,workdir=/storage/.tmp/assets-workdir)
    none on /tmp/joypads type overlay (rw,relatime,lowerdir=/etc/retroarch-joypad-autoconfig,upperdir=/storage/joypads,workdir=/storage/.tmp/joypads-workdir)
    none on /tmp/database type overlay (rw,relatime,lowerdir=/usr/share/libretro-database,upperdir=/storage/database,workdir=/storage/.tmp/database-workdir)
    none on /tmp/cores type overlay (rw,relatime,lowerdir=/usr/lib/libretro,upperdir=/storage/cores,workdir=/storage/.tmp/cores-workdir)
    /dev/mmcblk0p1 on /storage/roms/COREELEC type vfat (rw,nosuid,nodev,noexec,noatime,fmask=0133,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
    /dev/mmcblk0p2 on /storage/roms/STORAGE type ext4 (rw,nosuid,nodev,noexec,noatime,data=ordered)


    Falls das so ok ist, muss ich jeweils noch die Skripte erstellen um in der GUI des laufenden Systems die boot.ini zu switchen. Bei Kodi zumindest sollte es einfach sein. Dann sind Updates evt. auch ein Problem, aber da muss ich noch mal schauen.

    Edit: Das Verzeichnis /flash bezieht sich natürlich darauf, wenn ich mich mit gebootetem CoreELEC (eMMC) per ssh oder sftp verbinde. Dieses Verzeichnis liegt bei einem gebootetem Lakka (SD) in /storage/roms/COREELEC, wo ich dann auch wieder die boot.ini switchen muss, um zurück nach CoreELEC zu booten.

    Hallo,

    ich habe neulich meinen Raspi 3 im Schlafzimmer durch einen Odroid C2 ersetzt. Auf dem Raspi konnte man ja ganz bequem mittels NOOBS Multibootsysteme auf die SD-Karte klatschen.

    Auf dem Odroid C2 gibt es leider nichts vergleichbar einfaches. Es gibt zwar eine Multiboot-Entwicklung hier auf Github Odroid-Multiboot, jedoch wird diese auch schon seit 2 Jahren nicht mehr weiterentwickelt, unterstützt auch nicht direkt Lakka und scheint beim Updaten der einzelnen Systeme dann auch Probleme zu bereiten.

    Was ich interessanter finde, ist diese Boot-Switcher Lösung https://forum.odroid.com/viewtopic.php?f=136&t=20002 , die ich aber auch nicht so ganz umgesetzt bekomme. Ich muss dazu sagen, dass meine Linux-Kenntnisse auch nicht so weit fortgeschritten sind, um alles nachzuvollziehen. Ergänzend zum Thema habe ich bei Lakka.tv, allerdings als Tipp für den XU3/4 noch folgendes gefunden:


    Code
    Using eMMC and SD at the same time
    One of our users installed Lakka on his SD card, and wanted to keep its eMMC plugged. He had to change the dev names in the boot.ini. /dev/mmcblk1p1 instead of /dev/mmcblk0p1, and /dev/mmcblk1p2 instead of /dev/mmcblk0p2

    Was mir vorschwebt, ist dass ich mir bei meinem gewollten Dualboot sowohl in Kodi als auch in Lakka einen Shortcut ins Menü baue, der ein Script startet. Das Skript hat dann die Aufgabe, die passende boot.ini an den richtigen Ort zu kopieren und die jeweils andere umzubenennen. Eigentlich so, wie im obigen verlinkten Beispiel.

    Ich hatte das mal testweise manuell ausprobiert, indem ich die boot.ini von Lakka (SD) in den /flash Ordner der Kodi eMMC kopiert habe. Die Original boot.ini von CoreELEC hatte ich zuvor umbenannt. In der Lakka boot.ini Kopie habe ich dann /dev/mmcblk1p1 und /dev/mmcblk1p2 dahingehend angepasst.

    Leider bootet es so nicht. Daher gehe ich davon aus, dass noch weitere Anpassungen nötig sind. Hier ist übrigens die geänderte Lakka boot.ini, mit der ich getestet habe:

    Spoiler anzeigen

    #------------------------------------------------------------------------------------------------------
    #
    # boot.ini identification
    #
    #------------------------------------------------------------------------------------------------------
    ODROIDC2-UBOOT-CONFIG

    #------------------------------------------------------------------------------------------------------
    #
    # Boot Specific Stuff
    #
    #------------------------------------------------------------------------------------------------------
    setenv bootrootfs "boot=/dev/mmcblk1p1 disk=/dev/mmcblk1p2"

    #------------------------------------------------------------------------------------------------------
    #
    # Console Setup
    # setenv condev "console=ttyS0,115200n8" # on serial port
    # setenv condev "console=tty0" # on display (HDMI)
    # setenv condev "console=tty0 console=ttyS0,115200n8" # on both
    #
    #------------------------------------------------------------------------------------------------------
    setenv console "console=tty0"

    #------------------------------------------------------------------------------------------------------
    #
    # Video
    # Setup the video output (default is 1080p60hz)
    # 480 Lines (720x480)
    # setenv hdmimode "480i60hz" # Interlaced 60Hz
    # setenv hdmimode "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz
    # setenv hdmimode "480p60hz" # 480 Progressive 60Hz
    # setenv hdmimode "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz
    # 576 Lines (720x576)
    # setenv hdmimode "576i50hz" # Interlaced 50Hz
    # setenv hdmimode "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz
    # setenv hdmimode "576p50hz" # Progressive 50Hz
    # setenv hdmimode "576p_rpt" # Progressive for Rear Projection Televisions 50Hz
    # 720 Lines (1280x720)
    # setenv hdmimode "720p60hz" # Progressive 60Hz
    # setenv hdmimode "720p50hz" # Progressive 50Hz
    # 1080 Lines (1920x1080)
    # setenv hdmimode "1080i60hz" # Interlaced 60Hz
    # setenv hdmimode "1080p60hz" # Progressive 60Hz
    # setenv hdmimode "1080i50hz" # Interlaced 50Hz
    # setenv hdmimode "1080p50hz" # Progressive 50Hz
    # setenv hdmimode "1080p30hz" # Progressive 30Hz
    # setenv hdmimode "1080p25hz" # Progressive 25Hz
    # setenv hdmimode "1080p24hz" # Progressive 24Hz
    # 4K (3840x2160)
    # setenv hdmimode "2160p60hz" # Progressive 60Hz
    # setenv hdmimode "2160p50hz" # Progressive 50Hz
    # setenv hdmimode "2160p30hz" # Progressive 30Hz
    # setenv hdmimode "2160p25hz" # Progressive 25Hz
    # setenv hdmimode "2160p24hz" # Progressive 24Hz
    # setenv hdmimode "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
    # setenv hdmimode "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
    # 4K2K (4096x2160)
    # setenv hdmimode "smpte60hz" # Progressive 60Hz SMPTE
    # setenv hdmimode "smpte50hz" # Progressive 50Hz SMPTE
    # setenv hdmimode "smpte30hz" # Progressive 30Hz SMPTE
    # setenv hdmimode "smpte25hz" # Progressive 25Hz SMPTE
    # setenv hdmimode "smpte24hz" # Progressive 24Hz SMPTE
    # setenv hdmimode "smpte60hz420" # Progressive 60Hz SMPTE with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
    # setenv hdmimode "smpte50hz420" # Progressive 50Hz SMPTE with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
    #
    # Enable|Disable HDMI (Saves RAM)
    # setenv hdmioutput "0" # Disabled
    # setenv hdmioutput "1" # Enabled
    #
    # Enable|Disable VPU (Saves RAM)
    # setenv vpu "0" # Disabled
    # setenv vpu "1" # Enabled
    #
    #------------------------------------------------------------------------------------------------------
    setenv hdmioutput "1"
    setenv vpu "1"

    #------------------------------------------------------------------------------------------------------
    #
    # LibreELEC variables
    #
    # Setup the LibreELEC options
    # valid values are: textmode [definition=12,2]debugging[/definition] progress nofsck nosplash noram overlay quiet ssh
    #------------------------------------------------------------------------------------------------------
    setenv libreelec "quiet"

    #------------------------------------------------------------------------------------------------------
    #
    # Enable|Disable HDMI CEC Control
    # setenv hdmi_cec "0" # Disabled
    # setenv hdmi_cec "1" # Enabled
    #
    #------------------------------------------------------------------------------------------------------
    setenv hdmi_cec "1"

    #------------------------------------------------------------------------------------------------------
    #
    # CPU Frequency / Cores control
    #
    # WARNING!!! WARNING!!! WARNING!!!
    # Before changing anything here please read the wiki entry:
    # http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq
    #
    # MAX CPU's
    # setenv maxcpus "1"
    # setenv maxcpus "2"
    # setenv maxcpus "3"
    # setenv maxcpus "4"
    #
    # MAX Frequency
    # setenv max_freq "2016" # 2.016GHz
    # setenv max_freq "1944" # 1.944GHz
    # setenv max_freq "1944" # 1.944GHz
    # setenv max_freq "1920" # 1.920GHz
    # setenv max_freq "1896" # 1.896GHz
    # setenv max_freq "1752" # 1.752GHz
    # setenv max_freq "1680" # 1.680GHz
    # setenv max_freq "1656" # 1.656GHz
    # setenv max_freq "1536" # 1.536GHz
    #
    #------------------------------------------------------------------------------------------------------
    setenv maxcpus "4"
    setenv max_freq "1536"

    #------------------------------------------------------------------------------------------------------
    #
    # Odroid C2 specific
    #
    #------------------------------------------------------------------------------------------------------
    setenv odroidp1 "no_console_suspend logo=${logoopt} vout=${outputmode},enable hdmimode=${hdmimode} cvbsmode=nocvbs"
    setenv odroidp2 "mac=${ethaddr} consoleblank=0 max_freq=${max_freq} maxcpus=${maxcpus}"
    setenv odroid "${odroidp1} ${odroidp2}"

    #------------------------------------------------------------------------------------------------------
    #
    # U-Boot bootcmd command
    #
    #------------------------------------------------------------------------------------------------------
    setenv kernel "fatload mmc 0:1 0x11000000 KERNEL"
    setenv dtb "fatload mmc 0:1 0x1000000 meson64_odroidc2.dtb"
    setenv bootseq "booti 0x11000000 - 0x1000000"
    setenv bootcmd "${kernel}; ${dtb}; ${bootseq}"

    #------------------------------------------------------------------------------------------------------
    #
    # Kernel boot
    #
    #------------------------------------------------------------------------------------------------------

    # Prepare to boot
    if test "${hdmi_cec}" = "1"; then setenv cec "hdmitx=cec17"; fi
    if test "${vpu}" = "0"; then fdt rm /mesonstream; fdt rm /vdec; fdt rm /ppmgr; fi
    if test "${hdmioutput}" = "0"; then fdt rm /mesonfb; fi

    # Populate the final bootcmd
    setenv bootargs "${console} ${bootrootfs} ${odroid} ${cec} ${libreelec}"

    # Boot the board
    run bootcmd

    Eventuell hat ja jemand Lust und Zeit, mir dabei zu helfen, oder vielleicht noch eine simplere Alternative auf Lager.
    Ein Herausnehmen der eMMC kommt für mich nicht in Frage, wenn ich Lakka verwenden will. Jeder der einen Odroid mit eMMC hat, weiß wie pfriemelig das ist, besonders mit Gehäuse ;)

    Gruß und vielen Dank
    Stefan

    Ja, die Box ist mir auch gestern einmal beim LiveTV eingefroren. Ich hatte dem aber nicht soviel Bedeutung zukommen lassen, weil ich dachte, es läge an meinem vielen Herumprobieren.

    Da ich ja gestern erst meinen Odroid C2 bekommen hatte und ich somit auch erst CoreELEC-Neuling bin, weiß ich nicht, inwieweit folgende Auffälligkeiten schon in vorherigen Versionen präsent gewesen sein könnten.

    Es geht um das Netzwerk. Mein Odroid ist mit Kabel, also Ethernet mit meinem Netzwerk verbunden. Es ist so, dass meine Clients im Wohnzimmer (Shield), Büro (Windows) und Schlafzimmer (Odroid) sich eine Datenbank mit SQL von meiner Diskstation teilen, auf der auch die Mediendateien liegen. Dafür sind in der jeweiligen [definition='2','1']advancedsettings[/definition].xml die nötigen Einträge gesetzt. Auch sind dort ein paar Dateien, wie die sources.xml, mediasources.xml usw. per substitute auf einen Ordner der Diskstation gesetzt.

    Das hat auch alles wunderbar funktioniert, auch mit einem Raspi 3 mit LibreELEC, der nun von dem Odroid abgelöst wurde.

    Probleme gab es schon bei der Ersteinrichtung, nachdem ich die vorbereitete [definition='2','1']advancedsettings[/definition].xml in den entsprechenden Ordner des Oroid gelegt hatte. Nach dem Booten waren meine Medien in Kodi nicht vorhanden. Also in das Log geschaut und gesehen, dass dort viele Einträge "Network is unreachable" und "Can't connect to MySQL server" vorhanden waren. In den Einstellungen unter CoreELEC > Network war aber bereits die Option gesetzt, auf das Netzwerk zu warten, bovor Kodi starten soll. Ich habe die Zeit dann von 10 auf 20 Sekunden erhöht, obwohl ich mir das sowieso nicht vorstellen konnte und das ja auch nicht geholfen hat. Bis ich dann nach unzähligen Versuchen darauf gekommen bin unter den Einstellungen in System > Energiesparen noch eine andere Option ist, die das Warten auf das Netzwerk betrifft. Diese war auf "Aus" gesetzt und nachdem ich ihr einen Timeout-Wert 30 Sekunden eingestellt hatte, waren nach einem Reboot auch meine Medien in der Bibliothek.

    Da müsste unbedingt nachgebessert werden, so dass beim Ändern der Option an der einen Stelle entsprechend auch die andere Option gesetzt wird.

    Aber irgendwas stimmt trotzdem noch nicht beim Booten mit der Reihenfolge bezüglich des Netzwerks. Ich habe mich gewundert warum nach einem Reboot immer wieder die gesetzten Quellen im Dateimanager verschwunden waren. Meine sources.xml liegt, wie anfangs erwähnt, per substitute auf einem Netzlaufwerk. Ind der Logdatei sehe ich unmittelbar nach den Einträgen zum Einlesen der [definition='2','1']advancedsettings[/definition].xml folgende Fehlermeldungen:
    23:16:39.958 T:4095939376 ERROR: CCurlFile::Exists - Failed: Couldn't connect to server(7) for dav://USERNAME:PASSWORD@192.168.178.31:5005/kodi/sources.xml
    23:16:39.959 T:4095939376 ERROR: CCurlFile::Exists - Failed: Couldn't connect to server(7) for dav://USERNAME:PASSWORD@192.168.178.31:5005/kodi/RssFeeds.xml
    23:16:39.972 T:4095939376 ERROR: Previous line repeats 1 times.
    23:16:39.973 T:4095939376 ERROR: CCurlFile::FillBuffer - Failed: Couldn't connect to server(7)
    23:16:40.086 T:4095939376 ERROR: Previous line repeats 18 times.

    Ca. 3 Sekunden später im Log dann aber erst die bestätigte Netzwerkverbindung:
    23:16:42.534 T:4096152368 NOTICE: WaitForNet: Waiting for a network interface to come up (Timeout: 30 s)
    23:16:43.337 T:4096152368 NOTICE: WaitForNet: A network interface is up after waiting 800 ms

    Also müsste erstmal auf das Netzwerk gewartet werden, bevor das mit den Substititutes gemacht wird. Durch den Fehler "denkt" Kodi, es wären keine Einträge in der sources.xml vorhanden. Füge ich dann Quellen über Kodi hinzu, überschreibt Kodi die angeblich leere Datei auf dem Netzlaufwerk, welches nach dem Booten ja für Kodi erreichbar ist. Nach einem Neustart geht das Spiel wieder von vorne los. Auf dem Raspi mit LibreELEC hatte ich bezüglich des Netzwerk diese Probleme nicht.

    Als Abhilfe fällt mir momentan nur ein die xml-substitutes aus der [definition='2','1']advancedsettings[/definition].xml des Odroid herauszunehmen, so dass dieser seine eigenen sources/mediasources Dateine im lokalen Userdata-Verzeichnis erstellt.

    @bylderup Ok, das gefällt mir schon besser :)

    Mittlerweile habe ich auch hier im Forum gefunden, wie ich mit der Harmony den Odroid an- und ausschalten kann.Das erweitert schon mal die Möglichkeiten. Ein Interesse besteht natürlich noch immer, ob man mit einem internen Befehl die Power vom HDMI schalten kann. Das dann als Screensaver, wie beim Pi, wäre perfekt.