Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Ведущие разработчики Linux теряют желание кодировать

Open source
Ключевые программисты ядра Linux перестают писать код. Они начинают всё больше проверять других и управлять проектами. Группа разработчиков становится многочисленнее и сложнее, поэтому появляются неофициальные менеджеры. Таково мнение Грега Кроа-Хартмана, ведущего разработчика поддержки USB и PCI в Linux, а также автора книги “Linux Device Drivers”.

В последнем релизе ядра 30 ведущих разработчиков инициировали всего 30% от общего количества правок, тогда как два года назад 20 ведущих разработчиков сделали 80% правок. За последние два года свою лепту в разработку Linux внесли 3200 человек, причём каждый второй делал это неоднократно.
Читать дальше →
Всего голосов 23: ↑19 и ↓4 +15
Просмотры1.9K
Комментарии 18

Включаем NX-бит в 32-битном ядре на 64-битном CPU

Настройка Linux
Прочитав en.wikipedia.org/wiki/NX_bit#Linux узнал, что в Linux давно (с 2.6.8) есть поддержка NX-бита для 64-битных CPU, даже если ядро 32-битное.
В списке изменений нашёл ссылку на инструкцию по его включению. Надо всего лишь пересобрать ядро, включив опцию CONFIG_HIGHMEM64G.
Читать дальше →
Всего голосов 9: ↑6 и ↓3 +3
Просмотры1.9K
Комментарии 5

Microsoft хочет внести свой код в ядро Linux — давайте разберёмся

Настройка Linux
В этой статье я хочу развеять всеобщее помешательство насчёт того, что Microsoft хочет внести свой код в ядро Linux. Для начала давайте посмотрим, что это за код.
Читать дальше →
Всего голосов 161: ↑141 и ↓20 +121
Просмотры3.9K
Комментарии 169

Обработка сообщений ядра

Блог компании Webzilla

Предисловие


