реклама

Заедно с инсталиране на Gentoo Gentoo: Linux дистрибуция, където компилирате собствен оптимизиран софтуерОгромният брой различни начини, по които може да се управлява Linux, е изумителен, тъй като има много възможности за избор. Въпреки че има много дистрибуции, които разчитат или на .deb ... Прочетете още , компилирането на вашето собствено ядро ​​на Linux е едно от онези неща, които се считат за много странни и технични. Вече сме обхвана няколко причини 3 причини, поради които може да искате да компилирате собственото си ядро ​​[Linux]Linux системите са толкова нелепо гъвкави и конфигурируеми, че са направо луди. Огромна част от причините, поради които Linux е толкова гъвкав, се дължи на модулната си структура. Всеки един системен компонент и програма е разделен ... Прочетете още защо може да искате да направите това. Преди да ви преведем през стъпките, ето кратък преглед на някои важни понятия.

Какво е ядро?

Накратко, това е жизненоважна част от вашата операционна система, ако не и най-важната. Операционната система е отговорна за пускането на вашите програми, като им позволява достъп до вашия хардуер. Това обаче е

instagram viewer
ядро Какво представлява ядрото в Linux и как проверявате версията си?Linux е операционна система, нали? Е, не точно! Всъщност е ядро. Но какво е Linux ядрото? Прочетете още което всъщност носи всички тези работни места.

Linux ядрото е специално по това, че може да бъде пригодено да отговаря на хардуера, който притежавате. Сравнете това с ядрото на Windows NT, което като цяло ще бъде еднакво на всеки компютър. За целта ядрото трябва да премине през процес, наречен компилиране.

За повече информация вижте нашето запознаване с ядра в Linux Какво представлява ядрото в Linux и как проверявате версията си?Linux е операционна система, нали? Е, не точно! Всъщност е ядро. Но какво е Linux ядрото? Прочетете още .

Какво е компилация?

Обикновено програмите са написани в четлив за човека формат. Това улеснява хората да създават софтуер. Например ядрото на Linux е написано главно на език за програмиране, наречен ° С. Компютрите обаче не могат да разберат това. Те разпознават само сложен език, наречен машинен код. За целта трябва да са редовете на текста преведена Как да компилирате и инсталирате TAR GZ & TAR BZ2 файлове в Ubuntu Linux Прочетете още използвайки специален софтуер, наречен a съставител.

За преобразуване на различни езици за програмиране се използват различни компилатори. Например, GCC е компилатор, който превежда C код в машинен код (между другото). Но това не е всичко, което правят - компилаторите също могат оптимизиране преведеният код за конкретни машини. Заедно с това те могат да премахват и нежелани функции от програми, докато правят това.

Обикновено този процес вече се извършва за много софтуер. Вместо това хората изтеглят преобразуваните двоен инструкции, които работят извън кутията. Например, the уеб браузър Използвате ли най-добрия уеб браузър за Linux през 2016 г.?Използването на „грешен“ браузър може да доведе до много ненужни главоболия, загубена производителност и дори загубени данни. И така, кой браузър е най-добрият за вашия Linux компютър? Нека разберем. Прочетете още ти сега работиш вече е съставен. Това е така, защото компилирането на нещо може да бъде малко сложно и отнема много време. Мислете за това като превеждане на голяма книга на чужд език.

Накратко, компилирането на ядрото означава конвертиране на кода му в нещо, което всъщност ще работи на вашия компютър.

Получаване на източници на ядрото

Не можете да направите пожар без гориво. По същия начин не можете да компилирате програми, ако нямате кода за това на първо място. Методът като цяло е един и същ за повечето операционни системи Linux с няколко изключения. Много от тях доставят свои собствени източници на ядро. Трябва да опитате и да го използвате, ако можете. Например, ако използвате a Базираната на Debian операционна система като Ubuntu, трябва да инсталирате източниците, като използвате тези команди:

sudo apt-get update. sudo apt-get install linux-source. 
Как да компилирате собствения си Linux Kernel Debian Linux Source

Можете също да инсталирате различни версии на този пакет (напр. Linux-източник 4.8.0) ако желаете. Ще намерите инсталираните файлове в /usr/src/ директория, така че отидете до там и прегледайте съдържанието:

cd / usr / src / LS.

