Seite 1 von 1

exFAT

Verfasst: Do 31. Jan 2019, 17:28
von harold9999
moin.

wird aktuell exFAT unterstützt?

so denn.

Re: exFAT

Verfasst: Do 31. Jan 2019, 18:52
von mirz
wenn ich mich recht erinnere, hätte ich auf meiner Synology dieses Paket kaufen müssen, um es zu nutzen.
Da gibt's wohl lizenzrechtliche Stolpersteine. Ich denke, daher ist es auch nicht im Image enthalten.

Re: exFAT

Verfasst: Do 31. Jan 2019, 19:15
von Miky
Im alten Releaseimage müsste es drin sein, aktuell nicht.

wie sieht mit diesem source aus?

Verfasst: Do 31. Jan 2019, 19:37
von harold9999

Re: exFAT

Verfasst: Fr 1. Feb 2019, 02:19
von flk
Ich habe erst kürzlich Tests mit den Windows Dateisystemen gemacht. Dabei habe ich festgestellt, dass sich exfat im Vergleich zu ext4 ziemlich wacker geschlagen hat. NTFS reicht zwar aus, um 1-2 Sendungen gleichzeitig aufzunehmen, allerdings bleibt da wenig Puffer ... eher nicht zu empfehlen.

Beide Dateisysteme haben das Problem, dass sie lizenzbehaftet sind und in keinem legalen Image vorinstalliert sein dürfen.

Bei dem Test ist dieser Patch entstanden. Ohne den lässt Neutrino solche "bösen" Dateisysteme gar nicht zu. Außerdem wird die harte Kodierung der Dateisystem Tools entfernt:

Code: Alles auswählen

From 470f776c692056c6484d469b54e154181b485117 Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Fri, 1 Feb 2019 15:04:29 +0100
Subject: [PATCH] hdd_menu.cpp: allow fuse filesystems; avoid hardcoded paths

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 src/gui/hdd_menu.cpp | 31 +++++++++++++++++++++++++------
 1 file changed, 25 insertions(+), 6 deletions(-)

diff --git a/src/gui/hdd_menu.cpp b/src/gui/hdd_menu.cpp
index a99069a..42658b7 100644
--- a/src/gui/hdd_menu.cpp
+++ b/src/gui/hdd_menu.cpp
@@ -88,14 +88,31 @@ const CMenuOptionChooser::keyval HDD_SLEEP_OPTIONS[HDD_SLEEP_OPTION_COUNT] =
        { 242, LOCALE_HDD_60MIN }
 };
 
+std::string fsckext4   = find_executable("fsck.ext4");
+std::string mkfsext4   = find_executable("mkfs.ext4");
+std::string fsckext3   = find_executable("fsck.ext3");
+std::string mkfsext3   = find_executable("mkfs.ext3");
+std::string fsckext2   = find_executable("fsck.ext2");
+std::string mkfsext2   = find_executable("mkfs.ext2");
+std::string fsckvfat   = find_executable("fsck.vfat");
+std::string mkfsvfat   = find_executable("mkfs.vfat");
+std::string exfatfsck  = find_executable("exfatfsck");
+std::string mkfsexfat  = find_executable("mkfs.exfat");
+std::string ntfsfix    = find_executable("ntfsfix");
+std::string mkfsntfs   = find_executable("mkfs.ntfs");
+std::string xfsrepair  = find_executable("xfs_repair");
+std::string mkfsxfs    = find_executable("mkfs.xfs");
+
 devtool_s CHDDMenuHandler::devtools[] = {
-       { "ext4",  "/sbin/fsck.ext4",  "-C 1 -f -y", "/sbin/mkfs.ext4",  "-m 0", false, false },
-       { "ext3",  "/sbin/fsck.ext3",  "-C 1 -f -y", "/sbin/mkfs.ext3",  "-m 0", false, false },
-       { "ext2",  "/sbin/fsck.ext2",  "-C 1 -f -y", "/sbin/mkfs.ext2",  "-m 0", false, false },
-       { "vfat",  "/sbin/fsck.vfat",  "-a",         "/sbin/mkfs.vfat",  "",    false, false },
-       { "exfat", "/sbin/fsck.exfat", "",           "/sbin/mkfs.exfat", "",    false, false },
-       { "xfs",   "/sbin/xfs_repair", "",           "/sbin/mkfs.xfs",   "-f",  false, false },
+       { "ext4",       fsckext4,       "-C 1 -f -y",   mkfsext4,       "-m 0", false, false },
+       { "ext3",       fsckext3,       "-C 1 -f -y",   mkfsext3,       "-m 0", false, false },
+       { "ext2",       fsckext2,       "-C 1 -f -y",   mkfsext2,       "-m 0", false, false },
+       { "vfat",       fsckvfat,       "-a",           mkfsvfat,       "",     false, false },
+       { "exfat",      exfatfsck,      "",             mkfsexfat,      "",     false, false },
+       { "ntfs",       ntfsfix,        "-b -d",        mkfsntfs,       "-f",   false, false },
+       { "xfs",        xfsrepair,      "",             mkfsxfs,        "-f",   false, false },
 };