Страшная сказочка:
EDAC MC0: 1 CE read ECC error on CPU#0Channel#1_DIMM#0 (channel:1 slot:0)
EXT4-fs error: ext4_wait_block_bitmap:445: Cannot read block bitmap
Out of memory: Kill process 95 (sshd) score 31 or sacrifice child
CMCI storm detected: switching to poll mode
page allocation failure: order:1, mode:0x4020
invalid opcode: 0000 [#1] SMP

Неприятно выглядит, правда? Список может быть очень длинным очень длинный. В этой статье я расскажу как с этим жить и что мы с ним сделали.

Часть из этих сообщений в примерах выше заставит вас погрузиться в бездны современной архитектуры процессоров («CMCI storm», удачи в поиске дороги назад, из дебрей интернетов)… Cтранные вещи в ядре могут нарушать ожидания о том, как работают компьютеры, делая последующую отладку очень затруднённой. Отсутствие знания о том, что случилось может даже оставить с грустным ответом «какая-то неведомая фигня, ребутнули, вроде, прошло».
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Просмотры15K
Комментарии 13

Алгоритм: Как оформить баг на ядро Linux

Настройка Linux
Из песочницы
Мой опыт в разработке и отладке Parallels Virtuozzo Containers позволил обобщить и сформулировать список пожеланий к описанию проблемы пользователя, который позволяет существенно уменьшить время диагностирования и решения проблемы в ядре операционной системы Linux. Прошу отметить, что при всей очевидности некоторых рекомендаций многие участники open-source сообщества по-прежнему пренебрегают ими. Алгоритм представлен подкатом.
Читать дальше →
Всего голосов 95: ↑92 и ↓3 +89
Просмотры1.9K
Комментарии 14

Реализация режима энергосбережения DEEP IDLE в ядре Linux

Разработка под Android
Разработчик, который зарегистрирован на форуме xda-developers.com под ником Ezekeel, попытался разобраться, почему его Nexus S слишком быстро съедает заряд аккумулятора в режиме ожидания. В техническом руководстве устройства указано, что устройство поддерживает режимы работы NORMAL, IDLE, DEEP IDLE, STOP, DEEP-STOP и SLEEP. Но беглое изучение ядра Linux показало, что в операционной системе имеется только поддержка IDLE. В этом режиме отключается лишь процессор, а остальные модули продолжают потреблять энергию. Ezekeel решил исправить этот недостаток.
Читать дальше →
Всего голосов 65: ↑62 и ↓3 +59
Просмотры3.4K
Комментарии 67

CRIU 0.2 и Linux Containers — новые возможности

Open source
На Хабре уже выходила статья, приуроченная к выходу CRIU 0.1. Эта версия продукта была недостаточно функциональна и скорее демонстрировала работоспособность уникальной технологии, разрабатываемой компанией Parallels.

С тех пор была проделана большая работа и возможности CRIU вплотную приблизились к главной цели: сохранение и восстановление Linux контейнера. Несмотря на то, что пока поддерживается только пустой контейнер со стандартным набором процессов, есть все основания полагать, что проект обречён на успех.

А если вас не интересуют контейнеры, то вам, возможно, понравится ещё одна новая возможность —
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры4.6K
Комментарии 0

Использование zRam для увеличения количества доступной памяти под Linux

Виртуализация
image
Уже 2 месяца использую на своих компьютерах модуль zRam и хочу поделиться результатами. На практике он позволил мне не используя раздел подкачки, и не получая видимого замедления работы компьютера увеличить размер оперативной памяти в 2.5-3 раза. На сервере виртуалок тот же подход позволил очень ощутимо увеличить отзывчивость при нехватке памяти.
Заинтересовавшихся прошу под кат.
Читать дальше →
Всего голосов 119: ↑116 и ↓3 +113
Просмотры123.2K
Комментарии 97

Использование драйверов из Android приложения

ПрограммированиеРазработка под Android
Из песочницы
Tutorial
Рут даёт практически абсолютную власть над Android устройством. Сегодня я расскажу вам как получить еще больше имея склонность к программированию и желание исследовать систему на своём устройстве. Кто заинтересовался — прошу под кат.
Читать дальше →
Всего голосов 55: ↑49 и ↓6 +43
Просмотры42.9K
Комментарии 11

В преддверии очередного релиза CRIU

Open source
Сегодня я хочу продолжить серию статей о проекте CRIU (Checkpoint/restore mostly in the userspace). Проекту чуть более года, а по возможностям он уже в плотную приблизился к подобной функциональности в OpenVZ.
Первая часть статьи расскажет о новой функциональности, которая появилась в CRIU за последние несколько месяцев. Вторая часть расскажет о нашем опыте внедрения новых технологий для улучшения процесса разработки.

Новая функциональность


Снапшот памяти и итеративная миграция


Киллер фича следующего релиза — итеративные снапшоты состояния процесса и, как следствие, итеративная миграция. В обоих случаях на каждой следующей итерации, сохраняется только та часть памяти, которая изменилась с предыдущего раза. В первом случае это позволяет сократить время и количество данных на диске. В случае миграции существенно сокращается время простоя (downtime) системы, потому что на первой итерации копирования памяти процессы не замораживаются.
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры4.1K
Комментарии 10

Зачем пользователи GIT-а редактируют свои коммиты

Open sourceGit
В последних двух выпусках Радио-T ведущие пытались обсудить GIT. Евгений (@Umputun) задавался вопросом зачем нужен rebase и очень удивился, когда я спросил, редактирует ли он коммиты. На мой взгляд, чтоб понять GIT, достаточно вникнуть в процесс разработки Linux Kernel, т к создавался он именно для этого.
Читать дальше →
Всего голосов 113: ↑103 и ↓10 +93
Просмотры55.8K
Комментарии 123

Вышло ядро Linux 3.10

Настройка Linux
image

В воскресенье вечером официально вышло новое ядро Linux 3.10. По словам Линуса Торвальдса, ядро получилось самым большим по объему нововведений за последние несколько лет. Первоначально Линус предполагал выпустить еще один релиз-кандидат, но склонился к тому, чтобы выпустить финальный релиз 3.10 — и в своем сообщении он замечает, что новое ядро, как и Linux 3.9, не склонно к проблемам с работоспособностью и готово к повседневному использованию.

В анонсе RC-версии Торвальдс писал, что обычно он включал список имен людей, которые прислали те или иные части кода, однако на сей раз этот список был столь велик, что его нельзя было привести целиком в одном листе рассылки.
Читать дальше →
Всего голосов 109: ↑100 и ↓9 +91
Просмотры64.3K
Комментарии 61

Linux Kernel исполнилось 22 года

Настройка Linux
Recovery mode
Когда я впервые установил linux ему было уже 7 лет, а в другом мире только-что появилась win98, с тех пор на протяжении пары лет, второй системой жили разные дистрибутивы, пока окончательно не обосновался дебиан(который тоже недавно отмечал свой юбилей), который уже более 10 лет остается моей единственной системой.

Спасибо тебе Линус за то, что 22 года назад ты сделал это, знал ли ты тогда 25 августа 1991года, что выйдет из твоей затеи? — конечно нет, но в результате ты изменил, как компьютерный мир в целом так и мой мир, жаль, что я не узнал о линуксе раньше.

За эти 22 года ядро прошло огромный путь от системы работающей только на i386 до системы работающей практические на всех существующих архитектурах, от 10 тысяч строк кода до 16 миллионов строк, от одного разработчика до тысяч разработчиков со всех концов планеты, а по возможностям, пожалуй превзошло коммерческие системы.

Хоть я уже и не патчу-пересобираю ядро как раньше, я буду и дальше оставаться тебе верным пользователем:)
Всего голосов 123: ↑90 и ↓33 +57
Просмотры15K
Комментарии 15

