Корейски предприемач Park Ju Hyung, специализирана в пренасянето на фърмуер на Android за различни устройства, представи нова версия на драйвера за файловата система exFAT:exfat-linux, което е клон на драйвера "sdFAT", разработен от Samsung.
В момента Драйверът на exFAT на Samsung вече е добавен към междинния клон на ядрото от Linux, но се основава на кодовата основа на клона на контролера по-горе (1.2.9). В момента Samsung използва напълно различна версия на драйвера "sdFAT" (2.2.0) в своите смартфони, една от които е разработката на Park Ju Hyung.
В допълнение към преминаването към текущата кодова база, предложеният драйвер exfat-linux се отличава с премахването на специфичните за Samsung модификации, като наличието на код за работа с FAT12 / 16/32 (FS данните се поддържат в Linux от отделни драйвери) и вграден дефрагментатор.
Премахването на тези компоненти ни позволи да направим контролера преносим и да го адаптираме за нормално ядро на Linux, а не само за ядра, използвани във фърмуера на Samsung Android
Току-що разбрах, че тези exfat сценични драйвери са базирани на драйверите exFAT 1.x на Samsung.
Работих по направата на новия драйвер на Samsung (сега наречен "sdFAT") по-подходящ за общите потребители на Linux и мисля, че може да осигури по-добра основа за работата на общността (и се надявам, че по-добре отговаря на кодирането на main линия) стандартен).
В бъдеще, планира се да се поддържа актуализиране на драйвера, прехвърляйки промените от основната кодова база на Samsung и прехвърляйки ги в нови версии на ядрото.
В момента драйверът е тестван при компилиране с ядра, започващи от 3.4 и завършващи с 5.3-rc на платформи x86 (i386), x86_64 (amd64), ARM32 (AArch32) и ARM64 (AArch64).
Авторът на нова версия на драйвера предложи разработчиците на ядрото да обмислят включването на нов драйвер в междинния клон като основа за обикновен драйвер на ядрото exFAT, вместо на наскоро добавената наследствена версия.
Извършените тестове за производителност показаха увеличение на скоростта операции на запис при използване на новия драйвер.
При поставяне на дял на RAM диск: 2173 MB / s срещу 1961 MB / s за последователен вход / изход, 2222 MB / s срещу 2160 MB / s с произволен достъп и при поставяне на дял в NVMe: 1832 MB / s срещу 1678 MB 1885 MB / s спрямо 1827 MB / s.
Скоростта на четене се увеличи в последователния тест за четене на дискове (7042 MB / s срещу 6849 MB / s) и произволно четене на NVMe (26 MB / s срещу 24 MB / s).
Насърчавам основните разработчици да проучат тази база драйвери и да проверят дали си струва промяна, тъй като това са ранните дни на постановка на exfat.
Повече от вероятно можете веднага да започнете да използвате exFAT, като следвате връзката по-горе. Той беше тестван на всички основни LTS ядра, вариращи от 3.4 до 4.19 и тези, които Canonical използва за Ubuntu.
Разработчикът също така работи за опростяване на инсталирането на драйвера. Потребителите на Ubuntu могат да го инсталират от хранилището на PPA, а за останалите дистрибуции просто ще трябва да изтеглите кода и да го компилирате.
Можете също така да изградите контролер с ядрото на Linux, например, когато подготвяте фърмуер за Android.
Как да инсталирам драйвера exfat-linux?
За тези, които се интересуват от възможността да инсталират този драйвер на своите системи, те могат да го направят, като следват инструкциите, които споделяме по-долу.
Както е споменато, Има PPA за тези, които са потребители на Ubuntu и производни на него. За да добавите това хранилище просто отворете терминал (можете да го направите с комбинацията от клавиши Ctrl + Alt + T) и в него ще напишем:
sudo add-apt-repository ppa:arter97/exfat-linux -y sudo apt update
Сега, за да инсталирате драйвера, просто напишете:
sudo apt install exfat-dkms
Докато за тези, които предпочитат да компилират кода, ще трябва само да напишем следното в терминал:
git clone https://github.com/arter97/exfat-linux cd exfat-linux make sudo make install
И накрая, за да проверим дали контролерът работи, ние просто въвеждаме:
sudo modprobe exfat