Ще видите файл, който завършва с .tar.bz2. Това е източникът, който ще използвате. Извадете го с тази команда:

sudo tar xjvf linux-source-4.4.0.tar.bz2. 

Уверете се, че сте заменили файла с правилното име, разбира се. Файлът ще бъде доста голям, така че процесът ще отнеме малко време!

Алтернативен метод

Ако желаете, можете да получите източниците си от официален уебсайт на Linux Kernel. Препоръчвам това само ако вашата операционна система Linux не ги предоставя. Изберете желаната версия и изтеглете. Ако преминете по този маршрут, трябва да го изтеглите в празна папка. По този начин, ако искате да компилирате повече ядра в бъдеще, ще имате хубава папка, за да ги поддържате организирани.

Как да компилирате собствените си източници на ядро ​​на Linux Kernel Vanilla Kernel

След като направите това, извлечете файла с тази команда:

tar xJvf linux-4.9.11.tar.xz
Как да компилирате собствения си Linux Kernel Vanilla Linux Source

Уверете се, че използвате името на файла, което съответства на изтеглената от вас версия!

Персонализирайте ядрото

Това е стъпката, при която можете да изберете от кои части на ядрото искате да се отървете. Например, ядрото се доставя с много различни драйвери за най-различни устройства. Ако не се нуждаете от тази поддръжка, избавянето им може да доведе до някои предимства за скорост, заедно с по-малко ядро.

Предварителни

Преди да продължите, трябва да инсталирате някои програми, които ще ви позволят да персонализирате и компилирате.

В базирани на Debian системи се нуждаете от натрупване от съществено значение пакет, между другото:

sudo apt - вземете инсталирайте есенциален gcc libncurses5-dev libssl-dev. 

Най- libncurses5-Dev пакет ще улесни конфигурирането на ядрото, така че не забравяйте да го инсталирате. Други операционни системи на Linux ще имат подобна програма, но това може да е под друго име. Например, ако използвате Fedora 5 причини за използване на чист отворен код Distro, FedoraFedora не е толкова известен като Ubuntu и има репутация, че е труден за използване. Но ако това е вярно, защо толкова много хора продължават да използват Fedora? Прочетете още , нарича се ncurses.

Ако вече не е инсталиран, ще ви е необходим Колекция GNU Compiler (GCC). Това е инструментът, отговорен за превода на суровия изходен код в нещо разбираемо за компютрите. Тоест, компилиране.

След като инсталирате тези програми, отворете терминала си, за да сте вътре извлечената папка на Linux източник Например, ако сте използвали Linux-източник метод, ще направите това:

cd /usr/src/linux-source-4.4.0

Файл за конфигурация на ядрото

Преди да компилирате ядрото, трябва да кажете на GCC как искате да го направи. Това правите с помощта на инструмент за команден ред, наречен грим. Въведете тази команда:

sudo make localmodconfig. 

Това създава файл, наречен .config, което казва на GCC какво да компилира от източниците на ядрото. Най- направи localmodconfig команда открива текущо работещи компоненти на ядрото и ги маркира за компилация. Ако ядрото е в папка, която притежавате, вие няма да има нужда от судо за да работи.

Може да попаднете на някои съобщения като това по-долу. Просто натиснете Въведете ключ, за да ги пропуснете - обикновено те са просто нови функции на ядрото.

Как да компилирате собственото си Linux ядро ​​Направете Localmodconfig нов

Localmodconfig обаче не е перфектен! Ако в момента не използвате някои части на вашия компютър, той може да не открие всички неща, които поддържа. Като такива, трябва да ги активирате ръчно. Като алтернатива можете да пропуснете тази стъпка изцяло и вместо това да използвате следващата команда. Това ще компилира новото ядро ​​със същите опции като тази, която използвате в момента.

Ако предпочитате това, но преди това сте използвали командата localmodconifg, направете това:

судо чисти. 

Това ще ви даде чиста конструкция. Трябва също да използвате тази команда, ако преди това сте компилирали ядро ​​с тези източници.

Допълнителна конфигурация

В папката на източника на ядрото има файл, наречен .config. Това е, което GCC ще използва, за да избере какво да компилира. Вместо да го редактирате ръчно (не се препоръчва), вместо това ще използвате няколко терминални инструмента. Това ще направи избора на опции за компилиране много по-лесен.

