LINUX.ORG.RU

Новости «Ядро Linux»

Активные теги:

 ,

Фонд СПО опубликовал Linux-libre 4.3 — полностью свободную версию ядра Linux

 , ,

Группа Ядро Linux

Латиноамериканский Фонд СПО выпустил полностью очищенный от проприетарных компонентов вариант ядра Linux версии 4.3. Из ядра полностью исключены все несвободные компоненты, а также убрана документация к ним.
Выявление и удаление бинарных компонентов происходит при помощи shell-скрипта deblob. А ядро, пропатченное таким образом, по умолчанию используется в полностью свободных дистрибутивах, соответствующих требованиям Фонда СПО, таких как Dragora GNU/Linux, Trisquel, Guix и др. Также пакет linux-libre доступен в репозитории AUR для Arch Linux.

>>> Подробности (gnu.org)

sudopacman
()

Опубликован исходный код фаззера syzkaller, а также найденные им уязвимости

 ,

Группа Ядро Linux

Дмитрий Вьюков из Google с помощью фаззера syzkaller нашел примеры последовательностей системных вызовов, способных вызвать проблемы в ядре (неубиваемый зависший процесс или oops). Фаззер основан на использовании информации о покрытии кода ядра автоматически генерируемыми тестовыми программами. Для работы необходимо наличие в конфигурации ядра детекторов плохого поведения: KASAN, KTSAN (доступны в виде CONFIG-опций при сборке ядра) или KUBSAN (доступен в виде патча).

Примеры найденных уязвимостей опубликованы в LKML (пока в количестве 6 штук, список растет).

>>> Подробности (github.com)

AEP
()
: Состоялся релиз ядра Linux 4.2.2 (108 комментариев)

Вышло ядро Linux 4.2

 ,

Группа Ядро Linux

30-го августа, после чуть более двух месяцев разработки и восьми кандидатов в релизы вышла новая версия ядра Linux 4.2. В ней представлены множественные изменения, основные из которых выделены ниже.

( читать дальше... )

Конечно же, в новом ядре есть и множество других изменений, которые, к сожалению, не поддаются перечислению в рамках данной новости. Чтобы получить более детальную информацию о новшествах ядра, рекомендуется обратиться к указанным ниже источникам.

>>> Скачать архив с исходным кодом

>>> Скачать патч на ядро 4.1

>>> Официальный анонс (gmane.org)

post-factum
()

Ядру Linux исполнилось 24 года

 , ,

Группа Ядро Linux

Ядро Linux отмечает свой 24 день рождения. 25 августа 1991 года, после 5 месяцев разработки, 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux, для которой было отмечено завершение портировния bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября. Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тыс. строк кода. Современное ядро Linux насчитывает более 19 млн строк кода. По данным исследования, проведенного по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта аналогичного современному ядру Linux составила бы более миллиарда долларов.

Разработка первых версий ядра велась очень интересно, и ещё тогда ею занимался один лишь Линус Торвальдс. Вот что он пишет в своей автобиграфии по этому поводу:

В те времена я загружался в Linux, но использовал Minix как основную среду разработки. Под Linux я в основном получал с университетского компьютера почту и новости с помощью своей программы эмуляции терминала. Поскольку университетская машина была постоянно занята, я написал программу автодозвона. Но в декабре я по ошибке позвонил вместо модема на винчестер. Вместо параметра auto dial /dev/ttyl (последовательный интерфейс) я указал /dev/hdal (винчестер). В итоге я нечаянно попортил некоторые важные части раздела, где у меня сидела Minix. Теперь я не мог ее загружать.
Это был решающий момент: можно было переустановить Minix или принять вызов и объявить, что Linux может полностью ее заменить. Я написал программы для компиляции Linux внутри нее самой и каждый раз, когда мне требовалась Minix, просто добавлял в Linux нужную функцию. Это большой шаг вперед, когда отказываешься от исходной базовой среды и переходишь на самообеспечение. Поэтому в конце ноября я выпустил версию 0.10. А еще через несколько недель – 0.11.

Первоначально Линус задумал назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя Linux ядро получило с легкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на своем FTP-сервере, назвав директорию с архивом не «freax» как просил Торвальдс, а «linux». Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux ядра, пингвин Tux, был выбран в результате соревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.

>>> Подробнее об истории развития (opennet.ru)

kalterfive
()

Linux-libre 4.1

 , , ,

Группа Ядро Linux

