от Никола Антонов(28-05-2002)

рейтинг (4)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Компилация на Linux-ядрото, част II: Първите стъпки

    Code maturity level options

    Prompt for development and/or incomplete code/drivers [y]

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

    Loadable module support

    Enable loadable module support [y]

Също е необходимо, ако ще компилирате модули, а това е почти винаги необходимо. Поне в нашия случай. Имате само две възможности - до го изключите или да го добавите. Второто е наложително.

    Set version information on all module symbolls [y]

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

    Kernel module loader [y]

Добре е да включите и тази функция. При всяко зареждане ядрото ще се опитва да зареди необходимите модули от само себе си, изпълнявайки програмата modprobe.

    Processor type and features

Тук избирате семейството, към което спада вашият процесор. ßдра, предназначени за 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 не страда от илюзията, като някои други операционни системи, че управлението на захранването при повече процесори е проста работа.

    General setup

Важно място. Може да се каже, че това е командният център на ядрото.

    Networking support [y]

Задължително е да разрешите тази функция, независимо дали компютърът ви ще работи в мрежа или не. За Linux поддръжката на мрежа е задължителна дори за правилната работа на повечето привидно “немрежови” програми. Не забравяйте, че дори Х се нуждае от мрежа, за да работи правилно.

    PCI Support [y]

Ако имате PCI шина на дънната палтка, включете го. Впрочем, кое дъно няма PCI шина?

    PCI Access mode [Any]

Оставете го на “Any” за най-сигурно. Би трябвало вашият BIOS сам да разпознае и конфигурира PCI устройствата.

    EISA support [n]

Една функция, която едва ли ще ви потрябва. Все пак, ако дъното ви е старо и е базирано на EISA шина, ще трябва да включите това в ядрото. Иначе, можете спокойно да го пренебрегнете.

    MCA support [n]

MCA е стандарт, подобен на ISA и PCI. Ще ви трябва, единствено ако дъното ви работи с него. Иначе, вж. по-горе :-)

    System V IPC [y]

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

    BSD Process Accounting [y]

Също познато на програмистите. Някои програми се нуждаят от тази функция. По-добре оставете това в ядрото.

    Sysctl support [y]

Добавя около 8K код в ядрото, но е добре да се включи, освен ако не се стремите към минимален размер на ядрото, което е наложително, когато е предназначено да работи на една единствена дискета например. Променя динамично някои параметри на ядрото, без да се налага прекомпилиране или дори рестартиране.

    Kernel core (/proc/kcore) format [ELF]

Това е подразбиращата се и препоръчителната настройка за всяка съвременна Linux-система. Директорията /proc представлява виртуална файлова система, в която са разположени всички процеси, включително и самото ядро, а ELF (Executable and Linkable Format) е стандартният формат за изпалнимите файлове и библиотеките в Unix.

    Kernel support for a.out binaries [y/m]

Не се знае дали ще ви потрябва, но има и малка вероятност да се сблъскате с по-стария формат библиотеки и изпълними файлове за Unix. Компилирайте го за всеки случай, но като модул, за да се зареди, само когато потрябва.

    Kernel support for ELF binaries [y]

Включването му ще добави 13К код към ядрото, но е наложително да го имате. Това е стандартният формат за библиотеките и изпълнимите файлове на различни архитектури и операционни системи към момента.

    Kernel support fot MISC binaries [y/m]

Отново се отнася до поредния стандарт формати за библиотеки и изпълними файлове. Добре е да го компилирате като модул, за всеки случай.

    Power managment support [y]

Управлението на захранването е важно за всяка система. Ще ви дам един пример как можете да го конфигурирате, за да работи добре, без да добавя излишно количество код, което може да се получи, ако за всеки случай включите всички функции.

    ACPI support [n]

Отново се отнася до управлението на захранването, но е все още в етап на разработка. Ако го включите, ще добави към 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]



<< Компилация на Linux-ядрото, част III: Parallel port, IDE... | Компилация на LInux-ядрото, част I: Въведение >>