Які відмінності у наборі функцій між основним ядром Linux та ядром, яке використовує Ubuntu? Чому Ubuntu розгалужується від основного ядра замість того, щоб використовувати головне ядро безпосередньо?
Які відмінності у наборі функцій між основним ядром Linux та ядром, яке використовує Ubuntu? Чому Ubuntu розгалужується від основного ядра замість того, щоб використовувати головне ядро безпосередньо?
Відповіді:
Ядра вгору за течією (згадані, коли ми їх надаємо як основні ядра ) - це просто ядро вгору для зазначеної версії, додано дуже мало незначних змін конфігурації, так що при установці Ubuntu існує мінімальна проблема.
Різниця між цими ядрами та випущеною для версії Ubuntu - це численні інші зміни конфігурації , виправлення патчів * та, в деяких випадках, зібрані в модулі та апаратну підтримку.
Дуже мало базового коду відрізняється від висхідного течії, ніж відмічене вище.
*: виправлення джерел в більшості випадків є зміною поведінки ядра за замовчуванням. Вони не обмежуються: чорними списками, таблицями відео-вигадок, вбудованими в модулі, змінами джерел, яких ще немає у дереві Лінуса чи в стабільній черзі, і т.д.
Виправлення джерел - це те, що команда використовує для введення параметрів конфігурації, необхідних для підтримки величезного масиву випущеного програмного забезпечення для конкретної версії Ubuntu. У багатьох випадках вони потрібні, щоб ці програми працювали належним чином. Принципова відмінність цього ядра від висхідного ядра полягає в тому, що чисте ядро висхідного потоку не є специфічним для розподілу.
Тому конфігурації не спрямовані на забезпечення того, щоб певні програми працювали так, як очікувалося. Ці конфігурації існують, щоб забезпечити такий рівень змін ядра для конкретних речей. Крім того, використання вигадок дозволяє нам ідентифікувати обладнання, яке вимагає конкретних речей з ядра, яке ми можемо встановити, як тільки їх виявимо.
Це одна з головних особливостей Linux, і це одна з причин, за які нам вдалося запустити на багатьох різних платформах протягом багатьох років. Бувають випадки, коли хитрощі та виправлення джерел викликають проблеми між собою. У цей час ми працюємо над тим, щоб пом'якшити проблеми зі змінами основної поведінки ядра. У багатьох випадках ці зміни не вносять їх до потоку, поки після випуску в значній мірі не виникає потреба правильно кодувати виправлення, задокументувати зроблене, протестувати зміни та провести різні інші тести та стрес-тестування.
У цих випадках патчі, спрямовані на верхню течію, переносяться як вихідні патчі приблизно так само, як попередньо стабільні та патчі, які ще не є у дерева Лінуса. Посилання на специфікацію дельта-огляду має слугувати посиланням на те, що було розглянуто для поточного випуску Natty ядра Ubuntu.
Ядро Linux постійно розвивається. Під час упаковки їх наступного випуску команда Ubuntu в якийсь момент повинна сказати: «Добре, ми візьмемо ядро так, як воно є зараз» Час від часу ви можете отримувати нове ядро, яке буде доступне в репост для використання в розподіл струму.
Це місце може зробити цікавим читання, але воно може бути дуже технічним. Можливо, ви зможете розібратися, що готується вище за течією, а що ви зараз пропускаєте (але згодом отримаєте).
Слід зазначити, що як і будь-яка частина програмного забезпечення, ядро схильне помилок, і часто трапляються регресії (додані нові речі порушують стару функціональність). Ядра в наші дні IMHO не дуже мене хвилює з точки зору нової функціональності. Я б із задоволенням запустив ядро, якому було два роки, наприклад.
Ви можете завантажити дерево git з Ubuntu та використовувати графічний переглядач для перегляду дерева git. Це покаже вам всі патчі Ubuntu. https://wiki.ubuntu.com/Kernel/Dev/KernelGitGuide
Інший можливий варіант - підписатися на список розсилки ubuntu-ядра. Вся їх робота розміщена там, і ви можете отримати уявлення про те, чим вони займаються. Але, це великий трафік, і ІМХО, дратує. (Але ей, це їх список)