LINUX.ORG.RU

В ReactOS обеспечена возможность загрузки с Btrfs

 , , , ,


1

5

Разработчики свободной операционной системы ReactOS, нацеленной на обеспечение совместимости с программами и драйверами Microsoft Windows, сообщили о внедрении возможности загрузки с дискового раздела с файловой системой Btrfs. Поддержка монтирования разделов Btrfs в ReactOS ОС на базе свободного драйвера WinBtrfs была добавлена ещё год назад. Однако, теперь был создан загрузочный сектор для раздела с BTRFS и мини-драйвер для загрузчика FreeLoader, позволяющий в read-only режиме читать файлы с раздела BTRFS.

Внедрение поддержки установки и загрузки ReactOS с BTRFS ведет Виктор Переверткин в рамках программы Google Summer of Code 2018.

Потребовалось решения ряда всплывших в процессе разработки сложностей:

  • обход ошибки в VirtualBox, мешавшей загрузке. Как выяснилось, в реализации прерывания INT 13h AH=42h есть какие-то проблемы, из-за которых эта функция не может читать более 8 секторов за раз.
  • В драйвере WinBtrfs закрался баг, связанный с обработкой масок, начинающихся на звездочку. Winsxs часто использует функцию NtQueryDirectoryFile для поиска манифестов по маске, что приводило к ошибке и прерыванию процесса запуска.

После преодоления указанных сложностей загрузка ReactOS с использованием Btrfs смогла работать относительно стабильно.

Оставшееся время в рамках GSOC 2018 Виктор планирует потратить на решение других проблем в драйвере для Btrfs, таких как:

  • использование файла подкачки на Btrfs-разделах,
  • утечки памяти при некоторых операциях записи (до сих пор не удаётся установить Git на раздел с Btrfs)
  • падение системы в процессе завершения работы.

Слияние наработок по BTRFS в рамках GSOC 2018 с основной веткой проекта должно предположительно произойти во время очередного ежегодного ReactOS-хакфеста в августе 2018. В дальнейшем, проект планирует перейти с FAT на BTRFS, как на основную файловую систему, до момента пока не будет доработан драйвер для NTFS. Включение загрузки с BTRFS внесено в предварительный план ближайшего релиза ReactOS под номером 0.4.10

Проект заинтересован в переходе на именно BTRFS из-за того, что WinBtrfs является наиболее продвинутым свободным драйвером альтернативной FS под Windows, возможностей FAT уже начинает не хватать, а собственный свободный драйвер NTFS еще не готов.
Кроме BTRFS ReactOS также поддерживает несколько других файловых систем:

  1. только «на чтение» - NTFS, ReiserFS, FFS/UFS, UDFS, CDFS;
  2. на «чтение-запись» - FAT12/16/32, Ext2/3/4, и NFS

>>> еженедельный блог-пост студента GSOC 2018

Jedi-to-be короч, я попытался поставить последнюю ночнушку. Т.к. я люблю всё необычное, то загрузился в пожарку, пробросил свой жесткий в qemu, поставил реактось. Гружусь в неё. На этапе установки оборудования отвалились мышь и клавиатура. Ребутнулся, реактось ребутает комп после надписи «loading system hive».

Я пытался.

ozz_is_here ()
Ответ на: комментарий от ozz_is_here

Это было реальное оборудование? Можно попробовать при установки выбрать Non ACPI-kernel и\или в BIOS пошаманить режим эмуляции USB.

И опять же, если есть звуковая карта, то попробовать ее полностью отключить.

Jedi-to-be ★★★ ()
Ответ на: комментарий от Jedi-to-be

Это было реальное оборудование?

Да.

Можно попробовать при установки выбрать Non ACPI-kernel и\или в BIOS пошаманить режим эмуляции USB.

Ок, попробую.

Вероятно, жесткой перезагрузкой ты повредил реестр.

Возможно.

ozz_is_here ()
Ответ на: комментарий от Shaman007

Только у Редхата. И в новости все объяснено, зачем именно BTRFS и почему.

Потому, что есть хороший опенсорсный драйвер под винду и потому что BTRFS многократно лучше, чем FAT

Jedi-to-be ★★★ ()
Последнее исправление: Jedi-to-be (всего исправлений: 1)
Ответ на: комментарий от loz

