| 
 Linux. Компиляция и настройка ядраДанная статья содержит описание действий, 
            необходимых для успешной настройки и компиляции ядра системы Linux. 
            Все рассматриваемые далее операции проводились под Red Hat 9.0, 
            версия ядра 2.4.20-8, загрузчик LILO. Впрочем, рекомендации будут 
            вполне корректны для всех Linux-систем. Как всегда, в начале несколько соглашений: 1. Все действия проводятся с правами root. 2. Знак "%" не является частью ниже представленных 
            команд, а лишь указывает на начало строки с командой. Итак, представим себе, что вы захотели смонтировать 
            NTFS-раздел, но система почему-то отказывается это делать, говоря: 
            "fs type ntfs not supported by kernel" (рис. 1).  О, ужас! Ведь именно в этом разделе хранятся важные 
            документы, а получить к ним доступ можно только из-под Linux, по 
            причине того, что Windows "умерла", как всегда, в самый неподходящий 
            момент.  Что делать? Наверное, переставить Windows. Но 
            форматировать NTFS-раздел нельзя из-за того, что он один и именно на 
            нем хранятся так нужные нам документы. Можно взять дискетку и 
            попробовать с помощью специальных утилит проникнуть в раздел 
            средствами DOS. Но нужные файлы слишком велики и не помещаются на 
            дискету.  Страшно? Можно рвать на себе волосы, а можно, 
            перекомпилировав ядро Linux-системы, с легкостью достать нужные 
            документы и потом спокойно переставить Windows, отформатировав 
            локальный диск. Итак, нам надо перекомпилировать ядро, включив 
            поддержку файловой системы NTFS. Потом прописать в терминале: % mount -t ntfs /dev/hda10 /mnt/hard или что-то похожее, а затем с довольным видом 
            отправиться на работу или отдыхать. Не бойтесь, если у вас не получится настроить все как 
            надо с первого раза, и компиляция завершится ошибкой. Вы не убьете 
            систему, вам просто надо будет повторить все шаги заново и исправить 
            допущенные ошибки. Оболочка X-Windows наиболее всего подойдет для 
            выполнения нашей задачи, потому как наглядность и удобство в 
            процессе обучения превыше всего.    1. Для начала запускаем терминал и переходим в папку, в 
            которой лежит стандартное ядро системы: % cd /usr/src/linux-version где version - это версия вашего стандартного ядра.   2. Стартуем программу конфигурации ядра: % make xconfig Перед нами появится что-то, похожее на картинку под 
            номером один (рис. 2). Это и есть отправная точка. Здесь будут производиться 
            все предкомпиляционные изменения в ядре. Советую запастись 
            терпением, так как полная настройка ядра под себя - процесс очень 
            трудоемкий и длительный. Но результат оправдает все усилия и 
            ожидания. Во всяком случае, на это надо надеяться. Помимо всего прочего, я бы рекомендовал вести записи 
            всех изменений, вносимых в ядро. Дело в том, что очень часто люди 
            ставят или убирают галки, не будучи уверенными в правильности своих 
            действий, после этого они начинают спрашивать: "А у меня звук не 
            работает, что я сделал не так?" или "Почему у меня не компилируется 
            ядро?" и прочее. Поэтому читайте help- и man-страницы, ставьте галки 
            только там, где уверены, документируйте все изменения и, наконец, не 
            забывайте делать backup документа Makefile, тогда проблем будет 
            гораздо меньше. 3. Перейдем непосредственно к настройке ядра. Одной из 
            наиболее интересующих нас вкладок является General setup (рис. 3). 
            Здесь обязательно надо поставить галки рядом с Networking support и 
            PCI support. Первое нам просто необходимо по той причине, что даже 
            если ваш компьютер не подключен к сети, некоторые программы 
            нуждаются в том, чтобы ядро поддерживало эту опцию. Второе же можете 
            не включать, если вы обладаете ЭВМ, в котором нет PCI-слотов. Также важны пункты Power Management support и Advanced 
            Power Management BIOS support. В первом случае советую поставить 
            -да-. Это поможет избежать ошибок при включении и выключении 
            компьютера под руководством нашего нового ядра. Во втором случае 
            делайте как хотите, но если вам не нравится вместо ОС вручную 
            выключать питание ПК, ставьте -да-. Следующая полезная вкладка - Network device support. 
            Тут у пользователя есть возможность включить поддержку своей сетевой 
            карты, попутно отметив требующиеся дополнительные возможности ядра, 
            например, такие как PPP(point-ot-point protocol) support. Теперь несколько слов о файловых ситемах (File 
            systems). Вспомним про наш несчастный NTFS раздел. В этой вкладке 
            имеется все, что душе угодно: от NTFS до UDF. Единственно, что я бы 
            отметил особо, это то, что большинство конфигураций ядра нуждаются в 
            proc filesystem support. Не забывайте про звук (Sound). Выберите тут свою или 
            наиболее близкую к имеющейся модель звуковой карты. Впрочем, кроме 
            внутреннего динамика, серверу больше ничего не надо. Если вам не хватило времени, чтобы настроить все за 
            один присест, - просто сохраните получившееся с помощью кнопки Store 
            Configuration to File и вернитесь к настройке, когда вам 
            заблагорассудится (Load Configuration from File).   4. Готово. Все настроено, как того требует суровая 
            действительность. Остается лишь скомпилировать новое ядро и связать 
            его с существующей системой. Для этого нажимаем на кнопку Save and 
            Exit. В папке /usr/src/linux-version должен появиться Makefile (рис. 
            4). Проверить это из терминала можно командой % ls -al Если в списке документов он есть - это хорошо, можно 
            продолжать. 5. Далее надо будет несколько изменить содержание 
            нашего Makefile. По сему сделаем backup: % cp Makefile Makefile.bak   6. Теперь со спокойной душой начинаем редактировать 
            (рис. 5): % vi Makefile В случае, если vi "не ваш" редактор, воспользуйтесь 
            каким-нибудь блокнотом из иксов. Итак, в самом начале файла есть 
            строка, начинающаяся с фразы EXTRAVERSION=-8. То, что следует за 
            последним знаком версии ядра, меняем на то, что нам захочется, 
            например: EXTRAVERSION = -8xmine.  Советую не использовать заглавных букв, это может 
            привести к появлению ошибок в дальнейшем. 7. Начинаем компилировать: % make dep clean Если все прошло без проблем, создаем bzImage, в 
            противном случае надо проверить конфигурацию ядра и то, как был 
            отредактирован Makefile. % make bzImage modules Это самый долгий этап компиляции, он может занять минут 
            десять (на производительной машине), если, конечно, не прервется 
            сообщением об ошибке. При появлении ошибки, вернитесь на n-ное 
            количество строк вверх и проверьте, на каком этапе компиляции 
            произошел сбой, это поможет быстрее отыскать ту вкладку, где было 
            неправильно настроено ядро. После вышеописанных действий в папке по адресу 
            /usr/src/linux-vesion/arch/i386/boot должен появиться файл bzImage. 
            В случае, если его нет, начинайте все заново, где-то что-то было 
            сделано не так, как надо. Ну а если bzImage на месте, то успех 
            предприятия близок.   8. Остается только "рассовать" некоторые полезные файлы 
            по папкам и отредактировать lilo.conf, чтобы LILO знал о 
            существовании нового ядра. % cp ./arch/i386/boot/bzImage 
            /boot/vmlinuz-2.4.20-8xmine Копируем bzImage в папку, которую использует система 
            при своей загрузке. % cp System.map /boot/System.map-2.4.20-8xmine Некоторые спорят о том, нужен ли файл System.map 
            вообще. Советую не рисковать. И коль скоро вы не профессиональный 
            системный администратор и не сможете решить всех возможных проблем, 
            связанных с его отсутствием, выполните все команды, приведенные в 
            статье. % make modules_install% mkinitrd 
            /boot/initrd-2.4.20-8xmine.img 2.4.20-8xmine
   9. С файлами ядра покончено. Lilo.conf - единственное, 
            что стоит между нами и системой под управлением нового ядра. % vi /etc/lilo.conf   В файл настройки LILO надо добавить следующие 
            строки: image=/boot/vmlinuz-2.4.20-8xminelabel=xmine
 initrd=/boot/initrd-2.4.20-8xmine
 root=/dev/hda1
 read-only
 Вместо /dev/hda1 укажите корневой раздел вашей 
            операционной системы (рис. 6). Далее применяем изменения: % /sbin/lilo -v -v И, наконец, перезагружаем компьютер: % /sbin/reboot После перезагрузки компьютера, если все было сделано 
            корректно, вы увидите наше творение (mykernel) в списке доступных 
            систем LILO. Поздравляю, теперь вы обладатель ядра, настроенного и 
            скомпилированного специально под ваши потребности. Проверить это 
            можно, введя в терминале команду % uname -r  Вы увидите что-то вроде: "2.4.20-8xmine" (рис. 7). Я искренне надеюсь, что данная статья поможет читателю 
            в освоении операционных систем семейства Linux. Удачи вам в 
            действительно увлекательном пути познания Unix и Linux! Автор: Владимир ЦарьковИсточник: www.comprice.ru
 |