Вадим Галянт написал драйвер usbser.sys для ReactOS, и теперь (барабанная дробь) появилась возможность программировать платы Arduino в ReactOS. И да, на реальном железе, а не только в Virtual Box.
Ну как... теоретическая возможность на самом деле.
Для программирования скетча Arduino и загрузки прошивки в плату надо было решить три проблемы:
Написать и отладить драйвер usbser.sys, чтобы при подключении платы Arduino в системе появлялся виртуальный comport, через который осуществляется связь платы с ПК.
Подобрать работающий вариант ПО для компиляции скетча и загрузки его в плату Arduino.
Установить ReactOS, драйвера и необходимое ПО на реальное железо.
С установкой ReactOS проблем не было.
Для работы на ноутбук MSI U135DX (Intel Atom N455 1 Гб ОЗУ) была с загрузочной флешки установлена сборка ReactOS 0.4.14 release 0. Сложностей не возникло - в имеющейся инструкции подробно расписаны шаги по установке.
Hidden text
Используйте инструмент Rufus
Выберите в нем свою флешку емкостью не менее 1 гигабайта. Все данные на флешке будут удалены!
Нажмите «Show advanced drive properties»
Выберите тип загрузки: Syslinux 6.x
Схема разделов:MBR, Файловая система:FAT32
Отформатируйте диск, используя указанные выше параметры
Распакуйте в корень флешки содержимое архива по ссылке.
Единственным моментом оказалось то, что этот ноутбук видел только старые флешки размером 2 Gb, а флешку размером 8 Gb не видел и соответственно с нее не грузился.
Спасибо светодиоду на флешке, иначе ступор продолжался бы дольше.

Система установилась без проблем.

Подправленный драйвер usbd.sys был просто переписан, а usbser.sys добавлен в папку c:\reactos\sytem32\drivers
Далее надо было установить драйвера для платы Arduino. Драйвера можно найти в папке drivers Arduino IDE, например C:\arduino-1.8.13\drivers и переписать на флешку.
Для ReactOS надо запускать dpinst-x86.exe.

Иногда установка драйверов через dpinst-x86.exe не срабатывала (все таки React OS еще очень сырая система) и приходилось устанавливать драйвера через Диспетчер устройств React OS.
На плате Arduino Due имеются два порта USB - "Programming port Atmega16U2" и "Native USB Sam3x" и надо было понять под каким именем устройство появляется в диспетчере.
Например Composite USB Device.
Пытаемся установить для него драйвера...

и вуаля...

или не вуаля...

Сырая система, сырая... Но это обычно происходит если вытащить USB кабель и снова воткнуть. USB устройство не отключается корректно.
Как сказал Вадим
"В Реактосе отключение USB глючное
Это косяк в диспетчере PnP ядра
На железе никто не занимается отладкой
Там вообще удаление устройства - целая история
Но в Реактосе всё упрощают максимально
Понять можно - народу мало
Драйвера тоже примитивные зачастую
Да и я вот не все 100% сделал для usbser"
Кроме того сейчас номер порта нужно прописывать в реестре руками.
PortName COM3 например, или любой другой свободный.

Но когда драйвера установились корректно, можно связываться с платой.
Первая проверка была из командной строки. В плату был предварительно прошит скетч, который выводил на TFT дисплей принятую строку.

И правда... на дисплее появилась строка "hello"
Итак, драйвера работают, и можно программировать плату.
Для компиляции и прошивки платы Arduino первоначально предполагалось использовать утилиту командной строки arduino-cli. Но оказалось, что последние версии этой утилиты могут работать только в ОС от Windows 7 и выше.
А ReactOS на данном этапе стремится достичь совместимости с Windows XP (NT5.x). Запускаться под WinXP могут только ранние версии (до arduino-cli 0.05, включительно) и то после некоторого "допиливания" Но, поскольку специалистов в языке GO среди нас не было, добиться успеха с использованием arduino-cli мы не смогли. Хотя это интересная задача и, используя эту утилиту, можно программировать из командной строки или прикрутить arduino-cli к други�� редакторам.
Поэтому оставалась другая очевидная возможность - использовать среду Arduino IDE для программирования скетча и заливки прошивки в плату. Последней из версий Arduino IDE, работающей под Windows XP была v. 1.8.9. Она запустилась под ReactOS, но к сожалению в процессе компиляции возникали ошибки и пришлось использовать версию 1.6.9. Не обошлось без небольшого трюка - пришлось создать папку portable и переписать туда содержимое папки arduino15
(C:\Users\MyUser\AppData\Local\arduino15).
Тогда не потребовалась установка среды, достаточно было переписать ее в ReactOS.
И, ура, все получилось - был скомпилирован и загружен в плату Arduino Due скетч blink.

На скрине правда успешная загрузка пустого скетча, но blink ��оже загрузился, честное слово!
Но это конечно только демонстрация потенциальных возможностей. Так как драйверов железа под ReactOS не имеется, работать очень некомфортно.
К примеру нет драйвера сетевого адаптера, без которого невозможен выход в интернет, драйвера видеоадаптера.
Компиляция и заливка скетча занимает около 20 мин, 18 мин из которых проводятся какие-то операции, которые в консоли не отображаются. При этом идет непрерывное обращение к винчестеру.
После чего довольно шустро компилируется скетч и заливается прошивка в плату.
Хотя конечно сам факт успешной компиляции говорит о том, что ReactOS достигла определенной ступени зрелости.
Система уже поддерживает работу довольно широкого круга программ и запускается на реальном железе.
А теперь немного айтишного фансервиса!
Hidden text

Winamp устанавливается, запускается, но поскольку драйверов к звуковой карте нет, то выдает ошибку DirectSound output error .

Everest реально работает и выдает информацию о железе. Aida кстати тоже работает.

Та-да-а.. Но играть невозможно, так как экран перерисовывается раз в секунду.

Забавная программа Sequoia View. Наглядно показывает, каким файлами захламлен диск.

Mars Notebook. Классная программа для ведения заметок, Форматированный текст, картинки.

Поделие, написанное на Rapid-Q Basic. Что-то вреде калькулятора, мышкой можно битики переключать.
Вообще все программы на Rapid-Q работают на всех Windows от 95 до 10. Как говорится - "От Ильича до Ильича без инфаркта и паралича".

Delphi7. Живее всех живых. Причем работает довольно шустро.
На этом пока все.
Следующие шаги - это развитие системы на базе сборки ReactOS 0.4.11.2.1 Вадима Галянта (http://vgal.ru.com/reactos-0-4-11-2-1/#more-587 .) с целью возможности использования в ReactOS драйверов железа совместимых с NT 5.2 (W2003\XP). Тогда возможно ReactOS будет немного похожа на рабочую систему.
upd.
После пары дней танцев удалось запустить рабочую программу под ReactOS.
Танцы были связаны с нежеланием платы Arduino Due полноценно работать через Native USB port под ReactOS. Принимать команду она принимала, а ответ до ПК не доходил. Под Windows10 естественно все работало как надо. Пришлось перекомпилировать прошивку для работы через Programming port, тогда заработало.

