Просмотрел проекты касающиеся FreeBSD из Google Summer Of Code 2014. Есть много интересного. Я знаю что далеко не все из них попадут в CURRENT, но хочется надеяться что по крайней мере эти дойдут до своего логического завершения. Сам список проектов можно посмотреть тут: https://wiki.freebsd.org/SummerOfCode2014Projects
Новый графический экран загрузки (boot splash)
Страница wiki с описанием и текущим состоянием: https://wiki.freebsd.org/SummerOfCode2014/Bootsplash
Идея нормального анимированого экрана загрузки уже давно витала в воздухе. Эта штука как раз из серии "мелочь а приятно". Периодически в списке рассылки поднимался вопрос о создании нового splash screen. Теперь, с приходом новой графической консоли, в ядре появились механизмы сильно упрощающие реализацию. И как результат Крис выступил ментором этого проекта на GSOC2014.
Новый экран загрузки поддерживает темы, анимацию, показывает прогресс загрузки.
На данный момент проект фактически готов. Есть патчи к ядру, утилиты для создания и управления темами, демонстрационная тема.
Ждем в PC-BSD!
Поддержка тач скрина (evdev)
Страница wiki с описанием и текущим состоянием: https://wiki.freebsd.org/SummerOfCode2014/evdev_Touchscreens
Целью проекта является добавление в ядро FreeBSD интерфейса evdev, используемого драйвером xf86-input-evdev для поддержки тач скринов.
На данный момент FreeBSD поддерживает некоторое количество тач скринов. Но все они не совместимы между собой и требуют отдельных драйверов xorg.
К сожалению, за рамками проекта осталась поддержка мультитач, но автор уверяет что она может быть легко добавлена позднее.
Текущее состояние проекта на странице wiki отсутствует.
Портирование FreeBSD на эмулятор Android
Страница wiki с описанием и текущим состоянием: https://wiki.freebsd.org/SummerOfCode2014/PortingToAndroidEmulatorЭмулятор из Android SDK представляет собой форк QEMU, эмулирующий систему ARM, именуемую Goldfish. К достоинствам эмулятора можно отнести распространенность и достаточно удобный интерфейс.
На данный момент, вроде бы, почти все готово (в.т.ч. фреймбуфер и новая графическая консоль). Не работает подсистемы ввода (тач скрин и клавиатура).
Кроме того, сам эмулятор частично портирован для FreeBSD. Пока без графического режима, только консоль.
Поддержка скриптов Lua в загрузчике
Страница wiki с описанием и текущим состоянием: https://wiki.freebsd.org/SummerOfCode2014/LuaLoaderНа данный момент загрузчик FreeBSD использует язык forth для своих скриптов. Именно благодаря коду на forth вы видите меню загрузчика. Во время краткого знакомства с этим языком (делал меню с выбором ядра для PC-BSD) я понял несколько вещей:
1. Интерпритатор forth очень компактный и легко встраиваемый. Благодаря этому его легко было встроить в загрузчик. Собственно, forth используется часто как скриптовый язык в маленькой встроенной технике.
2. Язык forth придумали и используют инопланетяне :) Достаточно своеобразный язычок. Зато программа на нем может выглядеть буквально так: "СДЕЛАТЬ ХОРОШО"
Результатом проекта GSOC должен стать слой абстракции для поддержки нескольких интерпритаторов в загрузчике и добавление интерпритатора языка Lua.
Изменить поведение загрузчика FreeBSD теперь станет намного проще.
Вывод утилит, пригодный для машинной интепритации (machine reading output)
Страница wiki с описанием и текущим состоянием: https://wiki.freebsd.org/SummerOfCode2014/MachineReadableFromUserlandUtilsНи для кого не секрет что подавляющее большинство утилит PC-BSD всего лишь графические обертки вокруг консольных команд. Большая часть кода таких утилит- это разбор вывода той или иной команды. Задача проекта обеспечить возможность вывода некоторых команд (sysctl, ifconfig, netstat, iostat, vmstat) в виде удобном для машинного разбора (XML, JSON или YAML). Вообще такой подход позволит упростить написание графических оберток и скриптов, использующих консольные команды. Наверное нужно задуматься о подобном для скриптов PC-BSD.
Немає коментарів:
Дописати коментар