Спустя несколько часов после выхода Linux 4.1, латиноамериканское подразделение Фонда Свободного ПО (FSFLA) представило Linux-libre 4.1 — новую версию полностью очищенного от проприетарных компонентов (и документации к ним) ядра Linux, по умолчанию использующегося в различных дистрибутивах GNU/Linux, таких как Trisquel, Guix и LibreWRT. Каждый выпуск Linux-libre подготавливается с помощью скрипта deblob (он разделён на 3 компонента: 1, 2, 3), благодаря которому можно очистить Linux от блобов самостоятельно.

Загрузить

>>> Подробности (gmane.org)

svobodka_fighter
()

Ядро Linux 4.1

 

Группа Ядро Linux

Состоялся релиз ядра Linux 4.1, в который принято примерно 12 тысяч исправлений от более полутора тысяч разработчиков, при этом 41% всех изменений связаны с драйверами устройств. Большая часть изменений внесена сотрудниками компаний: 11,2% Intel, 9.2% - Red Hat, 3.7% - SUSE, 3.3% - Linaro, 3.3% - IBM, 3.1% - Google, 2.9% - Samsung, 2.4% - Renesas Electronics, 1.9% - Texas Instruments, 1.4% - Broadcom, 1.3% - Oracle, 1.3% - Cisco, 1.1% - ARM. Наиболее интересные улучшения:

( читать дальше... )

>>> Подробности (на английском языке) (lkml.org)

mbivanyuk
()

Вышло ядро Linux 4.0

 ,

Группа Ядро Linux

Вышло ядро Linux версии 4.0, под кодовым именем «Hurr durr I’m a sheep». Linux 4.0 является релизом с небольшим количеством нововведений, которые, в основном, касаются улучшения поддержки нового оборудования, улучшения драйверов, оптимизации производительности и исправления различных ошибок.

Но самое главное нововведение — это поддержка технологии Live Kernel Patching, которая позволяет устанавливать обновления ядра без перезагрузки.

( читать дальше... )

Новость на opennet

>>> Источник новости (omgubuntu.co.uk)

fallout4all
()

Boston Dynamics делает форк ядра Linux

 ,

Группа Ядро Linux

Boston Dynamics, дочерняя компания Google, специализирующаяся на робототехнике, создает ответвление ядра Linux ориентированное на быстродействующий искусственный интеллект. Ядро будет оптимизировано для создания интегрированных нейросистем для использования в военной робототехнике, авиации, ракетном вооружении. Нумерация релизов ядра изменена на месяц.дата.год (Linux 4.1.15).

>>> Подробности (bostondynamics.com)

steemandlinux
()

Представлен первый кандидат в релизы ядра Linux Kernel 4.0

 ,

Группа Ядро Linux

Линус Торвальдс не стал продолжать нумерацию 3.x, и выпустил первый кандидат в релизы ядра Linux Kernel 4.0, вместо ожидаемого выпуска 3.20. Смене нумерации способствовали результаты голосования, в котором приняло участие почти 30 тысяч представителей сообщества, из которых 56% посчитали, что настало время выпуска версии 4.0. Переход к нумерации 4.x является формальным шагом, обусловленным лишь эстетическими соображениями. В 2013 году рассматривалась идея использования смены первого номера в версии как дополнительного стабилизирующего этапа (предлагалось включить в ядро 4.0 только исправления ошибок, без функциональных изменений и новшеств), но данная идея была отвергнута. С точки зрения функциональности, выпуск 4.0 не содержит кардинальных изменений или нарушений совместимости и не выделяется среди остальных выпусков, плавно продолжая развитие текущей кодовой базы. Прошлая смена нумерации была произведена в 2011 году, когда в ветке 2.6.x накопилось 39 релизов. На подготовку 40 выпусков в ветке 2.6.x было потрачено 10 лет, что по мнению Линуса слишком много, поэтому наращивание нумерации ветки 3.x решено прекратить после 20 выпусков. Весомым аргументом в пользу ядра 4.0 также стало желание как можно скорее увидеть выпуск 4.1.15 - это номер версии ядра Linux, показанный в фильме Терминатор, при демонстрации интерфейса киборга T-800.

( Из новшеств Linux Kernel 4.0 можно отметить: )

>>> Подробности (lkml.org)

Odalist
()

Вышел патчсет pf-kernel для ядра Linux версии 3.19

 , , ,

Группа Ядро Linux

Состоялся первый выпуск десктопного патчсета pf-kernel для ядра Linux ветки 3.19.

pf-kernel — это набор патчей, которые не входят в основное ядро, но обеспечивают повышенную отзывчивость системы, предоставляют альтернативную подсистему гибернации, более быструю, нежели основная, а также уменьшают использование памяти с помощью техники объединения одинаковых страниц.