След като го направите, фино го настройте допълнително:

sudo make nconfig. 

Ще видите цветно меню изскачащо. Това е менюто за конфигуриране на ядрото. За да се движите наоколо, използвайте клавишите със стрелки. Можете да натиснете прав клавиш със стрелка за разширяване на записи с a —> подпишете до тях. Излезте от тези подменюта, като натиснете наляво клавиш със стрелки.

Как да компилирате собственото си Linux ядро ​​Направете Nconfig

Можете да превключвате записи от менюто, които имат <> или [] подпишете до тях, като натиснете интервала. Това ще премине през различните опции на менюто. Ако видите a * или М вътре, ще се компилира този специфичен компонент на ядрото. Единствената разлика между тях е, че М опцията ще бъде заредена, когато е необходимо. Това може да бъде полезно, ако например компилирате драйвер, който няма да се използва често.

Ако искате да знаете повече за това, което прави определен превключвател, натиснете F2 над него. Ще видите полезно описание на това, което съставяте.

Как да компилирате собственото си Linux ядро ​​Направете Nconfig F2

След като приключите, натиснете F9 бутон за запазване и излизане.

Как да компилирате собственото си Linux ядро ​​Направете запазване на nconfig

Съставяне и инсталиране на ядрото

Сега, когато сте създали файл по поръчка, ще трябва компилация Как да компилирате и инсталирате TAR GZ & TAR BZ2 файлове в Ubuntu Linux Прочетете още ядрото. Въведете тази команда:

sudo make -j $ (nproc - всички)

Ти ще не трябва судо ако сте изтеглили източниците на ядрото от мрежата. Втората част на командата помага да се ускори времето за компилиране на ядрото, като се възползвате от всичките си CPU ядра Какво представлява процесорното ядро? [MakeUseOf обяснява]Всеки компютър има процесор, независимо дали е малък производител за ефективност или голям производител, или не може да работи. Разбира се, процесорът, наричан още процесор или централна обработка ... Прочетете още . Можете да се отървете от това или да промените номера на нещо друго (напр. -j2), ако искате да използвате компютъра си за други задачи без прекалено много хълцане. Това обаче ще направи компилирането и по-бавно!

Този процес може и ще отнеме много време. Колкото по-малко сте избрали да компилирате, толкова по-кратко ще бъде. Въпреки това вероятно ще трябва да сте търпеливи.

След това въведете тази команда, за да завършите компилирането на останалото ядро:

sudo направи module_install. 

За да използвате това ядро, ще трябва да въведете тази команда:

sudo make install. 

Това автоматично ще копира ядрото на вашето /boot папка и генериране на съответните файлове, за да работи.

Превключване на ядра чрез GRUB

Ако рестартирате след инсталиране на новото си ядро, системата ви може да не работи! Обикновено това се дължи на неправилно компилирано ядро ​​(тоест не поддържа достатъчно добре вашия компютър). Пример, моят собствен лаптоп. Само в случай, че това се случи, препоръчвам редактиране на GRUB Как да персонализирате GRUB Boot Loader, използвайки BURG [Ubuntu] Прочетете още така че да може да се върне към по-стари ядра. За да направите това, използвайте тази команда:

sudo nano / etc / default / grub. 
Как да компилирате собствения си Linux Kernel Ubuntu GRUB

Поставете знак # пред GRUB_HIDDEN_TIMEOUT и GRUB_HIDDEN_TIMEOUT_QUIET линии. След това запазете тези промени, като стартирате тази команда:

sudo grub-mkconfig -o /boot/grub/grub.cfg. 
Как да компилирате собственото си Linux ядро ​​GRUB меню

Сега, ако рестартирате компютъра си, ще можете да превключите на по-старо ядро, ако новото ви не работи. Просто отидете на Разширени опции елемент от менюто и изберете ядрото, което искате да стартирате. Ако всичко се получи добре, поздравления! Ще използвате ядрото, което сте съставили сами.

Интересувате ли се да компилирате повече ядра? Други програми? Смятате ли, че си струва?

Изображение Кредити: chombosan / Shutterstock

В момента учи за BIT, Остин Луонг е запален Linux ентусиаст, който обича да пролизира за безплатен софтуер. Той също обича да пише sci-fi, но само в личния живот на твърдия си диск.