Представлен (http://www.freebsd.org/news/status/report-2014-01-2014-03.html) отчёт о развитии проекта FreeBSD с января по март 2014 года.Основные достижения:
-
Система
- Продолжается работа по внедрению системы непрерывной интеграции Jenkins (http://jenkins-ci.org/) в процесс разработки FreeBSD. Введены в строй два виртуальных сборочных сервера jenkins-9.FreeBSD.org и jenkins-10.FreeBSD.org, а также сайт jenkins.freebsd.org (https://jenkins.freebsd.org/) с отчётами о результатах сборки. В настоящее время обеспечены постоянные пересборки FreeBSD HEAD и некоторых веток STABLE. В случае выявления проблем при сборке уведомления автоматически отправляются в списки рассылки freebsd-current и freebsd-stable, а также напрямую разработчикам, осуществлявшим коммиты с момента последней успешной сборки. Инфраструктура непрерывной интеграции основана на системе, уже опробованной компанией iXsystems при разработке дистрибутива FreeNAS. Интересно, что внедрение новой системы позволило выявить выявить сбой в подсистеме виртуальной памяти, проявлявшийся в виде краха ядра во FreeBSD 9.2 и отдельных крахах Java-процессов во FreeBSD 10 при выполнении Jenkins. В дальнейшем планируется увеличить число веток, конфигураций и портов, проверяемых в системе непрерывной интеграции, а также обеспечить выполнение после сборки тестов kyua.- Во FreeBSD HEAD приняты наработки проекта по обеспечению поддержки (https://wiki.freebsd.org/UEFI) загрузки FreeBSD на системах с UEFI. Проведена адаптация загрузчика и процесса загрузки ядра FreeBSD для обеспечения совместимости с прошивками UEFI, применяемыми на выпускаемых ноутбуках, ПК и серверах. Поддержку загрузки и установки на системы с UEFI планируется реализовать в выпуске FreeBSD 10.1. Из планов отмечается реализация поддержки UEFI Secure Boot и интеграция настройки UEFI в инсталлятор.
- В ветки stable/10 и stable/9 интегрирована поддержка подсистемы vt, развиваемой в рамках проекта Newcons (http://svn.freebsd.org/base/user/ed/newcons/) и пришедшей на смену syscons. Vt предоставляет новый интерфейс для обеспечения вывода через графические устройства, позволяющий организовать доступ простых драйверов к консоли и терминальному режиму, а также доступ к фреймбуферу для X.Org. При этом от драйвера не требуется встраивание шрифтов, цветовых карт и изображений курсоров мыши, все эти компоненты предоставлены Newcons-драйвером vt. Проект также включает интеграцию с модулями KMS (Kernel Mode Setting), что позволит добиться поддержки современных релизов X.Org и обеспечить корректный возврат к режиму виртуального терминала после смены видеорежима средствами X.Org. Среди возможностей отмечается поддержка мыши, KMS (i915kms и radeonkms), USB-клавиатур, экрана-заставки, vidcontrol, Unicode, xterm-подобная эмуляция терминала, использование различных шрифтов в разных окнах терминала. В настоящий момент vt находится на стадии повсеместного тестирования для архитектур ARM, i386 и amd64 и может быть активирован пересборкой ядра с заменой опций "device sc" и "device vga" на "device vt" и "device vt_vga". После завершение тестирования планируется переход на vt по умолчанию.
- Улучшена поддержка (https://wiki.freebsd.org/ExternalToolchain) использование внешнего инструментария Clang, что позволяет по аналогии GCC одновременно применять для сборки ядра и базовой системы разные версии Clang.- Развивается инициатива по портированию для более новых выпусков GCC, доступных в портах lang/gcc*, возможностей и исправлений, созданных разработчиками FreeBSD, но по тем или иным причинам не принимаемых в upstream. Например, необходимо портирование дополнения для проверки форматирования кода ядра FreeBSD.
- В рамках проекта FreeBSD Test Suite (https://wiki.freebsd.org/TestSuite) продолжается работа по внедрению средств для обеспечения тестирования качества кода в процессе разработки FreeBSD. Роль базового инструмента для организации автоматизированного тестирования выполняет фреймворк kyua (http://code.google.com/p/kyua/) (devel/kyua). Сценарии тестирования размещаются в каталоге /usr/tests/. Для разработчиков формируемый тестовый набор позволяет постоянно контролировать качество кодовой базы и оперативно выявлять регрессивные изменения, для пользователей появляется возможность проверки корректности работы внедрённых программных и аппаратных конфигураций. За отчётный период добавлена большая порция новых тестов и портированы старые тесты src/tools/regression/. Число тестов доведено до 509. Синхронизированы тестовые наборы в ветках HEAD и stable/10. В кластер тестирования добавлены системы для выполнения сборки для архитектуры i386. Из планов на будущее отмечается включение сборки тестового набора по умолчанию, улучшение HTML-отчётов и создание системы предупреждения в случае нарушения работы отдельных тестов.
- Проведена работа по устранению ошибок и наращиванию функциональности отладчика LLDB (https://wiki.freebsd.org/lldb), развиваемого (http://www.opennet.me/opennews/art.shtml?num=26907) проектом LLVM. LLDB пока не собирается по умолчанию и требует отдельной сборки с указанием "WITH_LLDB=" в src.conf. По сравнению с прошлым отчётом добавлена поддержка аппаратных точек останова, улучшена поддержка протокола удалённой отладки, в debuggee реализованы очереди libdispatch (GCD), добавлена настройка "step-avoid-libraries", началась работа над консольным GUI. Из планов на будущее отмечается добавление LLDB в порты, реализация совместимого с gdb протокола удалённой отладки, обеспечение поддержки отладки ядра и включение по умолчанию в базовую систему для поддерживаемых архитектур.-
Изолированные окружения, эмуляторы, безопасность и ограничения ресурсов
- Для всех архитектур обеспечена поддержка технологии ASLR (Address space layout randomization) для защиты от некоторых видов атак, манипулирующих переполнением буфера. Тем не менее, полноценно ASLR (http://ru.wikipedia.org/wiki/Address_Space_Layout_Randomizat... пока поддерживается только для amd64, например, для ARM и sparc64 ещё предстоит устранить несколько ошибок. Из других средств защиты отмечается интеграция в некоторые приложение поддержки технологии PIE (http://en.wikipedia.org/wiki/Position-independent_code) (Position-Independent Executables).- Началась разработка инфраструктуры для поддержки технологии PCI SR-IOV (PCI Single Root I/O Virtualization), нацеленной на предоставление средств для аппаратной акселерации виртуализации устройств PCIe. При использовании SR-IOV на базе физической функции PCI-устройства (PF, Physical Function) реализуется серия виртуальных PCI-функций (VF) на шине PCI, который выступают в роли независимых устройств PCI, имеющих доступ к ресурсам PF. В контексте систем виртуализации гипервизор, такой как bhyve, может использовать VF для организации проброса PCI-устройства в несколько гостевых окружений для организации совместного доступа без применения дополнительных прослоек. В настоящее время выполнена работа по проектированию универсального API для интеграции поддержки PCI SR-IOV в различные драйверы и ведётся работа по добавлению поддержки PCI SR-IOV в драйвер ixgbe.
- Продолжается работа по улучшению реализации гипервизора BHyVe (http://www.bhyve.org/), изначально разработанного компанией NetApp и поставляемого в базовом составе FreeBSD 10. Для работы BHyVe требуется система с процессором Intel, поддерживающим аппаратные средства виртуализации VT-x и EPT (Extended Page Tables). Из возможностей можно отметить проброс PCI-устройств, доступ к содержимому виртуальной машины через специальное блочное устройство, возможность назначения нескольких CPU гостевой системе. В качестве гостевых систем могут запускаться системы для которых имеются драйверы VirtIO для паравиртуализации ввода/вывода, в том числе различные версии FreeBSD, свежие сборки OpenBSD и системы GNU/Linux (CentOS, Debian, Ubuntu, openSUSE).
Текущая работа сосредоточена на обеспечении поддержки запуска в гостевом режиме 64-разрядных сборок различн...
URL: http://www.freebsd.org/news/status/report-2014-01-2014-03.html
Новость: http://www.opennet.me/opennews/art.shtml?num=39613
> Сценарии тестирования размещаются в каталоге /usr/tests/Вот это круто. Сразу подумалось, у linux есть автоматические тесты?
http://stackoverflow.com/questions/3177338/how-is-linux-kern...
> Вот это круто. Сразу подумалось, у linux есть автоматические тесты?У майкрософт автоматическими тестами обложено вообще все. Это не мешает дефолтному драйверу GPU быть настолько глюкавым что браузеры вырубают ускорение рендеринга. Это не мешает системе отлетать в бсод при втыкании флешек. Это не мешает системе дико тупить при переключении из офиса в файрфокс. И т.п.. В общем автотесты это хорошо, но судя по наблюдаемым результатам, пользу от них не стоит переоценивать. Они ловят только сильно некоторые баги и довольно иногда. А хотя-бы потому что вы никогда не сможете запустить их во всех мыслимых сочетаниях конфигураций которые есть у пользователей.
Потому что покрытие всей трассы тестами невозможно!Как и сомнительная помощь Fuzz testing
>> Из планов отмечается исключение HAL из числа зависимостей...к KDE, я так понимаю
А где можно найти инфу на что собираются его заменять? Об этих планах в принципе давно известно, но не ясно какие шаги в этом направлении предприняты. По крайней мере я не нашёл. «Говорят» что собираются перейти на devd, однако функционал оного до HAL как бы очень не дотягивает.
Прикрутят devd,libdevq и automountd
Про automountd написано в новости.
Похоже libdevq это и есть то недостающее звено, которое меня волновало. Спасибо за наводку =)
Вы уверены, что недотягивает? Проблема лишь в том, что всякие DE просто знать не знают про devd. А код для поддержки писать кому-то надо.
> Вы уверены, что недотягивает? Проблема лишь в том, что всякие DE просто
> знать не знают про devd. А код для поддержки писать кому-то
> надо.devd может только сигналы посылать что устройство подключено/отключено. А HAL собирает и обобщает информацию обо всех устройствах в системе, помимо того, что сигнализирует о подключении/отключении устройства.
Чистый devd в качестве бэкенда к solid совершенно бесполезен. Посмотрите в код бэкэндов к solid. Там обвеска для множества подключаемых устройств реализована. Внешние диски, вебкамеры, сканеры и вообще дофига всего. devd не способен дать главное: обобщённую информацию обо всех устройствах в системе. И похоже что этот пробел затыкают через libdevq, судя по названию: Generic Device Query and Monitor interface.
Собрал stable/10 с vt. Получил мякгую ламповую консоль с поддержкой UTF-8. Сбылась мечта идиота. ^_^
Осталось посмотреть как из иксов переключаться будет...
Не прошло и 20 лет :)
Ну счастье пока ещё не полное. Недоделок в принципе хватает... Но уже не рвёт псевдографику в mc и можно прочитать названия файлов на русском, если залогиниться пользователем с русской UTF-8 локалью.При переключении раскладки вместо русских символов выводится расширенная латиница. Полаю что-то где-то надо подкрутить.
> Собрал stable/10 с vt. Получил мякгую ламповую консоль с поддержкой UTF-8. Сбылась
> мечта идиота. ^_^GNU Binutils есть?
>> Собрал stable/10 с vt. Получил мякгую ламповую консоль с поддержкой UTF-8. Сбылась
>> мечта идиота. ^_^
> GNU Binutils есть?$ ld -v
GNU ld 2.17.50 [FreeBSD] 2007-07-03Не помню чтобы их окончательно выпиливали. Или тоже уже на подходе?
>>> мечта идиота. ^_^
>> GNU Binutils есть?Изя, это твоя другая мечта.
> $ ld -v
> GNU ld 2.17.50 [FreeBSD] 2007-07-03
> Не помню чтобы их окончательно выпиливали. Или тоже уже на подходе?В 11-ой собираются. Так что _бойтесь_: первые 3-4 поинт релиза _вас ждут загадочно не собирающиеся и падающие _ядра, думаю даже generic. За Счастье будете считать пересидеть на 10-ке c GNU binutils.
Про то, что работа ведётся, я в курсе. Но она, на сколько я знаю, ещё совсем не закончена.Что же касается будущих глюков, то мне такая вероятность кажется сомнительной, зная как готовятся релизы. Если будут проблемы, то мы либо долго не дождёмся релиза 11.0, либо GNU binutils не выпилят к этому релизу, а сделают это в последующих релизах после масштабного тестирования.
> Что же касается будущих глюков, то мне такая вероятность кажется сомнительной, знаяНадо же готовиться - а то ж выкинут скоро, и потролить-то будет нечем.
> как готовятся релизы. Если будут проблемы, то мы либо долго не
> дождёмся релиза 11.0, либо GNU binutils не выпилят к этому релизу,
> а сделают это в последующих релизах после масштабного тестирования.Прошлый раз они наступили на горло своей песне:
[2011-12-14] ""One of the goals for FreeBSD 10 is to be completely free of GPL'd code in the base system.
[2012-12-20] ...""one big step closer to a GPL-free FreeBSD 10.
[2014-01-20] ~Релиз FreeBSD 10: GPL[-free] не упоминается.
+++
О, нашёл! http://www.freebsd.org/doc/en/articles/bsdl-gpl/ Наконец-то попытка сформулировать. Надо читать.
2iZEN: И тебе в первую очередь: заучивай Политику Партии, а то ну стыдно же. Защищать оупенсоус настящшим образом!
А то всё аплаянс вендоры, да аплаянс вендоры.[2007-08-29]...""Letter From the Vice President [...] forbidden in GPLv3. Appliance vendors in particular have the most to lose
> Прошлый раз они наступили на горло своей песне:Никто на горло никому не наступал. GPL-free это действительно одна из целей, долгоиграющая и не самая приоритетная. Рано или поздно это случится, но сейчас пока не на всех платформах можно перейти на Clang, требуется GPL'ный device tree compiler, не заменены ещё несколько GPL'ных утилит.
> А то всё аплаянс вендоры, да аплаянс вендоры.
Да если бы только одни вендоры... Мне говорили, что в Apple, например, скачивание GPLv3 софта — это fireable offense. То есть вот имярек скачал кусочек кода под GPLv3 (чтобы лицензию уточнить, лол) и всё, может идти писать по собственному.
>>> Собрал stable/10 с vt. Получил мякгую ламповую консоль с поддержкой UTF-8. Сбылась
>>> мечта идиота. ^_^
>> GNU Binutils есть?
> $ ld -v
> GNU ld 2.17.50 [FreeBSD] 2007-07-03Шорт побери.
>> GNU ld 2.17.50 [FreeBSD] 2007-07-03
> Шорт побери....но чего он не понимает, он пока не понимает.
> Собрал stable/10 с vt. Получил мякгую ламповую консоль с поддержкой UTF-8. Сбылась мечта > идиота. ^_^
> Осталось посмотреть как из иксов переключаться будет...а если загрузить KMS модуль видеокарты?
> а если загрузить KMS модуль видеокарты?$ kldstat -v | grep kms
10 1 0xffffffff81a5b000 6ad3b i915kms.ko (/boot/kernel/i915kms.ko)
486 vgapci/i915kmsВсё на месте. Ноут с оптимусом. Карта nvidia не используется. Насильно запущена карта intel.
А что, должны быть проблемы с KMS и vt?
> сбой в подсистеме виртуальной памяти, проявлявшийся в виде краха ядра во
> FreeBSD 9.2 и отдельных крахах Java-процессов во FreeBSD 10Качественный код, говорите? Да, интересное качество... :)
Ви таки хотите сказать что в лапчатых такого не бывает?
А я вам таки скажу - такого бывает у всех :)
>> и отдельных крахах Java-процессов во FreeBSD 10
> Качественный код, говорите?Ни разу не наблюдал у себя крахи Java-программ на FreeBSD 10. Хотя в почтовой рассылке очень активно писали, что Java крошится буквально на ровном месте.
Новость: новый порт OpenJDK8 не требует для своей сборки и работы GCC и GNU binutils — достаточно системных LLVM/Clang.
>>> и отдельных крахах Java-процессов во FreeBSD 10
>> Качественный код, говорите?
> Ни разу не наблюдал у себя крахи Java-программ на FreeBSD 10. Хотя
> в почтовой рассылке очень активно писали, что Java крошится буквально на
> ровном месте.я запускал на java-плагине банк-клиент в FreeBSD 10
вся техподдержка банка уверяла меня, что это невозмножно
У одних таких "фокусников" как-то 30 лямов со счёта испарились. Они долго плевались на банк, но потом выделили деньги на официально поддерживаемую банковским ПО ОС. Дешевле, знаете ли, и надёжнее.
> выделили деньги на официально поддерживаемую банковским ПО ОС.Стаканыч, жги. Размяться можно и на б3дешниках. Не знаю, где ты чалился 3 недели, но лавры клоуна увели какие-то сирожи и песцы.
>Ведётcя работа по переходу на CentOS 6.5 в качестве базовой системы для эмулятора Linux.Это позволит запускать steam?
Нет, там glibc старая.
>>Ведётcя работа по переходу на CentOS 6.5 в качестве базовой системы для эмулятора Linux.
> Это позволит запускать steam?вчера в irc:
апр 23 12:59:47 <_gypcio__> https://twitter.com/xmjEE/status/457176405089193985
апр 23 13:25:07 <xmj> _gypcio: falls flat on missing epoll :/дальше не следил чем продолжилось/закончилось
как называется проект эмулятора Linux? вот у Wine есть названиеподскажите таковое для BSD->Linux... или оно как часть основной кодовой базы и не имеет отдельного обозначения?
Называется linuxulator (часть базовой системы)
просидев на фре с трёшки до семёрки, всё на десктопе-каренте, ушел на лфс и не жалею
а чего до 7ки терпел? Мазохист? :)
Как раз наоборот, к седьмой версии фря стала более чем пригодной для лэптопа (на десктопе она у меня с нетленной четверки). Уж точно куда приятнее, чем LFS.
> просидев на фре с трёшки до семёрки, всё на десктопе-каренте, ушел на
> лфс и не жалеюА почему не винда или мак? =)
А ведь все реально приятные на десктопе плюшки начали появляться как раз с семёрки.
Для десктопа фря была вполне пригодна и до семёрки. В семёрке же наконец довели до ума поддержку ACPI (у меня ноут в кои-то веки стал нормально засыпать-просыпаться и заработал snd_hda(4)'шный звук), починили suspend/resume code paths многих драйверов, появился geom_sched и пр. скорее ноутбучные фичи (но, например, powerd(8) появился в 6.0). Хотя переход на четвертый gcc как раз в семёрке произошел, что тоже немаловажно.
> Для десктопа фря была вполне пригодна и до семёрки. В семёрке
> же наконец довели до ума поддержку ACPI (у меня ноут в
> кои-то веки стал нормально засыпать-просыпаться и заработал snd_hda(4)'шный звук), починили
> suspend/resume code paths многих драйверов, появился geom_sched и пр. скорее ноутбучные
> фичи (но, например, powerd(8) появился в 6.0). Хотя переход на
> четвертый gcc как раз в семёрке произошел, что тоже немаловажно.ты уже с восьмерки спрыгнул ?:-) там еще больше всего этого вот интересного;-) ну а звук hda`шный, насколько я помню, у тебя на свежей версии как-то не так работает но патчить лень
> ты уже с восьмерки спрыгнул? :-)Не-а, на ноуте даже и не собираюсь в ближайшее время (работает — не трожь). А вот десктопы все давно на -CURRENT перевел. :-)
> там еще больше всего этого вот интересного ;-)
Ну вот что например такого появилось в девятке вкусного для пользователей FreeBSD на ноутах?
> ну а звук hda`шный, насколько я помню, у тебя на свежей версии как-то не так работает но патчить лень
Ну типа того. Грустно, конечно, что Саша Мотин так и не откликнулся, но с другой стороны, может я и правда сам что-то где-то недопонял или ман не до конца изучил.
Привет! :-)
У кого-нибудь есть опыт установки FreeBSD на серверах Cisco M220?
_НАЧАТА_ работа по поддержке UEFI?
_НАЧАТА_ работа по поддержке SR-IOV?Ну, надеюсь едут они быстрее чем запрягают.
А сколько ударов в бубен пришлось сделать, прежде чем перешел на новые порты :)
Что особенно круто как раз, что "порты" остались прежними. Зато бинарные пакеты стали огого, почти как в Дебиан (лол).
> Что особенно круто как раз, что "порты" остались прежними. Зато бинарные пакеты стали огого, почти как в Дебиан (лол).Бинарные пакеты в Debian слишком дроблёны.
>> Что особенно круто как раз, что "порты" остались прежними. Зато бинарные пакеты стали огого, почти как в Дебиан (лол).
> Бинарные пакеты в Debian слишком дроблёны.1. они везде (в линаксах) "слишком" дроблёны
2. это _хорошо_ и правильно
3. работа в этом направлении ведется и во фре
4. перестань писать на форуме обожравшись этих таблеток