( читать дальше... )

Официальный сайт

Скачать патч (цифровая подпись, верификация)

>>> Анонс (natalenko.name)

post-factum
()

Вышло ядро Linux 3.19

 ,

Группа Ядро Linux

Линус Торвальдс представил очередной релиз ядра, в ходе разработки в ядро внесено примерно 11500 исправлений принятых от 1200 разработчиков, размер патча 38 МБ. При этом примерно 46% изменений связаны с драйверами устройств, около 19% изменений связаны с кодом для различных аппаратных архитектур, 12% — с сетевым стеком, 4% — с файловыми системами и примерно 4% — c внутренними подсистемами ядра.

( читать дальше... )

>>> Подробности (на английском языке) (iu.edu)

mbivanyuk
()

Ядро Linux проверено статическим анализатором PVS Studio

 , , , ,

Группа Ядро Linux

Исходный код ядра Linux (3.18.1) был проверен проприетарным статическим анализатором PVS Studio, разработанным в Туле. Анализатор нашёл ряд ошибок и крайне подозрительных участков кода. Полный текст статьи можно найти на сайте компании или на habrahabr.ru.

PVS-Studio ориентирован только на Windows, поэтому для проверки исходного кода ядра Linux была написана утилита на С++, которая для каждого запущенного процесса компилятора сохраняла командную строку, текущую директорию и переменные окружения. По результатам проверки были выбраны и подробно описаны некоторые интересные сообщения.

>>> Результаты проверки ядра Linux (3.18.1) анализатором PVS-Studio (viva64.com)

Andrey_Karpov_2009
()
: BLD для ядра 3.18 (30 комментариев)

Первый твикер для Linux

 , tweaker, твикер,

Группа Ядро Linux

Польский разработчик NetBit предлагает набор патчей eXt73, улучшающих производительность множества подсистем ядра Linux,, включая графическую. Приведённые в статье графики Phoronix Test Suite 5.4.0 показывают заметное превосходство патченого ядра над стоковым, местами - в 2 раза.

Патчсет распротраяняется в виде бинарного пакета, получить который можно за 50 злотых (это пятнадцать долларов или тысяча рублей). На гитхабе разработчика можно найти бесплатные патчи из патчсета для ознакомления с его эффективностью, существует репозиторий для deb-дистрибутивов:

sudo add-apt-repository ppa:netext/netext73

sudo apt-get update && sudo apt-get install netext73

К патчсету также прилагается твикер на Qt4.

>>> Подробности (phoronix.com)

anonymous
()

Релиз ядра Linux 3.18

 ,

Группа Ядро Linux

Линус Торвальдс объявил о выходе ядра Linux 3.18, основные новшества:

  • В ядро интегрирована файловая система OverlayFS, разработанная SUSE и позволяющая создать виртуальную многослойную файловую систему, поверх доступной только на чтение основы.
  • Для сервера NFS появилась поддержка операции SEEK.
  • В файловую систему F2FS добавлена поддержка атомарных операций записи, позволяющих рассматривать успешное или сбойное завершение серии операций как единое целое.
  • Для Btrfs улучшен код восстановления повреждённых RAID-массивов и перестроения RAID.
  • Появилась сетевая подсистема FOU (Foo-over-UDP) для организации тунеллирования различных IP-протоколов поверх UDP.
  • Добавлена поддержка алгоритма контроля перегрузки TCP DCTCP (Data Center TCP).
  • Внесён ряд оптимизаций в сетевую подсистему, направленных на увеличение производительности пакетной передачи данных.
  • Появилась поддержка протокола Geneve (Generic Network Virtualization Encapsulation), универсального протокола инкапсуляции для виртуализированных сетей.
  • Добавлен новый системный вызов bpf(), предоставляющий доступ к возможностям универсальной виртуальной BPF-машины внутри ядра.
  • Удалось добиться существенного сокращения времени перехода в спящий режим для систем с большим числом процессоров за счёт избавления от задержки в 100ms для каждого CPU перед его остановкой.
  • В системный вызов prctl() добавлена новая операция PR_SET_MM_MAP, позволяющая выставить основные параметры раскладки адресного пространства процесса, в том числе указать где разместить области с кодом и данными, где находится стек, определить точки останова.
  • Включена подсистема RCU tasks, позволяющая использовать механизм синхронизации RCU (Read-copy-update) для защиты целостности структур данных.
  • Внесён ряд изменений, направленных на обеспечения сборки ядра при помощи компилятора Clang. В частности, осуществлена замена массивов переменной длины в структурах данных (VLAIS, Variable Length Array In Struct) на созданный при помощи макроса SHASH_DESC_ON_STACK() эквивалент, совместимый со спецификацией C99 и поддерживаемый в Clang.
  • Включены в ядро некоторые патчи, подготовленные в рамках инициативы по обеспечению сборки как можно более компактного ядра Linux, занимающего минимальный размер. Добавлена возможность исключения из сборки системных вызовов madvise() и fadvise(), а также кода разбора флагов с описанием возможностей процессора.
  • Добавлена штатная поддержка установки модулей ядра в сжатом виде.
  • Был добавлен драйвер «pvSCSI» (Paravirtualized SCSI), позволяющая организовать работу гостевых систем, работающих под управлением гипервизора Xen, с привязанными к ним SCSI-устройствами.
  • В код для архитектуры ARM64 адаптирован новый JIT-компилятор BPF (eBPF).
  • Архитектура SPARC64 переведена на четырёхуровневые таблицы страниц памяти, что значительно увеличило размер адресуемой памяти.
  • Для DRM-драйвера Nouveau добавлена поддержка вывода звука через порт DisplayPort.
  • В DRM-драйвер Radeon для старых карт R600 добавлена поддержка UVD (Unified Video Decoder) для ускорения декодирования видео.
  • В DRM-драйвере Intel реализована поддержка кэширования значений EDID и внесена порция накопившихся улучшений.
  • Добавлена поддержка:
    • Новых SoC: Hisilicon HiP04 Cortex A15, Amlogic Meson6 (8726MX), Renesas R-Car E2 (R8A77940), Broadcom BCM63xx DSL, Atmel SAMA5D4, Cavium Inc. Thunder;
    • Звуковых карт Freescale, добавлены кодеки для Everest ES8328, Freescale ES8328 и Cirrus Logic CS35L32;
    • Ethernet-контроллеров Qualcomm Atheros QCA7000 и Ethernet-коммутаторов Broadcom Starfighter 2, Intel FM10000 и Marvell 88E6171;

