Ось етапи. Ця процедура заснована на nixCraft «S Як: Compile Linux ядра 2.6 --but значно модернізований.
Завантажте та витягніть вихідний код ядра, яке ви хочете створити.
Ви можете отримати на вході ядра вихідний код на kernel.org . Тут буде використовуватися версія 3.16.1 (останнє стабільне ядро на даний час). Тому вам може знадобитися змінити ці команди, якщо ви використовуєте іншу версію.
На даний момент вихідний код ядра наданий у. дьоготь . архіви xz , тому натисніть посилання "tar.xz" за будь-якою версією, яку ви хочете:
Після cd
переходу до каталогу, куди ви завантажили архів, ви можете витягнути його за допомогою tar
:
tar xf linux-3.16.1.tar.xz
Встановіть необхідні інструменти збирання та виконайте конфігурацію ядра.
Щоб отримати ланцюжок інструментів Ubuntu ( gcc
, make
і так далі), встановіть основний метапакет:
sudo apt-get update
sudo apt-get install build-essential
make
Цілі xconfig
та menuconfig
. Надають два досить зручні для користувача способи налаштування того, що входить у ваше ядро .
xconfig
запускає утиліту графічної конфігурації, а menuconfig
на основі тексту (тобто її інтерфейс повністю відображається у вашому терміналі). Для кожного потрібне додаткове програмне забезпечення, яке не надається істотним складанням .
Щоб графічно налаштувати , встановіть libqt4-dev та pkg-config та запустітьmake xconfig
:
sudo apt-get install libqt4-dev pkg-config
make xconfig
Для налаштування в терміналі встановітьlibncurses5-dev
(спасибі Хану за цю інформацію) та запустітьmake menuconfig
:
sudo apt-get install libncurses5-dev
make menuconfig
Створіть налаштоване ядро.
Спочатку запустіть це, щоб зібрати ядро та створити vmlinuz
:
make
vmlinuz
є "ядро". Зокрема, саме зображення ядра буде нестисненим і завантаженим у пам'ять GRUB або будь-яким іншим завантажувачем, який ви використовуєте.
Потім побудуйте завантажувані модулі ядра :
make modules
Встановіть недавно побудоване ядро.
Якщо припустити, що ці make
команди успішно виконані, настав час встановити нове ядро. Спочатку встановіть модулі:
sudo make modules_install
Потім встановіть саме ядро :
sudo make install
Це ставить vmlinuz-3.16.1
(копію vmlinuz
), config-3.16.1
(текстовий файл, що зберігає параметри конфігурації ядра), та System.map-3.16.1
( таблиця пошуку символів ядра ) у /boot
. Детальніше дивіться у цій публікації comp.os.linux.misc від Адрон та man installkernel
.
Остаточна настройка, тому ядро можна запустити і завантажувати систему:
Частково цей розділ базується на інформації в ядрі / компіляції .
З ядром тепер, де воно має бути, йому потрібно:
Створіть свої initramfs за допомогоюmkinitramfs
:
cd /boot
sudo mkinitramfs -ko initrd.img-3.16.1 3.16.1
Коли ви оновлюєте конфігурацію завантажувача GRUB2, який за умовчанням в Ubuntu починається з 9.10--, він повинен автоматично виявити нове ядро та додати параметр для завантаження з нього.
sudo update-grub
Спробуйте ваше ядро.
Тепер ви можете перезавантажити тестування свого нового ядра. Можливо, вам знадобиться натиснути Shiftабо натиснути Escпід час завантаження, щоб побачити меню завантаження GRUB, де ви можете вибрати між різними встановленими ядрами.
Щоб зробити ваше ядро (або інше) за замовчуванням, див. Як змінити порядок завантаження GRUB?