Dualboot mit CoreELEC (eMMC) und Lakka (SD) auf dem C2

  • 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

  • [...] 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:

    Ich habe zwar keinen C2 und nutze auch kein Lakka, aber nach meinen eigenen "Poor man's multiboot"- Erfahrungen mit Rpi und Rock64 solltest Du sicherstellen, das es im gesamten System keine zwei Partitionen mit dem gleichen Partitions-Label gibt. Wenn man mehrere vorgefertigte Images installiert, kann das leicht vorkommen. Viele Installationen wählen Boot- und Rootpartition nach dem Label aus, und wenn mehrere gleichnamige zur Auswahl stehen, wird garantiert die falsche gemountet. Nicht vergessen: nach dem Umbenennen auch fstab, extlinux.conf, oder wie immer Deine Init-Dateien heißen, entsprechend anpassen.

  • @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.

    Einmal editiert, zuletzt von steff (8. Juli 2018 um 11:49) aus folgendem Grund: zusätzliche Erklärung wg. Verzeichnissen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!