Более полная новость на opennet.ru

>>> Подробности (на английском языке) (lkml.org)

mbivanyuk
()

Грег Кроа-Хартман ответил на вопросы пользователей Reddit

 , , ,

Группа Ядро Linux

Один из основных разработчиков ядра Linux Грег Кроа-Хартман (Greg Kroah-Hartman), мейнтейнер стабильной ветки, автор многих драйверов и целых подсистем, в числе которых debugfs, USB, kref, kobject и sysfs, провёл сессию ответов на вопросы (Ask Me Anything) на Reddit.com.

Предлагаем самые интересные факты из ответов Грега.

  • Грег хорошо относится к Android и systemd. Он даже сам внёс в ядро ряд патчей для совместимости с systemd.
  • У него нет определённого мнения о Wayland, но он уверен, что X11 — это отнюдь не главная проблема Linux на десктопе.
  • Грег изучал языки Rust и Go. Go ему нравится больше, он активно на нём пишет. На вопрос о том, поддерживает ли язык C принципы DRY и loose coupling, а также о том, как он относится к C11, он ответил, что не знает, что такое DRY и loose coupling и что нового появилось в C11.
  • Самым главным навыком в разработке ядра он считает умение читать огромное количество электронных писем, поступающих в рассылку разработчиков ядра каждый день. Вообще работа мейнтейнера — это как работа редактора в газете, самое главное — общаться с людьми и выбирать хорошие патчи, а писать код самому — это уже второстепенное занятие.
  • На вопрос о том, не планируют ли разработчики ядра перейти с общения по e-mail на активное использование Github, Gerrit и Gitorious, Грег ответил, что это невозможно: эти инструменты просто не справятся с нужным объёмом работы. Наиболее популярные проекты на Github уже сталкиваются с проблемами, а ядро Linux, насколько известно Грегу, — самый большой в мире проект по числу людей, работающих совместно (около 3400 в прошлом году), и по количеству патчей в единицу времени (для ядра 3.16 — в среднем 9,5 патчей в час, 24 часа в день). Даже над ядром Windows работает гораздо меньше программистов.
  • До того, как Грег начал работать над ядром Linux, его работа была связана со встроенными устройствами. Ему приходилось в том числе писать драйверы под разные операционные системы для работы с железом, прошитым им самим или его коллегами, в том числе и под Windows. Он отмечает, что писать драйверы под Linux настолько проще, чем под Windows, что «даже не смешно».
  • На вопрос о том, какие 5 самых главных тем надо рассматривать на курсах об устройстве ОС, он ответил: «драйверы, драйверы, драйверы, драйверы и драйверы».
  • Когда Грега спросили, знает ли он, что если погуглить его имя, на первой же картинке он показывает неприличный жест. Грег сказал, что знает: над ним его дети по этому поводу смеются.
  • А ещё Грег любит механические клавиатуры и пользуется двумя Cherry Blue.

