Компилация на Linux-ядрото, част II: Първите стъпки
Code maturity level options
Prompt for development and/or incomplete code/drivers [y]
Включете го! Така ще имате възможност да добавите необходимата ви поддръжката на някои допълнителни компоненти като звуковата платка или фреймбуфера, нуждаещи се от драйвери, които са все още в процес на разработка или не са част от официалния сорс на ядрото.
Също е необходимо, ако ще компилирате модули, а това е почти винаги необходимо. Поне в нашия случай. Имате само две възможности - до го изключите или да го добавите. Второто е наложително.
Не е препоръчително да го изключавте, ако ще компилирате модули.
Добре е да включите и тази функция. При всяко зареждане ядрото ще се опитва да зареди необходимите модули от само себе си, изпълнявайки програмата modprobe.
Тук избирате семейството, към което спада вашият процесор. ßдра, предназначени за Pentium Pro и по-високи поколения процесори, няма да работят на машини, оборудвани с 486 и 386 чипове. Но ядро за 386 процесор, ще работи на всички. Избирането на конкретна процесорна архитектура принципно олекотява обема на ядрото и е доста полезна функция.
Math emulation (CONFIG_MATH_EMULATION) представлява емулация на копроцесор. Функция, която ви е необходима, единствено ако процесорът ви е от рода на 486SX или 386, които все още нямат копроцесор за изчисленията с плаваща запетая. От 486DX нагоре вече всички чипове са снабдени с копроцесор и софтуерната емулация на липсващото FPU не ви е необходима.
Ако системата ви е еднопроцесорна, няма да ви трябва нищо повече от разрешаването на MTRR support, в случай че процесорът ви е поколение Pentium Pro и по-нагоре. Подобрява контрола на достъп до паметта и върши особено добра работа, ако имате PCI или AGP видеоконтролер. Използува се и от приложения като Х. Ако не го включите, ще забележите в логовете съобщения за грешка, свързана с mtrr.
Тук е и мястото, където избирате дали ядрото трябва да поддържа многопроцесорна система (CONFIG_SMP) - Symmetric Multi Processing. Ако го включите, ще работи и на еднопроцесорна машина, но ще добави излишен код в ядрото и освен това няма да имате пълноценно управление на захранването. Linux не страда от илюзията, като някои други операционни системи, че управлението на захранването при повече процесори е проста работа.
Важно място. Може да се каже, че това е командният център на ядрото.
Задължително е да разрешите тази функция, независимо дали компютърът ви ще работи в мрежа или не. За Linux поддръжката на мрежа е задължителна дори за правилната работа на повечето привидно “немрежови” програми. Не забравяйте, че дори Х се нуждае от мрежа, за да работи правилно.
Ако имате PCI шина на дънната палтка, включете го. Впрочем, кое дъно няма PCI шина?
Оставете го на “Any” за най-сигурно. Би трябвало вашият BIOS сам да разпознае и конфигурира PCI устройствата.
Една функция, която едва ли ще ви потрябва. Все пак, ако дъното ви е старо и е базирано на EISA шина, ще трябва да включите това в ядрото. Иначе, можете спокойно да го пренебрегнете.
MCA е стандарт, подобен на ISA и PCI. Ще ви трябва, единствено ако дъното ви работи с него. Иначе, вж. по-горе :-)
Необходимо е за работата на някои приложения. Понятие, добре познато на програмистите. Не е пепоръчително да го изключвате, освен ако не знаете точно какво правите.
Също познато на програмистите. Някои програми се нуждаят от тази функция. По-добре оставете това в ядрото.
Добавя около 8K код в ядрото, но е добре да се включи, освен ако не се стремите към минимален размер на ядрото, което е наложително, когато е предназначено да работи на една единствена дискета например. Променя динамично някои параметри на ядрото, без да се налага прекомпилиране или дори рестартиране.
Това е подразбиращата се и препоръчителната настройка за всяка съвременна Linux-система. Директорията /proc представлява виртуална файлова система, в която са разположени всички процеси, включително и самото ядро, а ELF (Executable and Linkable Format) е стандартният формат за изпалнимите файлове и библиотеките в Unix.
Не се знае дали ще ви потрябва, но има и малка вероятност да се сблъскате с по-стария формат библиотеки и изпълними файлове за Unix. Компилирайте го за всеки случай, но като модул, за да се зареди, само когато потрябва.
Включването му ще добави 13К код към ядрото, но е наложително да го имате. Това е стандартният формат за библиотеките и изпълнимите файлове на различни архитектури и операционни системи към момента.
Отново се отнася до поредния стандарт формати за библиотеки и изпълними файлове. Добре е да го компилирате като модул, за всеки случай.
Управлението на захранването е важно за всяка система. Ще ви дам един пример как можете да го конфигурирате, за да работи добре, без да добавя излишно количество код, което може да се получи, ако за всеки случай включите всички функции.
Отново се отнася до управлението на захранването, но е все още в етап на разработка. Ако го включите, ще добави към 120К код в ядрото. Освен това няма логика да включвате с него и APM. От двата стандарта ще бъде използуван само този, който се зареди първи.
Advanced Power Managment BIOS support [y]
Ignore USER SUSPEND [n]
Enable PM at boot time [y]
Make CPU Idle calls when idle [y]
Enable console blanking using APM [n]
RTC stores time in GMT [y]
Allow interrupts during APM BIOS calls [n]
Use real mode APM BIOS calls to power off [n]