Доступен (https://lists.freebsd.org/pipermail/freebsd-announce/2016-Fe...) отчёт о развитии проекта FreeBSD с октября по декабрь 2015 года.Основные достижения:
-
Система- Началась (http://bsdimp.blogspot.com/2016/01/details-on-coming-automat...) работа по добавлению в ядро средств для автоматической загрузки модулей, необходимых для работы оборудования, для которого отсутствуют загруженные драйверы. На основании информации в модулях построена карта для сопоставления драйверов и устройств PC Card, USB и PCI, которая сохранена в отдельном файле. После доведения проекта до конца пользователю будет предоставлена возможность загрузки минимального ядра, аналогичного сборке в конфигурации MINIMAL, с динамической загрузкой всех драйверов устройств по мере необходимости;
- Во FreeBSD-HEAD принят переработанный механизм вытеснения процессов в ситуации нехватки виртуальной памяти в системе (OOM, Out of Memory). В отличие от старого обработчика OOM, оперирующего текущим состоянием виртуальной памяти (снижение свободного места в разделе подкачки и небольшой остаток свободных страниц памяти), новый механизм пытается анализировать динамику изменения потребления памяти, принимая решение о принудительном завершении процессов только в случае реальной угрозы возникновения блокировки. Кроме того, изменён алгоритм выбора процесса для принудительного закрытия, который теперь не ограничивается учётом числа элементов в таблицах распределённых станиц памяти, но и пытается оценивать реальное число страниц, которое высвободится в результате принудительного завершения процесса, что позволяет более точно выбирать потенциально проблемные процессы;
- Во FreeBSD 11 принята новая реализация системного вызова sendfile (https://www.freebsd.org/cgi/man.cgi?query=sendfile&sektion=2), предназначенного для организации прямой передачи данных между файловым дескриптором и сокетом. Новая реализация разработана компаниями Netflix и NGING и отличается (http://www.slideshare.net/facepalmtarbz2/new-sendfile-in-eng...) значительным увеличением производительности - файл теперь можно направлять в сокет в асинхронном режиме без ожидания завершения чтения с диска. Ранее при использовании флага O_NONBLOCK не блокировался только сокет, но продолжало блокироваться чтение с диска. В новой реализации можно асинхронно отправлять и читать данные. Реализация полностью обратно совместима с ранее доступными приложениями и может использоваться в качестве прозрачной замены, не требуя пересборки. Кроме увеличения производительности в новой реализации также добавлены новые флаги, предоставляющие дополнительный контроль над отправкой данных. Например, флаг SF_NOCACHE запрещает кэширование передаваемых данных, а при помощи макроса SF_READAHEAD() можно установить размер буфера упреждающего чтения;
- В рамках проекта relaunchd (https://github.com/mheily/relaunchd) ведётся работа по созданию порта системного менеджера Launchd (OS X), пригодного для использования во FreeBSD. В единый демон relaunchd сведены функции процесса init, системы стартовых скриптов rc.d и init.d, демонов inetd, atd, crond, и watchdogd. Из дополнительных функций отмечается управление запуском программ в jail-окружениях, передача дескрипторов сокетов их окружения хоста в jail, запуск программ в предопределённом sandbox-е capsicum. Формат файлов конфигурации основан на UCL, что позволяет определять параметры заданий в JSON и других форматах, поддерживаемых UCL. Relaunchd уже содержит всю базовую функциональность Launchd и добавлен в дерево портов, но пока позиционируется как экспериментальная разработка. Из планов по дальнейшему развитию отмечается поддержка перезапуска заданий в случае их краха, эмуляция cron, поддержка отслеживания изменений файлов и директорий, доведение до финального вида механизмов работы с jail;- Продолжена разработка системного менеджера nosh (http://homepage.ntlworld.com./jonathan.deboynepollard/Softwa...), включающего набор средств для инициализации, загрузки, ведения логов, управления фоновыми процессами и терминалами. Nosh позиционируется как замена систем BSD init и NetBSD rc.d, вобравшая в себя черты таких систем, как Solaris SMF, daemontools-encore, UCSPI и средств IBM AIX по раздельному управлению системой и сервисами. Предоставляется набор прослоек для использования команд, ставших привычных в других системах, импорта существующих конфигурационных файлов /etc/fstab, /etc/rc.conf, /etc/rc.local и /etc/ttys, а также настроек изолированных окружений Jail и PC-BSD Warden.
Доступны возможности для определения порядка запуска сервисов, организации зависимостей между сервисами, обеспечения параллельного выполнения сервисов, автоматической ротации логов, отслеживания работы сервисов и применения kevent для обеспечения событийно-ориентированного параллелизма. Система переносимая, не зависит от особенностей ядра и может применяться как в BSD-системах, так и в Linux.
С момента публикации прошлого отчёта в Nosh реализованы инструменты для экспорта логов cyclog/multilog в удалённые обработчики логов, поддерживающие RFC 5426 (например, logstash). В подсистему работы с виртуальным терминалом добавлена возможность прямого обращения к USB-устройствам ввода, без задействования sysmouse. Добавлена полная поддержка систем, на которых имеются только разделы ZFS. Обеспечено преобразование настроек приоритетов из unit-файлов systemd для использования с rtprio/idprio. Добавлена поддержка mfs для /tmp. Для полной замены rc.d из 157 отмеченных в плане задач остаётся выполнить 27.- Разработчики FreeBSD рассматривают возможность замены подсистем init и rc на более современную систему инициализации и управления сервисами, которая позволит сократить время загрузки благодаря распараллеливанию запуска сервисов, повысить надёжность работы за счёт автоматического перезапуска в случае сбоя, упростить управление зависимостями через такие техники как активация по обращению к сокету, обеспечить возможность запуска сервисов по мере необходимости и завершать их при длительной неактивности, увеличить безопасность сократив число компонентов, работающих под пользователем root. В настоящее время решение по замене пока не принято. На звание нового системного менеджера претендуют (http://www.daemonspawn.org/2016/01/a-comparison-of-alternati...) три проекта: relaunchd (https://www.opennet.me/opennews/art.shtml?num=38692) (написанная с нуля реализация API launchd), развиваемый проектом NextBSD порт launchd (https://www.opennet.me/opennews/art.shtml?num=42864) из OS X (реализован через прослойку с реализаций механизма межпроцессного взаимодействия микроядра Mach) и nosh, оригинальная разработка по мотивам launchd, systemd и других систем;
- Переработана (https://reviews.freebsd.org/rS292895) реализация кэша vnode, проведена оптимизация кода для распределения и чистки vnode;
- В sysctl добавлена (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203918) поддержка фиксированных типов (знаковые и беззнаковые 8-, 16-, 32 и 64-разрядные целые числа). Для отображения информации о типах в утилиту sysctl добавлена новая опция "-t";
- Близится к завершению проект миграции FreeBSD на инструментарий (http://elftoolchain.sourceforge.net) работы с исполняемыми файлами в формате ELF, эквивалентный набору GNU Binutils, но распространяемый под лицензией BSD. В настоящее время уже подготовлены BSD-версии библиотек libelf и libdwarf, а также утилит addr2line, nm, readelf, size, strings, as, ld и objdump и strip (elfcopy). Первый релиз запланирован на первый квартал 2016 года, из оставшихся задач отмечается добавление поддержки PE/COFF в elfcopy и адаптация системы сборки;
- Для платформ amd64 и arm64 по умолчанию задействован отладчик LLDB (https://wiki.freebsd.org/lldb), развиваемый (https://www.opennet.me/opennews/art.shtml?num=26907) проектом LLVM. Из ещё не решённых задач отмечается реализация возможности использования LLDB для отладки разделяемых библи...URL: https://lists.freebsd.org/pipermail/freebsd-announce/2016-Fe...
Новость: http://www.opennet.me/opennews/art.shtml?num=43833
Рад за фряху. Однако, systemd головного мозга это печально.
еще не факт
говорил с людьми, как они сказали, что в init есть свои проблемы, тут уже решать будут три варианта и выбрать надо один
> говорил с людьми, как они сказали, что в init есть свои проблемыДа неужели? А самому подумать было слабо?
я не линуксоид и не спацалист во всех областях
так и скажи, что вантузятник.
> так и скажи, что вантузятник.Он то хоть знает, что ничего не знает ... ну да куда же ему до очередного "я поставил убунту и получил +100500 на все айтишные скиллы!1"
мимо. Я не убунтовец.
> мимо. Я не убунтовец.Т.е. если ставить не убунту, то +100500 на все скиллы и экспертизм во всех областях гарантированы? o_O
снова мимо, снова слил
> снова мимо, снова слилО, да вы, батенька, тончайший и оригинальнейший из пингвинятников!1
> Он то хоть знает, что ничего не знаетТак ему уже лет 10 об этом каждый день говорят - тут бы и каменный столб уже узнал, что он ничего не знает. Хотя, нет - столб лет за пять понял бы.
>> Он то хоть знает, что ничего не знает
> Так ему уже лет 10 об этом каждый день говорят - тут
> бы и каменный столб уже узнал, что он ничего не знает.
> Хотя, нет - столб лет за пять понял бы.Ну да, куда же Сократу до опеннетных мудрецов!
> Ну да, куда же Сократу до опеннетных мудрецов!Поставить Сократа в один ряд с тупым виндопотребителем? О времена, о нравы!
> я не спацалист во всех областяхМолодец, честно признался.
> тут уже решать будут три варианта и выбрать надо одинУгадай, что выберет netflix.
Ну надеюсь что это будет опционально
Там идет речь о том, что в бинарник вынести часть скриптов, выполняемых со 100% вероятностью. То же монтирование разделов, работу с сетевыми интерфейсами, планировщик заданий и протоколирование. Никто не собирается убирать совместимость со старыми RC скриптами.
>Там идет речь о том, что в бинарник вынести часть скриптов, выполняемых со 100% вероятностью.Зачем?
ты не поймёшь. Ну не твоё это, иди в менты - денег столько же и моск ломать не надо.
Я от systemd сбежал на Фряху, а теперь его аналог хотят запилить, вот уроды то, ничего есть ещё OpenBSD, туда придётся сбежать, хотя там пакетов в 3 раза меньше.П.С. MATE до 1.12 уже больше двух недель назад обновили и что его портировать, он же systemd не требует, как GNOME. Кстати в OpenBSD 3.18 уже давно есть, там патчи написали для отвязки от этого дерьмеца, даже в дистры Линукса без него взяли их.
проще было сбежать на crux
Чем проще? Да и на Фрю интереснее.
> Чем проще? Да и на Фрю интереснее.Тем что ядро линкса останется. Плюс утилиты гнушные.
С фряхой ну наверное интересней хотя опять же смысла с фряхи дома не вижу.
Если тебе интерс подолбаться, а не чтобы работало - не мелочись, бери сразу hurd хотя-бы.
фряха не работает?! Чудеса! :) ибо даже с руками из онного места - она таки работает ...
> ибо даже с руками из онного места - она таки работает ...Ты прав, студент: "фряха" - она для таких.
> - она таки работает ...вопрос в том как! на HD7790 даже видео на ютубе - тормозит, в линуксе работает раз в 10 быстрее.
> вопрос в том как! на HD7790 даже видео на ютубе - тормозит,
> в линуксе работает раз в 10 быстрее.ССЗБ должны страдать?
Если именно флеш тормозит, то надо sysctl переменные кое-какие поменять. Гугли.
> надо sysctl переменные кое-какие поменять. Гугли.При написании или портировании драйвера придется менять довольно много переменных...
>GNOME. Кстати в OpenBSD 3.18 уже давно есть, там патчи написали для отвязки от этого дерьмецаЭто ГЭ (я про Гном) ещё и патчат чтобы запустить у себя???
За такое *BSD надо реально переименовать в *BDSM.
Скрипты инита это зло, особенно когда у тебя не топовый коре а какой нибудь атом или хуже того арм/мипс.
К тому же параллельный запуск обещают.
Не сказать чтобы я торопился, но на фоне того как грузится линух (хоть до системд) как то долго получается.
> Скрипты инита это зло, особенно когда у тебя не топовый коре а
> какой нибудь атом или хуже того арм/мипс.
> К тому же параллельный запуск обещают.
> Не сказать чтобы я торопился, но на фоне того как грузится линух
> (хоть до системд) как то долго получается.Ну у меня Фряха за 15 секунд загружается, а ROSA с systemd у моих хомяков и у меня раньше за 1 минуту как минимум. От systemd один гемморой.
Хотя вот Бубунта 9.10, самый лучший их релиз, действительно быстро грузилась, даже на моём старом компе, тогда она ещё на upstart была.
systemd-analyze
Startup finished in 944ms (kernel) + 1.535s (initrd) + 810ms (userspace) = 3.289s
Раньше на этой машинке стояла фряха и грузилась за 15 секунд.
ага, а потом еще рабочий стол погружается 12 секунд.
Плавали, знаем.
> ага, а потом еще рабочий стол погружается 12 секунд.Используй легкий десктоп, который не грузится 12 секунд. LXDE, XFCE, WM/самосбор...
Кеды разве что. Гном за 2-3.
> Кеды разве что. Гном за 2-3.XFCE или LXDE вообще запускаются быстрее чем я секундомер достать успеваю.
systemd-analyze
Startup finished in 3.885s (kernel) + 4.117s (initrd) + 1min 7.396s (userspace) = 1min 15.399sROSA Desktop Fresh R7
systemd-analyze plot > bootchart.svg
и поищите проблему
> Ну у меня Фряха за 15 секунд загружается, а ROSA с systemd
> у моих хомяков и у меня раньше за 1 минуту
> как минимум. От systemd один гемморой.Что за бред-то? Не знаю что там с ROSA, но fedora c centos реально за пару секунд выключаются и за пять-десять включаются. Можно много плеваться на systemd, но то, что он ускорил скорость загрузки и отключения в разы, это факт.
ну конечно, systemd всем kill -9 послала, и ядро за шотдаунило, все не успел сохранится корректно досвидос. Я так погу просто питалово рубануть и все эффект в принципе такой же будет за 0 сек
> у меня Фряха за 15 секунд загружаетсяописал где-то свой опыт? выложил? поделился?
>> у меня Фряха за 15 секунд загружается
> описал где-то свой опыт? выложил? поделился?+= "bootchart нарисовал?"
Настоящая проблема systemd не в том, что он лучше. Проблема в том, что сама концепция unix-way нарушается. Концепция, что одна задача -- одно приложение проверено временем. Никто не запрещал до systemd писать программы в стиле франкенштейна. Просто ранее, люди понимали чем это грозит. Сейчас они этого не понимают, прям какая-то мания "получить одобрение масс" через переписывание десятка _различных_ программ.До systemd эти компоненты были независимы. Даже если один компонент "выходил из строя" (разраб. забросил разработку) можно всегда перейти на альтернативу. Теперь представим, что будет через 10-20 лет на примере systemd. Леня стал тех.диром Red Hat и уже не пишет софт, а занимается действительно важными вещами. Все основные контрибьютеры разбежались, а те, что остались не имеют достаточной компетенции. Вот уже имеется библиотека libsystemd, на ней завязано 100500 программ. Наступает момент, когда сам systemd (и libsystemd) уже никто не поддерживает в актуальном состоянии. Находят тучу уязвимостей и... и все ложится на плечи мейнтейнеров дистров, как обычно. Кто-то успевает патчить, кто-то не успевает. Карточный домик рушится, фактически в одно мгновение.
Такая модель не страшна, если приложение не является ключевым. Увы, systemd и его форки настолько важное звено в системе, что чуть-что и приплыли.
Я за systemd не переживаю, т.к. он под крылышком красношапок. А вот за аналоги во фряхе уже надо начинать волноваться. Если эти форки действительно важны, то они должны быть в приорите, наравне с ядром. Пока же, все расплывчато: занимаются 1.5 анонимуса, которые могут бросить проект на середине, если приспичит. По-хорошему, обычно, в таких случаях происходит детальное планирование и проектирование, за ними активное тестирование и после внедрение. В случае systemd и его аналогов почему-то все сразу принимают _любые_ реализации, чуть ли не на веру. Парадокс systemd: концепция всем понравилась, но никто не задумался о последствиях.
если хотите троллить то матчасть подтяните сначала. systemd модульный, точно также как и ядро linux.
>До systemd эти компоненты были независимы.До systemd был набор разных программ, не было там компонентов.
Основные претензии были есть и будут к скорости залатывания дыр и качеству кода, а вот школьники начали придумывать байки по поводу модульности, bloatware и так далее.
Поймите одно, есть у меня bsdinit, он может запустить программки из списка по опредиленному алгоритму, ну и мне потом показать что сдохло что нет. Это все. Если я хочу большего, а индустрия требует большего, мне нужен совершенно другой продукт. А коли мы делаем новый продукт то почему бы не прикрутить это, вот это и еще вон ту фичу?
> До systemd был набор разных программ, не было там компонентов.Там было жуткое нечто из скриптов наваленых абы как и работающих через раз, не снабженных диагностикой и игнорирующих все мыслимые и немыслимые классы проблем.
тот самый UNIX-way хорошо зарекомендовал себя 40 лет назад. тогда программировать умело очень мало людей, и код программ почти никто не открывал. когда кто-то писал утилиту, её коду лучше было быть простым и лаконичным, чтобы те два человека (помимо автора), которые этот код увидят, могли в нём разобраться и найти ошибки. сейчас время другое: в open-source разработках заняты миллионы человек и код systemd открыт целиком. даже очень сложные проекты с открытыми исходниками (kernel, openjdk, wine, chromium и многие другие) со временем становятся всё лучше и лучше. тот опыт здесь нерелевантен. за systemd я бы не переживал: как показывает история, проекты, из которых ушел Ленарт, не только не загибаются, но и наоборот, становятся стабильнее и безглючнее. кроме того, udev сейчас часть systemd, столь важную систему на произвол судьбы никто не бросит (если не RedHat, то SUSE, Intel, IBM, это как минимум).
Знаешь, со временем ничего не изменилось. Все в точности наоборот как ты описал. Если, ты глянешь на авторов нынешних (re)launchd и nosh ты увидишь одно-два имени. Почитай историю relaunchd (ссылка в новости): начат студентом в 2005 году, проект уже дважды забрасывался. Последние коммиты в launchd полгодичной давности. Проект nosh пилится вообще одним человеком. Где твои миллионы? На каждый миллион есть по миллиону проектов.Время играет роль естественного отбора, а не лекарство, как ты выразился, улучшатором всего и вся. Если ты начнешь вникать в суть того, что делают нынешние форкоклепатели systemd ты увидишь, что для них важно навернуть как можно больше фич, сломать как можно больше чужого софта и красноречиво разрекламировать, чем их продукт лучше других. Возмём nosh, для примера, вроде как все по уму, но вот автор все же не удержался не написать свой логгер: cyclog (supplied with nosh).
Где, где спрашивается unixway? Unixway это концепция. Можно сказать простое, временем проверенное и разумом освоенное правило жизни: ты не можешь быть идеальным во всех областях. Возникает вопрос, автор nosh мастер писать не только замены init, но также и мастер писать логгеры? Не верю. Сколько лет живет syslog-ng на наших машинах? И сколько он еще проживет? Неужто cyclog это убивец syslog-ng? Нет? А зачем он нужен, если не достиг _минимальных_ высот других проектов на текущий момент?
Время, как средство отбора, только доказывает концепцию unixway: выживает тот софт, который делает одну вещь, но очень хорошо. Потому что даже в таких малых проектах имеется очень много работы, очень много мест, где можно "развернуться" и поэтому не нужно писать лишние программы для проекта ради еще большего одобрения масс. Массы одобрят если проект проживет десяток лет и при этом не скатится вниз. Потому что замену софта написать очень очень сложно. Не потому что нет более умных людей. Не потому что нет других разработчиков. А потому что проверку временем можно победить только еще большими времявложениями.
> Возмём nosh, для примера,
> вроде как все по уму, но вот автор все же неТам еще хуже, еcли копнуть:
Тот же манифест для пакетов идет в устаревшем формате pkg < 1.4.
Соответсвенно, при генерировании пакета вылетает ошибка.
И хотя все фиксится парой строк, не нашел никакого намека на репу с сорцами или баг-трекер.А еще там cистема сборки своя (ну или "по мотивам"). Не то, что бы я религиозный фанат подхода "только системные тулзы и либы" – но оно собирало проект больше часа!
Хотя там кода не так уж и много, да и машинка хоть и не самая новая и мощная, но тот же файерфокс примерно за это же время соберет.Причем, до конца оно так и не собралось – (сравнительно) в начале сборки была пара ошибок, после фикса и перезапуска сборка начиналась полностью с нуля.
Потом, в конце, при генерировании юнитов тоже вылетало что-то типа "файл такой-то не был сгенерирован потому что гладиолус ..." (не помню, что там именно было) . Пришлось прерывать и устранять причину, а после перезапуска оно весело продолжало генерировать юниты дальше, пересобирая только тот файл, на котором "прервали". Прям делай аналог "make clean" и начинай сначала. А под конец еще прилетает сообщение о невалидном манифесте для пакета.Да, вроде бы все мелочи, но ... как-то все по мотивам "проблемы на ровном месте" и у меня сложилось впечатление, что автору больше интересна сама идея и ее реализация в виде PoCа, а не окончательная доводка "до ума".
а у меня suspend/resume работает, например:-)
но вообще где-то секунд 30-40 грузится от момента нажатия power и до логина в slim, на ноуте с ssd
> а у меня suspend/resume работает, например:-)
> но вообще где-то секунд 30-40 грузится от момента нажатия power и до
> логина в slim, на ноуте с ssd20 секунд от влючения и до слима. Правда скрипт rc модифицированный, из серии "fast gui boot". Однако, кушать не просит – как года два назад настроил, так и не трогал больше.
Ну и
ifconfig_em0="NOAUTO"
ifconfig_wlan0="WPA DHCP powersave"
тоже свою лепту вносит.Жду с нетерпением Свидетелей СистемД, которые будут уверять, что с системды было бы все "зашибись" за 5 секунд!
[ 0.000000] Initializing cgroup subsys cpuset
...
[ 8.228696] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm)TOSHIBA PORTEGE Z830-10R
# cat /etc/issue
Ubuntu 14.04.3 LTS \n \l
Вы сравнивает тёплое с мягким. Или у вас ядро грузится сразу при включении? Я таким, увы, похвастать не могу - УЕФИ не завезли, так что 7 секунд приходиться ждать только меню загрузчика, ещё 2 - дефолтный тайм-аут и лишь потом грузится непосредственно сама ось.
Задонатил 20 баскиков. Пусть.
Ещё раз спрашиваю. И чо?
Во, теперь я смогу через rctl ограничивать виртуалки в bhyve не только параметром pcpu (иногда ограничния "ядро на виртуалку" бывает мало), но еще и ограничивать дисковую активность виртуалки. Это прогресс, и это радует!
* ограничения, офк. Очепятка, извиняйте.
увы и ах bhyve сильно тормознут будем надеятся что пока.
Ну ХЗ, меня его производительность устроила. В каком месте он тормознут? Диск? Сеть? Проц? Может, с оперативкой медленно работает?
А кто-нибудь может объяснить, зачем вообще нужен фунционал по смене корневой фс? Я не особо представляю, для чего это использовать можно и нужно.
Для того же, для чего он нужен в Линукс - pre-boot окружение a-la initrd в Линуксе. Иногда произвести массу нетривиальных действий по конфигурации системы до загрузки "основной" системы дорогого стоит.
>Иногда произвести массу нетривиальных действий по конфигурации системы до загрузки "основной" системы дорогого стоит.Каких, можно примеры для bsd?
Примеров не будет. Не доросла. Эмбеддовки на бзде нет. А вот реализации инитрд - уже давно есть.
> Примеров не будет. Не доросла. Эмбеддовки на бзде нет. А вот реализации
> инитрд - уже давно есть.Поправлю. Это у Анонима нету "Эмбеддовки на бзде". Советую посмотреть для начала в каталог /usr/src/sys/arm, или в каталог /usr/src/sys/mips.
И сколько её на рынке? Этих хвалёных железяк.
Обязательно в новости про какие-то успехи FreeBSD, вылазит тролль из серии "чукча не читатель, чукча писатель". Причем саму консоль FreeBSD он видел только в роликах youtube.
https://en.wikipedia.org/wiki/List_of_products_based_on_FreeBSD
Это про чукч, но где десять чукч воевали с миллиардом китайцев. Если зайти в ближайший магазин электроники - планшеты, телефоны, телевизоры, приставки к телевизорам, все что работает с сетью и т.п. - linux.
> телевизоры ... - linux.А в панасонике и не знали, что у них в телеках, оказывается, пингвин на уфс ...
> приставки к телевизорамДа Вы, определенно, истинный ЗНАТОК!
>> приставки к телевизорам
> Да Вы, определенно, истинный ЗНАТОК!Все правильно, орбис – это такой специальный линукс! Да и вообще, где та сонька со своими приставками?
> Каких, можно примеры для bsd?Палишься, админ локалхоста.
>> Каких, можно примеры для bsd?
> Палишься, админ локалхоста.Тебе до этого локалхоста еще расти и расти. По теме то есть что сказать?
> Тебе до этого локалхоста еще расти и расти. По теме то есть что сказать?Если человек не знает для чего initrd используется, но мнение имеет - ему бесполезно что-то говорить. Он не видел ни одной конфигурации сложнее локалхоста и уже дорос - до полного овоща.
>> Тебе до этого локалхоста еще расти и расти. По теме то есть что сказать?
> Если человек не знает для чего initrd используется, но мнение имеет -
> ему бесполезно что-то говорить. Он не видел ни одной конфигурации сложнее
> локалхоста и уже дорос - до полного овоща.
>> Тебе до этого локалхоста еще расти и расти. По теме то есть что сказать?
> Если человек не знает для чего initrd используется, но мнение имеет -
> ему бесполезно что-то говорить. Он не видел ни одной конфигурации сложнее
> локалхоста и уже дорос - до полного овоща.Скажем, за 20 лет через меня прошло несколько сотен операционных систем unix-like, на разных архитектурах, по разным проектам и отдельным работам. Ни в одном случае я не нашел необходимости не только в тупо безумном initrd, но и в смене корня.
Парни c initrd не сподобились дорасти до предзагрузки модулей ядра, и динамической компоновки до запуска. Поэтому придумали некий блоб с ядром и модулями, читаемый с _того_ _же_ самого устройства и файловой системой, которое и монтирует ядро.
Вопрос для мин 98% ситуаций - нахера этот блоб?
Ответ истинного ононимуса "это специальный ранговый маструбатор, являющийся стандартом. потому что! надо самому понимать, это словами не передать!"
> Скажем, за 20 лет через меня прошло несколько сотен операционных систем unix-likeНе скромничай: ведь не сотен, а тысяч? признайся.
(про то, что тебе 20 лет - более-менее правдоподобно)
Для предзагрузки ядра с функционалом, который не умеет загрузчик. Загрузились сначала с ридонли компактфлеша, а потом завели какой-нибудь суперэкзотический програмный рейд или нужный драйвер подтянули, без которого не грузилось.
> Для предзагрузки ядра с функционалом, который не умеет загрузчик.Вы не понимате как организовано ядро bsd.
>Загрузились сначала с
> ридонли компактфлеша, а потом завели какой-нибудь суперэкзотический програмный рейд или
> нужный драйвер подтянули, без которого не грузилось.Похоже на бред, извините.
>> Для предзагрузки ядра с функционалом, который не умеет загрузчик.
> Вы не понимате как организовано ядро bsd.Заинтриговали, аж мочи нет. Не поделитесь сокровенным?
>>Загрузились сначала с
>> ридонли компактфлеша, а потом завели какой-нибудь суперэкзотический програмный рейд или
>> нужный драйвер подтянули, без которого не грузилось.
> Похоже на бред, извините.Чётко, аргументировано... и в лужу. Извините.
а смысл аргументировать человеку, который не удосужился ни документацию почитать, ни исходные тексты посмотреть, и даже систему загрузить и посмотреть как оно - и поэтому несет откровенную пургу?в общем случае, если /boot/loader считался "нулевым" загрузчиком, то все остальное загрузиться, и kernel, и модули.
а инициализация устройств ядро+модули, проходя по дереву шин, производит уже будучи подзагружено в памяти, в общем случае.
аналог initrd в данном разрезе - откровенно ненужная херня, и в линукс дистрибутивах сделана более всего из-за общего проектного бардака, а таки схавали, и объявили баг фичей.
> а смысл аргументировать человеку, который не удосужился ни документацию почитать, ни
> исходные тексты посмотреть, и даже систему загрузить и посмотреть как оно - и поэтому
> несет откровенную пургу?
> а смысл аргументировать человеку, который не удосужился ни документацию почитать, ни исходные
> тексты посмотреть, и даже систему загрузить и посмотреть как оно -
> и поэтому несет откровенную пургу?Я её как бы с 1995 года гружу, и исходники не только читаю, но и пописываю тоже, годов так заметно больше десяти. Так что я вас умоляю, таки не стеснятесь, делитесь сокровенным.
> в общем случае, если /boot/loader считался "нулевым" загрузчиком, то все остальное загрузиться,
> и kernel, и модули.
> а инициализация устройств ядро+модули, проходя по дереву шин, производит уже будучи подзагружено
> в памяти, в общем случае.Если говорить об общих случаях, для начала осознайте тот простой факт, что loader необходимой компонентой не является даже на x86, а на некоторых платформах попросту вреден.
А ещё давайте рассмотрим такой умозрительный пример дискового устойства, чтобы просто разрешить которое надо: скачать по сети корректный FPGA образ, в зависимости, к примеру, от комбинации TTL уровней на некоем множестве n контактов GPIO, используя для аутентикации ключ из SPI NAND? Этакий пример "функционала, который не умеет загрузчик." оригиенального постера, на который вы так резво разродились "бредом". Общее ядро (c loader-ом ли, или без - не суть важно) загружается, предположим, по сети или из ROM или того же NAND и работает с разблокированной таким образом корневой FS до следующй перезагрузки. Initrd позволяет реализовывать, я подчеркну, _произвольно сложные_ сценарии подобного рода, используя всю мощь ничем неограниченного пользовательского окружения под полноценным ядром. Что loader с его Forth, что специальный код в ядре просто рядом не стояли по критерию простоты и гибкости.
Это только про классический сценарий inird. А есть и другие примеры, вроде вот этого свеженького от Славы:
https://lists.freebsd.org/pipermail/freebsd-mips/2016-Februa...> аналог initrd в данном разрезе - откровенно ненужная херня, и в линукс
> дистрибутивах сделана более всего из-за общего проектного бардака, а таки схавали,
> и объявили баг фичей.Возможный недостаток фантазии и опыта - это ваши личные ограничения, поэтому не стоит обобщать. Можно обойтись без reroot/initrd? Конечно, FreeBSD так и жила годами. Собственно и сейчас initrd-like загрузку никому навязывать не собираются. Открывает ли наличие reroot путь в возможностям, реализация которых ранее сопровожлась повышенным уровнем геморроя или была просто невозможна? По моему это самоочевидно.
>По моему это самоочевидно.С этого надо было начинать, и далее ничего не писать.
>Если говорить об общих случаях, для начала осознайте тот простой факт, что loader необходимой компонентой не является даже на x86, а на некоторых платформах попросту вреден.
Сколько величественного пафоса =)
>для начала осознайте тот простой факт
Осознаю =)
# less /boot/grub/grub.cfg,v
menuentry " FreeBSD 9 Kernel.Old " {
search --label zroot --set root
kfreebsd /boot/kernel.old/kernel
# kfreebsd_module_elf /boot/kernel.old/linux.ko
set KFreeBSD.vfs.root.mountfrom=ufs:ufs/s10root
set KFreeBSD.vfs.root.mountfrom.options=rw
}Как видим "тот простой факт" что подгружать модули ядра
в память можно не только посредством /boot/loader>даже на x86, а на некоторых платформах попросту вреден.
Угу. Кому причиняется вред? Кто потерпевшая сторона?
# cd /usr/src/sys/boot/arm/
# make install
===> uboot (install)
install -o root -g wheel -m 444 /usr/src/sys/boot/arm/uboot/loader.conf /boot/defaults/loader.conf
install -o root -g wheel -m 444 /usr/src/sys/boot/arm/uboot/../../forth/menu.rc /boot/menu.rc.sample
install -o root -g wheel -m 444 ubldr ubldr.bin /usr/src/sys/boot/arm/uboot/../../forth/beastie.4th ... /boot/# uname -mpsr
FreeBSD 11.0-CURRENT arm armv6Запуск freebsd на утюгах и микроволновках не рассматриваю.
Для них есть более соотвествующий софт.>Открывает ли наличие reroot путь в возможностям
Ничего особого. Статический /sbin/init и chroot в /etc/rc,
или замена использовалось 20+ лет назад для разработки.
Но надо быть гм... извращенцем что бы создавать архитектуру,
где это является нормой.
> А кто-нибудь может объяснить, зачем вообще нужен фунционал по смене корневой фс?
> Я не особо представляю, для чего это использовать можно и нужно.https://svnweb.freebsd.org/base?view=revision&revision=290548
> This makes it possible to change
> the root filesystem without full reboot, using "reboot -r". This can
> be used to to eg. boot from a temporary md_image preloaded by loader(8),
> setup an iSCSI session, and continue booting from rootfs mounted over
> iSCSI.Видимо, костыли типа https://wiki.freebsd.org/RootOnZFS/UFSBoot или http://lists.freebsd.org/pipermail/freebsd-hackers/2009-Apri... не всем нравятся )
Например, у Raspberry Pi загрузка возможна исключительно с SD-карточки. Грузимся с карточки и переводим стрелки на USB-HDD, карточку вообще отмонтируем от греха.
>Например, у Raspberry Pi загрузка возможна исключительно с SD-карточки.http://blogs.wcode.org/2013/09/howto-netboot-a-raspberry-pi/
Update: if you want the kernel on a network too…
@barnoid writes to mention that U-Boot allows you to netboot the entire OS (although because of the Pi’s limitations, you still have to load the U-Boot code from an SD card). We haven’t played with this yet, though.
2013 год, Карл.
>Грузимся с карточки и переводим стрелки на USB-HDD
Че, бакланим по фене, чувак? =)
И стрелки ты переведешь до первого похода USB-HDD в несознанку.
Скинет этот фраер коннектор и ищи его.
Так что карточку не мохнать, она надежная.
> you still have to load the U-Boot code from an SD cardКакую букву вам перевести?
>> you still have to load the U-Boot code from an SD card
>Какую букву вам перевести?Внезапно:
https://github.com/raspberrypi/firmware
* ./boot: start*.elf, bootcode.bin are the GPU firmware and bootloaders.
Their licence is described in 'LICENCE.broadcom'. The kernel*.img and *.dtb
files are builds of the Linux kernel, released under the GPL (see COPYING.linux)PHASE ONE: Initialize the hardware
==================================This first boot phase is common to any use of RaspberryPi, whether
you're booting Linux, FreeBSD, or any other software. It loads a
series of proprietary boot loader files that initialize the
hardware and ultimately load and run some executable.https://github.com/freebsd/crochet/tree/master/board/Raspber...
These initial bits are loaded from the first partition on the SD card.
That partition must be formatted as FAT16 or FAT32.* At power on, the ARM core is off and the GPU is on. SDRAM is disabled.
* GPU ROM code reads bootcode.bin from SD card and executes it on the GPU.
* bootcode.bin enables SDRAM and loads start.elf...
Далее u-boot, и загрузка ядра из сети.
В чем проблемы? Что первичный загрузчик (проприентарный) считываеться GPU from board SD card?
> Основные достижения:Радует! :) Плюсанул.
> - Продолжена разработка системного менеджера nosh
> параллелизма. Система переносимая, не зависит от особенностей ядра и может применяться
> как в BSD-системах, так и в Linux.Держу кулаки за представителя "семейства daemontools". Не, правда-правда.
> - Разработчики FreeBSD рассматривают возможность замены подсистем init и rc на
> три проекта:
> разработка по мотивам launchd, systemd и других систем;После 8-го Debian-а даже нет никакого желания тролить на тему инноваций в pid1. :/
> - Близится к завершению проект миграции FreeBSD на инструментарий (http://elftoolchain.sourceforge.net)
> работы с исполняемыми файлами в формате ELF, эквивалентный набору GNU Binutils,Ну, когда же, наконец они выкинут GPL[v2] из базы? Доколе.ТМ //Доживу ли?
> но распространяемый под лицензией BSD. В настоящее время уже подготовлены BSD-версии
> библиотек libelf и libdwarf, а также утилит addr2line, nm, readelf,
> size, strings, as, ld и objdump и strip (elfcopy).----
>Для платформ amd64 и arm64 [...] отладчик LLDB, развиваемый проектом LLVM
> Внесены улучшения в отладчик GDB: в настройках порта devel/gdb включена по умолчанию опция отладки ядра KGDB,
>в роли гостевой системы под управлением гипервизора Hyper-V
>ядро Linux в форме разделяемой библиотеки,
>gcc 4.9Ай, космополиты. Ай, прости.... те, товарищи, молодцы: и нашим, и вашим. Смело, свежо, принципиально!
>проект по [...] SoC, основанных на архитектуре MIPS и применяемых в беспроводных маршрутизаторах
Надо.
>Решается вопрос организации поставки в базовой системе инструментов, распространяемых под лицензией GPLv3
Решительно! Неожиданно - смело. //Уж не доживу1!
> которая позволит сократить время загрузки благодаря распараллеливанию запуска сервисов, повысить надёжность работы за счёт автоматического перезапуска в случае сбоя, упростить управление зависимостями через такие техники как активация по обращению к сокету, обеспечить возможность запуска сервисов по мере необходимости и завершать их при длительной неактивности, увеличить безопасность сократив число компонентов, работающих под пользователем root.Где-то такой FUD уже слышал :-D
>> которая позволит сократить время загрузки благодаря распараллеливанию запуска
> Где-то такой FUD уже слышал :-D"Не systemd! Без регистрации и SMS!!"
Гербалайф?
новый бинарный журнал позволит читать логи сервера, который не может загрузиться, а встроенный веб-сервер позволит генерировать qr-коды
> новый бинарный журнал позволит читать логи сервера, который не может загрузиться,на нем текстовые логи точно так же не читаются, а если есть другая машина - так на ней можно и бинарные логи прочитать с тем же успехом.
Радует участие Netflix в разработке. Могли бы зажать у себя, лицензия позволяет, но есть совесть у людей. Молодцы.
Не совесть, а выгода. Поддерживать свой собственный форк, который с каждый годом все более и более отдаляется от апстрима, дорогого стоит.
Ну, гоблины из Sony отдаляющийся от апстрима форк таки поддерживают.
> Ну, гоблины из Sony отдаляющийся от апстрима форк таки поддерживают.= netflix-ы просто жмоты.
melanox, freebsd - хм, неожиданно
> melanox, freebsd - хм, неожиданноДля тех кто не в теме только ... Там - наши :)
https://wiki.freebsd.org/ProjectsRoutingProposal интересно про этот проект, на тестах пока выглядит неплохо.
> https://wiki.freebsd.org/ProjectsRoutingProposal интересно про этот проект, на тестах
> пока выглядит неплохо."подпольная" разработка сотрудниками Яндекс. Ага, того самого, который "сбежал" с бсд.
> "подпольная" разработка сотрудниками Яндекс. Ага, того самого, который "сбежал" с бсд.Это были Rambler
>> "подпольная" разработка сотрудниками Яндекс. Ага, того самого, который "сбежал" с бсд.
> Это были Ramblerместные ололоши рассказывали, про "яхи, апачи и прочие яндексы" постоянно. я гарантирую это.
> https://wiki.freebsd.org/ProjectsRoutingProposal интересно про этот проект, на тестах
> пока выглядит неплохо.Большая часть уже в 11-CURRENT
https://wiki.freebsd.org/ProjectsRoutingProposal/ConversionS...
Очень настораживает тяга к замене init. Не получить бы сустемду какую-нибудь на шею...
На самом деле, давно пора. Проблемы с init.d давно известны и самоочевидны.
Напрягает немного другое - они пытаются одновременно делать и relaunchd и nosh. По-моему это распыление сил и средств и свидетельствует о некотором непонимании того, что они хотят получить на выходе.
> На самом деле, давно пора. Проблемы с init.d давно известны и самоочевидны.
> Напрягает немного другое - они пытаются одновременно делать и relaunchd и nosh.
> По-моему это распыление сил и средств и свидетельствует о некотором непонимании
> того, что они хотят получить на выходе.Вы внимательно читали про них в тексте новости? Никто ничего не "делает". Они "рассматривают возможность замены подсистем init и rc".
Какое распыление, о чём Вы? Денег задонатьте, коль так вот точно "пора", и живите спокойно.
По поводу денег это вы с собой поговорите лучше.
Я уже второе десятилетие им ежегодно отстёгиваю.
> По поводу денег это вы с собой поговорите лучше.
> Я уже второе десятилетие им ежегодно отстёгиваю.По поводу "это распыление сил и средств и" -- будь мужЫком, кончай ныть.
>По-моему это распыление сил и средств и свидетельствует о некотором непонимании того, что они хотят получить на выходе.Кто эти "они"?
Нош пилит один энтузиаст, причем там пока ситуция "дьявол кроется в мелочах" и лично у меня создалось впечатление, что автора доводка этих мелочей не очень-то и привлекает.
Relaunchd тоже пилится по факту одним разработчиком.Не хотят работать вместе? Бывает – вон, кедоклепатели и гномоделы тоже "распыляют силы", и нечего, хотя многие тоже уверены, что гномоделы сами не очень понимают, что они хотят получить на выходе )
> Кто эти "они"?Они, это кто решает. Core Team
> Они, это кто решает. Core TeamВы уж определитесь "пытаются одновременно делать" или только "решают" (какой проект взять?).
Вот если/когда "они" начнут спонсировать оба проекта или еще как-то активно участвовать в разработке, тогда и можно будет говорить о распылении. Сейчас, в лучшем случае – о черезмерной пассивности и тактике выжидания.
Мне тут определяться не в чем. Я вижу что пилят два (как минимум) взаимодублирующих проекта.
> Я вижу что пилят два (как
> минимум) взаимодублирующих проекта.И каким боком Core Team к этому? И что, начать уговаривать разработчиков объедениться?
> И что, начать уговаривать разработчиков
> объедениться?fix:
Им что, начать уговаривать разработчиков объедениться?
Быть руководящими, направляющими и, главное, мудрыми. И бабла подкидывать в нужное место в нужное время.
> И бабла подкидывать в нужное место
> в нужное время.Во-во. Однако, вместо спонсирования того же hardenedbsd
> On 11 July 2015, we announced a Call For Donations.
> The community has been very gracious towards us.
> As of today, we have now exceeded our goal.
> We are grateful to each and every one of our donors, no matter
> the amount they contributed or in what form.(а ведь Oliver Pinter еще в 2011 ковырял в этом направлении:
https://lists.freebsd.org/pipermail/freebsd-current/2011-Nov... )
или других проектов, предпочитают вкладываться в маркетинг
https://www.freebsdfoundation.org/press/2014dec-newsletter.html
> We increased our FreeBSD advocacy efforts by hiring a full-time marketing directorи остальную пропаганду
http://freebsdfoundation.blogspot.de/
> In addition, your donation will help us:
> · Provide outreach and advocacy for FreeBSD, which includes
> sponsoring many BSD and non-BSD conferences, sending FreeBSD contributors to these conferences
>В рамках проекта relaunchd ведётся работа по созданию аналога системного менеджера Launchd (OS X)а журнал? Будет ли двоичный журнал?
>>В рамках проекта relaunchd ведётся работа по созданию аналога системного менеджера Launchd (OS X)
> а журнал? Будет ли двоичный журнал?Где вас таких берут ? Неужели трудно заглянуть в /usr/ports/sysutils/relaunchd ?
> а журнал? Будет ли двоичный журнал?Неужели и нетфликс надоело грепать гигабайтные логи? :)
Очень толсто. Для гигабайтных логов используют несколько другие решения на всех платформах
> доведение до финального вида механизмов работы с jailЧто это означает? Сейчас механизмы не финальные?
> упростить управление зависимостями через такие техники
> как активация по обращению к сокетуЭто как? На обращения к сокетам можно будет вешать обработчиков события "обращение к сокету"?
> На звание нового системного менеджера претендуют три проекта: relaunchd ...
Чё-то не нравится мне этот relaunchd с каким-то там JSON и т.п. Nosh беглым взглядом по обзорам представляется более похожим на старые добрые методы работы...
Озвучте пожалуйста кто-нибудь перечень реальных проблем init, из-за которых его нужно менять. Ну кроме скорости загрузки, которая для сервера очень сомнительную ценность имеет
Инновации, радиусы прямоугольника, тач-интерфейс и просто NIH
> Ну кроме скорости загрузки, которая для сервера очень сомнительную ценность имеетДа, локалхост-"сервера" - они ведь нетребовательные...
> Озвучте пожалуйста кто-нибудь перечень реальных проблем init, из-за которых его нужно менять.Годится только для систем где рядом сидит вахтер локалхоста, который караулит все падения и ошибки. Но ему надо зряплату платить, а это дорого. Когда локалхстов много - получается очень дорого. Автоматика дешевле.
Doooo dude!
Cо времён когда Daniel J. Bernstein был ещё не лысым (даааавно!) - "караулит все падения и ошибки" софт заточенный под это :) А не примотанный синей изолентой и ржавым гвоздём к иниту 8-\
Поддержка интеловского видео - где? :-D
Поддержку NUMA так и не сделали :(