понеділок, 27 жовтня 2014 р.

Ждем, надеемся и верим: Интересное из Google Summer Of Code 2014

Доброго времени суток.
Просмотрел проекты касающиеся 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.



Немає коментарів:

Дописати коментар