Брюс Лебах (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. Власне, деякі поради є універсальними, і розповсюджуються на будь яку об'ємну систему.
Цієї ночі було офіційно випущено ядро операційної системи 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;
— додано багато нових драйверв;
— багато інших вдосконалень та виправлень помилок…