+
 #define FS_MAX (sizeof(CHDDMenuHandler::devtools)/sizeof(devtool_s))
 
 static int my_filter(const struct dirent * dent)
@@ -274,11 +291,13 @@ void CHDDMenuHandler::check_kernel_fs()
 void CHDDMenuHandler::check_dev_tools()
 {
        for (unsigned i = 0; i < FS_MAX; i++) {
+#if 0
                if (kernel_fs_list.find(devtools[i].fmt) == kernel_fs_list.end()) {
                        printf("%s: filesystem '%s' not supported by kernel\n",
                                __func__, devtools[i].fmt.c_str());
                        continue;
                }
+#endif
                if (!access(devtools[i].fsck.c_str(), X_OK))
                        devtools[i].fsck_supported = true;
                if (!access(devtools[i].mkfs.c_str(), X_OK))
-- 
2.1.4


Re: exFAT

Verfasst: Fr 1. Feb 2019, 14:31
von harold9999
der von mir verlinkte exfat treiber unterligt der GPLv2.
sollte also kein problem sein.

Re: exFAT

Verfasst: Fr 1. Feb 2019, 14:37
von flk
Der von dir verlnkte Treiber ist für Android. Das ist nicht die heimische Umgebung für kleine Neutrinos ;)

Außerdem geht es meinem Verständnis nach darum, dass man als Hersteller Lizenzgebühren an Microsoft zahlen müsste, sobald man die Funktionalität "exfat" bereitstellt. Das ist jetzt primär eine politische Frage, denn solange Neutrino Images nicht gewerblich genutzt werden, wird sich da vermutlich niemand dran hin hängen.

edit: Habe den Source nochmal angeschaut. Der ist scheinbar tatsächlich für Linux und wurde nur von Android portiert. Das ändert aber grundsätzlich nichts am Problem. Der fuse/exfat Treiber von Relan ist ja auch gpl-2.0 lizensiert und der funktioniert ja

Re: exFAT

Verfasst: Fr 1. Feb 2019, 22:12
von harold9999
ich hätte gemeint es sei einfacher exfat ohne fuse in das image einzubinden.

Re: exFAT

Verfasst: Sa 2. Feb 2019, 11:48
von Don de Deckelwech
Hi,
exfat war/ist schon enthalten, die Tools dafür sind auch noch im Image drin, sie lassen sich nur nicht nutzen siehe Posting #5 von flk:
Ohne den lässt Neutrino solche "bösen" Dateisysteme gar nicht zu.
Ciao,
DdD.

Re: exFAT

Verfasst: So 21. Jul 2019, 04:34
von flk
Langsam kommt Bewegung in die Sache:

https://www.pro-linux.de/news/1/27246/e ... ernel.html

Das Ergebnis bleibt aber noch abzuwarten

Re: exFAT

Verfasst: Fr 30. Aug 2019, 15:55
von flk

Re: exFAT

Verfasst: So 1. Sep 2019, 22:46
von Don de Deckelwech
Hi,
das sind natürlich prinzipiell gute Nachrichten, aber ob uns das in unserer kleinen Cooolstream-Welt hilft? Die Kernelpatches müssten doch dann backportiert werden, oder verstehe ich das falsch?

Ciao,
DdD.

Re: exFAT

Verfasst: So 1. Sep 2019, 23:06
von flk
Stimmt schon. Ohne Backport hilft das erst bei zukünftigen Geräten. Aber wie gesagt funktioniert auch Relans fuse exfat Treiber ziemlich gut. Ich hatte den eine ganze Weile im Dauertest und kann exfat nicht als unstabil bezeichnen.

Neu ist halt, dass man auf der sicheren Seite ist, falls man als Imagebauer exfat anbietet

Re: exFAT

Verfasst: So 1. Sep 2019, 23:09
von Don de Deckelwech
Hi,
Neu ist halt, dass man auf der sicheren Seite ist,
hehe, als ob da nicht sowieso mit nem halben Bein im Knast steht... lol.
edit: ok, "Knast" war jetzt zuviel des Guten (in diesem Falle des "Bösen"), mir ging es um den möglichen Mischmasch der verschiedenen OS-Lizenzen, keine Ahnung, ob das überhaupt noch jemand in Gänze im Blick hat...

Ciao,
DdD.

Re: exFAT

Verfasst: So 1. Sep 2019, 23:23
von flk
Besser als mit einem ganzen ;)

Re: exFAT

Verfasst: So 1. Sep 2019, 23:26
von Don de Deckelwech
Hi,
naja, wie heisst es so schön: "auf einem Bein kann man ja nicht stehen"... :D

Ciao,
DdD.

Re: exFAT

Verfasst: So 1. Sep 2019, 23:51
von flk
Don de Deckelwech hat geschrieben: edit: ok, "Knast" war jetzt zuviel des Guten (in diesem Falle des "Bösen"), mir ging es um den möglichen Mischmasch der verschiedenen OS-Lizenzen, keine Ahnung, ob das überhaupt noch jemand in Gänze im Blick hat...
Das ist ein anderes Thema. Aber die Dinge, die einen teuer zu stehen kommen könnten, sollte man schon kennen.