Загрузка ОС Linux без загрузчика

Настройка Linux*nixUEFI
Из песочницы
Tutorial

Введение


Здесь по возможности я постараюсь как можно проще и детальнее ответить на вопрос:
«Как можно загрузить Linux (на примере ubuntu) без использования загрузчика такого как GRUB 2, iELILO»
Здесь не будет разбираться как запустить/установить Ubuntu в режиме [UEFI only]. Для этого обратитесь сюда help.ubuntu.ru/wiki/установка_дистрибутива_на_компьютер_с_efi
и сюда help.ubuntu.ru/wiki/lubuntu-osinstallation
Все действия будут производиться на уже работающей системе.
Читать дальше →
Всего голосов 56: ↑46 и ↓10 +36
Просмотры77.2K
Комментарии 18

Linux Kernel EFI Boot Stub или «Сам себе загрузчик»

Настройка Linux*nixUEFI
Из песочницы
UEFI Tux Logo

Введение


Прочитав недавнюю статью Загрузка ОС Linux без загрузчика, понял две вещи: многим интересна «новинка», датируемая аж 2011 годом; автор не описал самого основного, без чего, собственно, и работать ничего не будет в некоторых случаях. Также была ещё одна статья, но либо она уже устарела, либо там опять таки много лишнего и недосказанного одновременно.

А конкретно, был упущен основной момент — сборочная опция ядра CONFIG_EFI_STUB. Так как в последних версиях U(lu/ku/edu/*etc*)buntu эта опция по умолчанию уже включена, никаких подозрений у автора не появилось.
Насколько мне известно, на текущий момент она включена в дистрибутивах указанных версий и выше: Arch Linux, Fedora 17, OpenSUSE 12.2 и Ubuntu 12.10. В комментах ещё упомянули, что Debian с ядром 2.6 умеет, но это не более, чем бэкпорт с последних версий. На этих дистрибутивах пересобирать вообще ничего не нужно! А ведь на других CONFIG_EFI_STUB, скорее всего, либо вообще отсутствует, т. к. опция доступна только с ядра версии 3.3.0 и выше, либо выключена по умолчанию. Соответственно, всё, описанное ниже, справедливо для ядра, собранного с опцией CONFIG_EFI_STUB.

Итак, что же такое Linux Kernel EFI Boot Stub?


Общая информация

А ни что иное, как… «exe-файл»!
Читать дальше →
Всего голосов 71: ↑69 и ↓2 +67
Просмотры67.7K
Комментарии 23

Простая маскировка модуля ядра Linux с применением DKOM

Информационная безопасностьСистемное программирование
Tutorial
Как известно, задача сокрытия модуля ядра от вездесущих «глаз» пользователя может иметь множество приложений. В данной статье рассматривается применение DKOM (Direct Kernel Object Manipulation) — одной из техник, позволяющий осуществить сокрытие информации посредством модицикации внутренних структур ядра.

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

Читать далее
Всего голосов 41: ↑38 и ↓3 +35
Просмотры10.4K
Комментарии 12

Динамическое расширение ядра Linux — добавляем функцию «удалить в корзину»

Системное программированиеC
Многим пользователям Linux, особенно тем, кто по тем или иным причинам перешёл на эту ОС с Windows, не хватает возможности удаления файлов «в корзину». Кроме того, наверняка, каждый, кто пользовался Linux'ом и по ошибке удалял какой-либо файл, испытывал смешанные чувства от отсутствия простой возможности восстановить утраченные данные.

В продолжение предшествующего материала, посвящённого перехвату функций ядра Linux, представляю способ использования разработанного ранее фреймворка для создания модуля ядра Linux, реализующего возможность удаления файлов «в корзину» (just for fun).

Читать далее
Всего голосов 70: ↑61 и ↓9 +52
Просмотры19.9K
Комментарии 57

Работа с usb видеокамерой в Linux. Часть 1

Настройка Linux
Из песочницы
   По популярности видеокамера, сегодня, стоит в одном ряду с микрофоном и наушниками. Она используется в различных направлениях, таких как распознавание объектов, дополненная реальность, видеоконференции и множество других. Но что же скрыто под капотом этих сложнейших программ? Как мы получаем картинку с видеокамеры? Этот цикл статей позволит взглянуть на простоту работы с видеокамерой на низком уровне, обработку полученного изображения.
Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Просмотры25.8K
Комментарии 5

Работа с usb видеокамерой в Linux. Часть 2

Настройка Linux
Tutorial
   Привествую, Хабр!

   Продолжаем цикл статей про программирование видеокамеры в Linux. В первой части [1], мы рассмотрели механизм открытия и считывания первичных параметров видеоустройства. Была написана простенькая утилита catvd. Сегодня расширим функционал нашей маленькой программы
Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Просмотры22.7K
Комментарии 7