Новое и интересное про Linux — Zen-sources
Zen-Sources.org - Linux kernels done right!
Многие из вас наверняка слышали о том, насколько консервативен Линус Торвальдс в добавлении новых функций в ядро. Например достаточно известная файловая система Reiser4 до сих пор существует только в виде отдельного патча, и включать ее в основную ветку не собираются. Та же самая история происходит с большим числом менее известных дополнений.
Но существуют проекты, занимающиеся добавлением их в ядро.
В самом начале пользователям приходилось самим доставать на просторах интернета эти патчи, пытаться накладывать их на ядро и разбираться с ошибками.
В дальнейшем появились патчсеты, мантейнеры которых адаптировали патчи к ядрам и выпускали сразу наборы из нескольких патчей. Самые известные из патчсетов - -rt (разработанный Инго Молнаром патч для поддержки realtime), -ck (от Кона Коливаса для улучшения работы и отзывчивости системы на десктопах) и -mm (основанный Эндрю Мортоном и содержащий экспериментальные патчи)
Zen-sources уже является шагом вперед от патчсетов. Попробую рассказать о его особенностях.
Во-первых, разработка ведется в своем собственном git-репозитории, основанном на git основного ядра. Поэтому все изменения в последнем практически сразу приходят в zen.
Во-вторых, они не выпускают патчи. То есть либо качаешь архив исходников ядра, либо собираешь из git, но патчи уже будут наложены в обоих случаях.
В-третьих, разработчики не ориентируются только на одно ядро. Патчи накладываются как на уже выпущенное ядро, так и на находящееся в разработке. Например сейчас можно скачать как 2.6.30-zen, так и 2.6.31-rc7-zen
Из всех патчей в zen особого внимания заслуживают следующие:
Очень рекомендую собирать Zen-sources из git, чтобы всегда иметь самое свежее ядро со всеми свежими фиксами (к сожалению, и багами тоже).
Сделать это очень просто (привожу пример для gentoo)
И дальше собираем его обычным способом.
Советую сделать make menuconfig и посмотреть все возможные варианты сборки, может что-то окажется важным.
(Ногами не пинать, абсолютно не умею писать обзоры)
Многие из вас наверняка слышали о том, насколько консервативен Линус Торвальдс в добавлении новых функций в ядро. Например достаточно известная файловая система Reiser4 до сих пор существует только в виде отдельного патча, и включать ее в основную ветку не собираются. Та же самая история происходит с большим числом менее известных дополнений.
Но существуют проекты, занимающиеся добавлением их в ядро.
В самом начале пользователям приходилось самим доставать на просторах интернета эти патчи, пытаться накладывать их на ядро и разбираться с ошибками.
В дальнейшем появились патчсеты, мантейнеры которых адаптировали патчи к ядрам и выпускали сразу наборы из нескольких патчей. Самые известные из патчсетов - -rt (разработанный Инго Молнаром патч для поддержки realtime), -ck (от Кона Коливаса для улучшения работы и отзывчивости системы на десктопах) и -mm (основанный Эндрю Мортоном и содержащий экспериментальные патчи)
Zen-sources уже является шагом вперед от патчсетов. Попробую рассказать о его особенностях.
Во-первых, разработка ведется в своем собственном git-репозитории, основанном на git основного ядра. Поэтому все изменения в последнем практически сразу приходят в zen.
Во-вторых, они не выпускают патчи. То есть либо качаешь архив исходников ядра, либо собираешь из git, но патчи уже будут наложены в обоих случаях.
В-третьих, разработчики не ориентируются только на одно ядро. Патчи накладываются как на уже выпущенное ядро, так и на находящееся в разработке. Например сейчас можно скачать как 2.6.30-zen, так и 2.6.31-rc7-zen
Из всех патчей в zen особого внимания заслуживают следующие:
- BFS Scheduler (судя по отзывам, отлично улучшает отзывчивость системы)
- Reiser4 (очень быстрая файловая система с возможностью сжатия данных)
- BFQ, V(R) и Fifo дисковые шедулеры (часто более отзывчивые, чем стандартный CFQ)
- CK-patches (патчи для десктопных систем)
- Compcache (страницы памяти, попадающие в свап, сжимаются lzo и держатся в ОЗУ, не трогая свап на диске)
- KSM (Kernel Samepage Merging, обьединяет одинаковые страницы в памяти для ее экономии. Пока эту функцию использует только Xen)
- SLQB (более быстрый Slab аллокатор)
Очень рекомендую собирать Zen-sources из git, чтобы всегда иметь самое свежее ядро со всеми свежими фиксами (к сожалению, и багами тоже).
Сделать это очень просто (привожу пример для gentoo)
1 2 3 4 5 |
cd /usr/src/ |
И дальше собираем его обычным способом.
Советую сделать make menuconfig и посмотреть все возможные варианты сборки, может что-то окажется важным.
(Ногами не пинать, абсолютно не умею писать обзоры)