Збираємо ядро linux
Відео: Компіляція ядра в linux
Найголовнішим компонентом операційної системи Linux є ядро. Саме ядро виступає проміжною ланкою між одними програмами і обладнанням комп`ютера. У всіх бінарних дистрибутивах нам не потрібно піклуватися про складання та настроювання ядра, все вже зробили за нас розробники дистрибутива. Але якщо ми хочемо зібрати свій дистрибутив самі або встановити найсвіжішу версію ядра, нам доведеться збирати ядро вручну.
Перший варіант раніше був актуальний для тих хто хотів отримати максимальну продуктивність від свого обладнання, але зараз, з огляду на стрімке збільшення потужності комп`ютерів збільшення продуктивності при складанні ядра зовсім непомітно. Зараз збірка ядра може знадобитися користувачам не бінарних дистрибутивів, таких як Gentoo, тим, хто хоче внести деякі зміни в ядро, отримати нову найсвіжішу версію ядра і, звичайно, ж тим, хто хоче повністю розібратися в роботі своєї системи.
У цій інструкції ми розглянемо як зібрати ядро Linux. Перша частина розповість як налаштувати ядро в автоматичному режимі. Так би мовити, для тих хто не хоче розбиратися як воно працює, кому потрібно лише отримати на виході готовий продукт - зібране ядро. У другій частині ми розглянемо основні етапи ручної настройки ядра, це процес складний, і нешвидкий, але я спробую дати основу, щоб ви могли з усім розібратися самі.
Отримання початкових кодів ядра
Найперше що потрібно зробити - це завантажити вихідні ядра. Вихідні тексти кращі брати з сайту вашого дистрибутива, якщо вони там є або офіційного сайту ядра: kernel.org. Ми розглянемо завантаження початкових кодів з kernel.org.
Перед тим як завантажувати вихідні нам потрібно визначитися з версією ядра яку будемо збирати. Є дві основні версії релізів - стабільні (stable) і кандидати в релізи (rc), є, звичайно, ще стабільні з тривалим періодом підтримки (longterm) але важливо зараз розібратися з першими двома. Стабільні це, як правило, не найновіші, але зате вже добре протестовані ядра з мінімальною кількістю багів. Тестові - навпаки, найновіші, але можуть містити різні помилки.
Отже коли визначилися з версією заходимо на kernel.org і викачуємо потрібні вихідні в форматі tar.xz:
У цій статті буде використана найновіша на даний момент нестабільна версія 4.4.rc7.
Отримати вихідні ядра Linux можна також за допомогою утиліти git. Спочатку створимо папку для початкових кодів:
$ Git clone https://github.com/torvalds/linuxРозпакування исходников ядра
Тепер у нас є збережені вихідні. Переходимо в папку з вихідними кодами:
$ Mkdir linux_sources $ tar xf linux *І переходимо в папку з розпакованим ядром, у мене це:
Відео: Linux - Компілюємо ядро на Ubuntu 15.04
$ Zcat /proc/config.gz gt; .configА далі запускаємо скрипт адаптації налаштувань:
$ Make menuconfigВідкриється ось утиліта з інтерфейсом ncurses:
Як бачите, деякі обов`язкові опції вже включені, щоб полегшити вам процес налаштування. Почнемо з самих основних параметрів. Щоб включити параметр натисніть y, щоб включити модулем - m, для переміщення за допомогою клавіш стрілок і Enter, повернутися на рівень вгору можна кнопкою Exit Відкрийте пункт General Setup.
Тут встановлюємо такі параметри:
Local Version - локальна версія ядра, буде збільшуватися при кожній збірці на одиницю, щоб нові ядра при установці не замінювали собою старі, встановлюємо значення 1.
Automatically append version information to the version string - додавати версію в назву файлу ядра.
Відео: Урок 15 Компіляція ядра Linux
Kernel Compression Mode - режим стиснення образу ядра, найефективніший lzma.
Default Hostname - ім`я комп`ютера, що відображається в запрошенні введення
POSIX Message Queues - підтримка черг POSTIX
Support for paging of anonymous memory - включаємо підтримку swap
Control Group support - підтримка механізму розподілу ресурсів між групами процесів
Kernel .config support і Enable access to .config through /proc/config.gz- включаємо можливість витягти конфігурацію ядра через /proc/config.gz
Тут все, повертаємося на рівень вгору і включаємо Enable loadable module support, ця функція дозволяє завантаження зовнішніх модулів, далі відкриваємо його меню і включаємо:
Module unloading - підтримка відключення модулів
Forced module unloading - примусове відключення модулів
Знову повертаємося назад і відкриваємо Processor type and features:
Processor family (Opteron / Athlon64 / Hammer / K8) - вибираємо свій тип процесора.
Знову повертаємося і переходимо в розділ File systems, тут встановіть всі необхідні галочки.
обов`язково вкажіть The Extended 3 (ext3) filesystem і The Extended 4 (ext4) filesystem - для підтримки стандартних ext3 і ext4 файлових систем
Повертаємося і йдемо в Kernel hacking.
тут включаємо Magic SysRq key - підтримка магічних функцій SysRq, річ не першої необхідності, але часом корисна.
Залишився ще один пункт, найскладніший, бо вам його доведеться пройти самому. Device Drivers - потрібно пройтися по розділах і повключали драйвера для свого обладнання. Під обладнанням я маю на увазі нестандартні жорсткі диски, мишки, USB пристрої, веб-камери, Bluetooth, WIFI адаптери, принтери і т д.
Подивитися яке обладнання підключено до всієї системи можна командою:
$ make make modulesТепер можете йти пити каву або гуляти, тому що процес складання довгий і займе близько півгодини.
Установка нового ядра
Коли ядро і модулі будуть зібрані нове ядро можна встановлювати. Можна вручну скопіювати файл ядра в папку завантажувача:
$ Sudo make install sudo make modules_installПісля установки не забудьте оновити конфігурацію завантажувача Grub:
$ Sudo rebootвисновки
От і все. У цій статті ми детально розглянули як зібрати ядро Linux з початкових кодів. Це буде корисно всім бажаючим кращі зрозуміти свою систему, і тим, хто хоче отримати найновішу версію ядра в своїй системі. Якщо залишилися питання, задавайте коментарі!
- Ex kernel manager
- Синій екран смерті 0x00000109
- Що таке ядро linux
- Чому лінус торвальдс не любить debian
- Як оновити ядро до 4.1 в ubuntu
- Як дізнатися версію дистрибутива ubuntu
- Як видалити старі ядра ubuntu
- Установка драйверів в linux
- Manjaro linux 15.12 отримає ядро 4.4 lts
- Віртуальна флешка в linux
- Оновлення драйверів ubuntu
- Реліз linux kernel 4.8 rc3
- Лінус торвальдс повідомив про перший релізі linux 4.6 rc1
- Модулі ядра linux
- Реліз ядра linux 4.8
- Розробка ядра linux
- Оновлення ядра centos 7
- Arm анонсувала мобільні ядра cortex-a73 і графічний прискорювач mali-g71
- Практикум: модулі ядра linux
- Оновлення ядра linux до нової версії
- Продуктивність ядра linux 4.8 vs 4.4