>>> Вопросы и ответы на Reddit (reddit.com)

proud_anon
()

Релиз ядра Linux 3.17

 

Группа Ядро Linux

Состоялся релиз ядра Linux 3.17, среди наиболее важных улучшений и изменений:

  • Включена поддержка техники маппинга памяти memfd, суть которого заключается в идентификации области памяти через файловый дескриптор, который может передаваться между процессами. Это позволяет после выделения памяти обращаться к ней по файловому дескриптору, то есть фактически как с файлом.
  • Добавлена техника запечатывания файла (file sealing), позволяющая ограничить операции, которые могут выполняться над файлом. Например можно запретить на уровне файлового дескриптора изменение содержимого файла.
  • Теперь по умолчанию включена технология Render Nodes, предназначенная для разделения монолитных устройств /dev/dri/card{num} на две категории. Первая категория Rendering Nodes (/dev/dri/renderD{num}) отвечает за аппаратное ускорение рендеринга и обсчет вычислительных заданий GPGPU. Вторая ModeSetting Nodes (/dev/dri/modeset{num}) обеспечивает переключение видеорежимов и управление экраном. Это позволяет более гибко управлять правами доступа и предоставляет возможность выполнения вычислений на GPU или рендеринга без вывода на экран и без привязки к активному дисплею.
  • Представлена реализация API DMA-BUF, позволяющего организовать совместное использования буферов драйверами и различными подсистемами, а также синхронизировать работу устройств (cross-device synchronization). Теперь она доступна для всех модулей ядра.
  • Для утилиты perf добавлена возможность трассировки обращений к невыделенным страницам памяти (page-fault) и генерации связанной с такими обращениями статистики.
  • При использовании файловой системы XFS теперь необходима сборка ядра с 64-разрядным числом секторов.
  • Добавлена начальная поддержка Multiqueue SCSI, рассчитанного на организацию многопоточного доступа к данным на многоядерных системах и позволяющего эффективно использовать возможности современных SSD-накопителей.
  • Добавлен системный вызов kexec_file_load(), позволяющий выполнить проверку по цифровой подписи для нового ядра, перед его запуском с использованием механизма kexec. Ранее функцию загрузки нового ядра из уже запущенного ядра Linux (kexec) приходилось отключать при использовании UEFI Secure Boot, так как невозможно было гарантировать сохранение цепочки доверия.
  • Для криптографической подсистемы добавлена поддержка детерминированного генератора псевдослучайных чисел, соответствующего спецификации NIST SP800-90A.
  • В подсистему LSM (linux security module) добавлен новый hook kernel_fw_from_file(), который можно использовать для проверки целостности бинарных прошивок перед их загрузкой ядром.
  • Полностью прекращена поддержка архитектур POWER3 и rs64;
  • Также прекращена поддержка систем Samsung S5P6440, S5P6450 и S5PC100.
  • В код для архитектуры ARM64 добавлена поддержка четырёхуровневых таблиц страниц памяти, что позволило значительно расширить размер адресуемой виртуальной памяти.
  • Гипервизор KVM адаптирован для big-endian ARM-систем.
  • Для DRM-драйвера Nouveau устранены проблемы с использованием GPU Kepler, добавлена поддержка режима Zero Bandwidth Clear для GPU Fermi, Kepler и Maxwell.
  • Поддержка чипов «Hawaii» (Radeon R9 290) добавлена в DRM-драйвер Radeon.
  • Проведена подготовка к поддержке DRM-драйвером Intel Atom SoC Cherry Trail, добавлена поддержка Universal plane.

>>> Подробности (на английском языке) (lkml.org)

mbivanyuk
()
: Релиз ядра GNU Linux-libre 3.16 (28 комментариев)

Релиз ядра Linux 3.16

 

Группа Ядро Linux

Линус Торвальдс после двухмесячной разработки объявил о выходе ядра Linux 3.16. В этот релиз принято около 11910 исправлений от 1300 разработчиков, размер патча 37 Мб, изменения затронули 9809 файлов, добавлено 514025 строк кода, удалено 267461 строк. Из всех изменений около 42% связаны с драйверами устройств, 24% внесённых изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 5% — файловыми системами и 5% c внутренними подсистемами ядра.

( Наиболее значительные новшества )

Новость взята с opennet.ru

>>> Подробности (на английском языке) (lkml.org)

mbivanyuk
()