Оно правда кому-то нужно?

Нужно. Не всем. Пока не для массового использования.

Проект активно развивается. Вот уже и до Btrfs добрались.

По мере добавления функционала в систему, увеличивается численность тех, кому нужно и интересно.

anonymous ()
Ответ на: комментарий от anonymous

По мере добавления функционала в систему, увеличивается численность тех, кому нужно и интересно.

В аудитории 2 студента. 3 выходят. Лектор: «ну вот, сейчас 1 войдет, никого не останется».

Shaman007 ★★★★★ ()
Ответ на: комментарий от Odalist

Её пока и в ночнушках-то нет. Вот совсем недавно 32-разрядные сборки стабилизировались так, что стало возможно поставить на реактос что-то крупное.

Потыкаем — увидим. Я бы на месте Джедая никаких конкретных сроков не обещал.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от Shaman007

Никогда

Никогда не говори никогда, балда )))

Шамаич ляпнул, не подумав, как всегда.

Джедай уже показывал скрины рабочего стола 64-битной сборки.

anonymous ()

только «на чтение» - NTFS

Не, я балдею!
Поддержку NTFS никак не запилят, а играются с какими-то прыще-ФС. Это вы клон WinNT пилите, или где?
Серьёзно, присобачьте хоть тот же ntfs-3g как-нибудь

TheAnonymous ★★★★★ ()
Ответ на: комментарий от TheAnonymous

только «на чтение» - NTFS

Не, я балдею!
Поддержку NTFS никак не запилят, а играются с какими-то прыще-ФС. Это вы клон WinNT пилите, или где?
Серьёзно, присобачьте хоть тот же ntfs-3g как-нибудь

ntfs-3g в ReactOS не прикручивается. Когда делали поддержку NTFS про длрайвер ntfs-3g знали, его изучали, но он мало чем помог.

NTFS в ReactOS на запись уже работает, но отключено в реестре. Включить можно, но не рекомендуется, так-как нет окончательной готовности. NTFS - закрытая файловая система (чёрный ящик) и сделать драйвер для неё не так просто, но работы ведутся.

Включение на запись NTFS в ReactOS (не рекомендуется):

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ntfs]
«MyDataDoesNotMatterSoEnableExperimentalWriteSupportForEveryNTFSVolume»=dword:00000001

Драйвер BTRFS имеет открытую реализацию для Windows. Файловая система BTRFS проверена и достаточно надёжна.

anonymous ()
Ответ на: комментарий от Odalist

Так когда?



Работа идет. Как только возможность такая появится, сразу будет новость на ЛОРе.


Можно следить за этими плулл-реквестами:
https://github.com/reactos/reactos/pull/673
https://github.com/reactos/reactos/pull/672
https://github.com/reactos/reactos/pull/361

Jedi-to-be ★★★ ()
Ответ на: комментарий от TheAnonymous

Поддержку NTFS никак не запилят,



NTFS не обязательна для использования большинства программ и драйверов от платформы Windows.

А для BTRFS есть уже готовый драйвер.

Jedi-to-be ★★★ ()
Ответ на: комментарий от Jedi-to-be

NTFS не обязательна для использования большинства программ и драйверов от платформы Windows.
А для BTRFS есть уже готовый драйвер.

Назови хоть одну виндовую программу, требующую BTRFS?

anonymous ()
Ответ на: комментарий от Jedi-to-be

Однако, на NTFS завязаны права доступа в ШинНТ, ещё с NT3.1.
А ещё ADS, не то чтобы это было что-то нужное, но может какие наркоманы пользуются.

К слову, раз уж речь про права, а юниксовые пермишены как-то поддерживаются, используются по назначению?

TheAnonymous ★★★★★ ()
Ответ на: комментарий от anonymous

Когда делали поддержку NTFS про длрайвер ntfs-3g знали, его изучали, но он мало чем помог.

Вот это «мало чем помог» несколько пугает, если честно. Да, тупо взять и использовать код оттуда нельзя. Слишком разные API. Но он вполне может помочь в части «изучения чёрного ящика», моделирования. По крайней мере, если драйвер в ReactOS будет работать так же хорошо, как NTFS-3g, это уже огромное достижение.

hobbit ★★★★★ ()