Компиляция ядра операционной системы
Не волнуйтесь, ситуация под контролем! Вы переходите в каталог /usr/src/linux. Как перейти в этот каталог? Но ведь MS-DOS заимствовала многие команды пользователя из операционной системы CP/M, которая в свою очередь использовала привычные пользователям начала 80-х годов команды многопользовательских UNIX-систем.
Находясь в этом каталоге вы запускаете следующую команду:
make config
В ответ на это требование вы получите список вопросов, на которые надо отвечать достаточно внимательно. Если в вашей системе есть математический сопроцессор, то эмуляция команд 80387 вам, по всей видимости не нужна. Если вы устанавливаете Linux на компьютер с процессором 80386, то оптимизация под 80486 также окажется бесполезна.
Но это пока безвредные вопросы. А вот когда пойдет речь о файловых системах - будьте бдительны.
Во-первых, именно сейчас вы должны будете сообщить системе, какие типы винчестеров используются в вашем компьютере: IDE и/или SCSI. Создавая свою систему вы можете использовать оба типа контроллеров. Ну например, загрузка осуществляется с обычного винчестера подключенного к IDE-контроллеру, а второй винчестер подключен к плате SoundBlaster ASP 16 SCSI-2. Или у вас установлен контроллер Adaptec 1522 без встроенного ПЗУ с BIOS. Так вот, в отличие от MS-DOS эти контроллеры SCSI поддерживаются ядром Linux! Нужно только предупредить систему об их наличии.
Когда вас спросят, нужна ли вам сетевая поддержка, долго не задумывайтесь и отвечайте "Да!" Во-первых, даже поддержка принтера в Linux реализована через сетевые функции, а кроме того, большинство серьезных приложений, реализующих технологию "клиент-сервер" (например, СУБД Postgress или отечественный (!) сервер баз данных LDBF), также используют функции TCP/IP.
Следующий важный момент - тип привода CD-ROM. Базовая версия системы устанавливаемая по умолчанию не содержит драйверов CD-ROM и не может обслуживать привод какого бы то ни было типа. Поэтому от перегенерации системы вам никуда не уйти. Ваша задача состоит только в том, чтобы корректно указать тип привода.
Звуковая плата, если она у вас есть, также должна быть сконфигурирована на этом этапе. Впрочем здесь ничего сложного нет. А вот с файловыми системами надо держать ухо востро! Поддержка лишних стандартов вам конечно ни к чему. Вот список тех систем, которые вы должны включить при генерации системы:
·ext2fs (старая extfs, о которой вас спросят вначале, вам не нужна!);
·ms-dos (это понятно);
·minix (это формат, “завещанный предками” );
·iso9660 (а это формат дисков CD-ROM - без него вы не сможете читать диски!).
С дополнительной периферией сложности не возникнет. Единственное предупреждение: bus mouse и serial mouse - суть вещи разные! Если ваша мышка подключается к последовательному порту, не включайте в конфигурацию bus mouse, не надо. Зачем вам лишний код в ядре системы?
После того, как программа make завершит работу и Linux выведет на экран приглашение к вводу команды, повторите вызов make, но уже с вариациями:
make depend
а минут через двадцать, когда программа завершит свою работу, введите make еще раз, вот так:
make zImage
Теперь можете поставить чайник или сходить пообедать. Время трансляции для 80386DX-40/4 МБ составило 1 час 5 минут, а когда появилась возможность нарастить объем оперативной памяти до 8 МБайт, компиляция ядра системы заняла всего сорок минут. При установке Linux на 486DX2-66/8 МБайт на трансляцию потребовалось всего двадцать минут. Но как видите, важнее не производительность процессора, а объем оперативной памяти.
Что мы получим в результате трансляции? Всего навсего cкомпилированное и упакованное ядро системы, помещенное в файл /usr/src/linux/arch/i386/zImage.