Ядро Linux 2.6.36 зібрали за допомогою Clang

Брюс Лебах (Bryce Lelbach) повідомив про те, що йому вдалося зконфігурувати, зібрати, і успішно завантажитись з ядра Linux венрсії 3.6.36 за допомогою компілятора Clang, що базується на LLVM.

На жаль, під час компіляції виник цілий ряд проблем, у зв'язку з чим, для успішного завантаження системи довелося використати програмне забезпечення зібране за допомогою GCC:

«SELinux, Posix ACLs, IPSec, eCrypt, будь що, що використовує crypto API — нічого з цього не збереться за допомогою Clang, в основному через масиви змінної довжини у структурах...»

Загальні деталі
  • Збірка і тестування проводились на Macbook 5.1 (Intel C2D, x86_64) та Debian GNU/Linux.
  • Ядро успішно перейшло на рівень виконання 5 (X + мережа) на Macbook та на Qemu.
  • Ядро успішно перейшло на рівень виконання 3 на тестовій машині на базі процесора Intel Atom.
  • The kernel can self-host; I am currently running a «fourth generation» self-hosted Linux kernel built by a «fourth generation» Clang.

Я хочу дізнатись більше деталей

Linux 2.6.36

З невеличким запізнення, через яке наступний реліз готуватиметься у більш стислі терміни, вийшла нова версія ядра операційної системи Linux 2.6.36.

Основними нововведеннями є:
  • Підтримка процесорної архітектури Tile
  • Система мандатного доступу AppArmor інтегрована в ядро
  • Підтримка керування живленням для CPU Intel Core i3/i5 (Intel Intelligent Power Sharing)
  • Файлова система Squashfs, яка використовується багатьма LiveCD тепер підтримує алгоритм зтиснення LZO
  • Iptables отримав підтримка «цілі» CHECKSUM для обрахунку і заповнення поля з контрольною сумою для пакету
  • Додано підсистему fanotify, яка дозволяє інформувати про різноманітні події пов'язані з файловою системою (як то доступ до файлу, тощо)
  • Переписано механізм OOM (out of memory)
  • KGDB інтегровано з підсистемою KMS
  • Традиційно купа баґфіксів і дрібних вдосконалень

Детальний огляд | Звантажити
  • +4
  • 21 жовтня 2010, 14:48
  • sashko
  • 3

Linux 2.6.35

Після усього лише шести кандидатів в релізи (RC), маємо нову версію ядра операційної системи Linux.

Основні нововведення:
  • Receive packet steering;
  • Receive flow steering;
  • Memory compaction;
  • Підтримка прямого I/O для Btrfs;
  • Інтерфейс для зневаджувача KDB;
  • Підтримка декількох таблиць маршрутизації для групової трансляції;
  • Підтримка L2TP версії 3;
  • Підтримка протоколу CAIF;
  • Багато нових драйверів та дрібних покращень...

Звантажити | Детальний перелік змін

Як додати системний виклик до ядра Linux Повідомлення-посилання

У статті коротенько описаний Linux system calls interface, і продемонстровано приклад додавання простенького системного виклику до ядра.

Пришвидшення процесу компіляції ядра Linux Повідомлення-посилання

Кілька практичних порад, як пришвидшити процес компіляції ядра Linux. Власне, деякі поради є універсальними, і розповсюджуються на будь яку об'ємну систему.

Вийшло ядро Linux 2.6.31

Цієї ночі було офіційно випущено ядро операційної системи Linux версії 2.6.31. До нової версії ядра було внесено більше 11 000 змін від більше, як 1100 розробників, які представляють понад 200 компаній з усього світу; щонайменше 16% змін було внесено розробниками, які представляли лише самих себе. Іншими словами, останні три місяці до ядра вносили у середньому 118 змін на добу. Це дуже велика робота.

У цій версії:
— додано підтримку USB 3.0;
— додано еквівалент FUSE для символьних пристроїв, які використовуються, як проксі для звуку OSS до ALSA;
— чимало змін в області керування пам'яттю, які покращують інтерактивність на дексктопах;
— вдосконаено readahead;
— додано підтримку ATI Radeon Modesetting;
— додано підтримку бездротових пристроїв Intel Multicomm 3200;
— додано підтримку gcov;
— додано спеціальну перевірку неініціалізованих областей пам'яті та її витоків;
— повністю переписано реалізації inotify та dnotify, у зв'язку із доданням нової інфрастуктури нотифікацій для файлових систем;
— вдосконалено підтримку btrfs;
— додано підтримку мережних адаптерів IEEE 802.15.4;
— додано підтримку IPv4 over Firewire;
— додано багато нових драйверв;
— багато інших вдосконалень та виправлень помилок…

Повний перелік змін | Звантажити (59 Мб)
  • +7
  • 10 вересня 2009, 09:52
  • sashko
  • 5