эта страница доступна на следующих языках: English Castellano Deutsch Francais Italiano Nederlands Portugues Russian Turkce Korean |
автор Subhasish Ghosh Об авторе: Меня зовут Subhasish Ghosh, мне 20 лет и в настоящее время я проживаю в Индии. Я студент, предмет моего изучения - информационные технологии. Я обладаю шестью сертификатами Microsoft Certified Professional(MCP), а также сертификатом Microsoft по NT 4.0 Track. Также давно работаю с Red Hat Linux и готовлюсь сдать экзамен Red Hat Linux Certified Engineer(RHCE) и планирую в основном работать с этой ОС в будущем. Содержание: |
Резюме:
Привет всем - эта заметка проведет вас по ступенькам компиляции, настройки и инсталляции ядра ОС Red Hat Linux. Как мы все знаем, очень часто возникает потребность в ядре, скомпилированном для выполнения специфических задач - не будем углубляться в этот вопрос. Я только изложу сам процесс в соответствии с заголовком заметки. Хочу предупредить, что заметка направлена в первую очередь пользователям дистрибутива Red Hat, хотя в основном все эти шаги примерно одинаковы для всех дистрибутивов Linux, естественно с небольшими изменениями.
Представляю вашему вниманию инструкцию в 27 шагов для компиляции ядра
Linux. Я компилировал ядро по этой схеме на компьютере следующей конфигурации:
Compaq Presario 4010 Series computer system, 15.5 GB Hard Disk
Space, 96 MB RAM, 400 MHz Intel Celeron Processor, Red Hat Linux
7.0 с версией ядра: 2.2.16-22
Целью этой последовательности шагов будет получение работоспособного ядра -
например ядро собранное мной называется "2.2.16-22ghosh" (работает
в моей системе - поэтому такое имя получило). Итак начинаем, желаю вам
удачной компиляции.
Шаг 1: Войдите в систему "root"'ом и продолжайте дальше.
Шаг 2: В командной строке наберите: rpm -q kernel-headers kernel-source make dev86
Шаг 3: Если эти RPM'ы уже установлены - переходите к шагу 4. В противном случае примонтируйте диск с дистрибутивом Red Hat Linux 7.0 и наберите rpm -Uvh для инсталляции этих пакетов.
Шаг 4: Если у вас настроены X Window - наберите startx. Если Х не установлены - я вам рекомендую их все же установить и настроить, потому что процесс тогда будет намного проще. Но если вы не хотите их устанавливать - набирайте make config или make menuconfig. Но не забывайте, что я подразумеваю, что у вас установлены Х.
Шаг 5: Затем, если вы используете GNOME - откройте терминал GNOME, наберите : cd /usr/src/linux и жмите enter.
Шаг 6: Находясь в каталоге /usr/src/linux - наберите make xconfig.
Шаг 7: Графическая версия make config появится на вашем экране.
Шаг 8: Сейчас рекомендую оставить опции как есть - ничего не менять.
Стандартная конфигурация достаточно объемная, но с другой стороны -
она сконфигурирована для работы на большинстве компьютеров. Предлагаю вам
для начала пройти полностью весь процесс, чтобы понять его смысл. Позже узнав
точную конфигурацию вашего компьютера - вы будете собирать компактные и
оптимально сконфигурированные ядра. В первую очередь для изучения начинки
своего компьютера - исследуйте /proc/pci, /proc/interrupts, /proc/modules etc ...
1.Тип процессора: сделайте корректный выбор - Pentium 2, 3, или Intel Celeron (как у меня). Например я выбрал так: Processor Family: PPro/686MX, Maximum Physical Memory: 1 GB, Math Emulation: Yes, MTRR: Yes, SMP: Yes.
2.Откройте окно выбора поддерживаемых файловых систем и внесите изменения: я сделал такие: DOS FAT fs support: Yes(y), MSDOS fs support: Yes(y), UMSDOS: m, VFAT(Windows 95) support: Yes(y), NTFS filesystem support (read-only): Yes(y), NTFS read-write support(DANGEROUS): No(n). После выбора убедитесь, что вы не поменяли случайно другие. Эти все изменения достаточно безобидны для системы.
3.Сохраните изменения и выйдите из меню.
Шаг 9: Наберите ls -al в каталоге: /usr/src/linux.
Шаг 10: Уверен там присутствует файл: "Makefile". Это очень важный файл для осуществления процесса компиляции. Рекомендую сделать его копию: cp Makefile Makefile.bak
Шаг 11: Теперь наберите: (в каталоге /usr/src/linux) vi Makefile.
Шаг 12: Найдите строку EXTRAVERSION и измените ее значение - я сделал так - поменял EXTRAVERSION=-22 на EXTRAVERSION="-22ghosh". Вы можете поменять на любое.
Шаг 13: Сохраните изменения и закройте файл.
Шаг 14: Все вышеперечисленные шаги надо выполнять из каталога /usr/src/linux. Наберите make dep clean, и жмите enter.
Шаг 15: Наберите make bzImage modules. Этот шаг займет некоторое время - можете пока пойти что-нибудь попить. Я обычно успеваю немного вздремнуть потому, что занимаюсь этим обычно ночью.
Шаг 16: В результате должен создастся файл "bzImage" в каталоге /usr/src/linux/arch/i386/boot - просто зайдите в этот каталог и посмотрите есть он там или нет. ТОГДА И ТОЛЬКО ТОГДА когда весь процесс компиляции пройдет до конца - этот файл создастся. Если этот файл создан, а я надеюсь что это так, можете уже ликовать потому, что 75% сражения вы уже выиграли. Если же его нет - сожалею, вы где-то допустили ошибку, сделайте паузу, подумайте и начните сначала. надеюсь у вас все получится.
Шаг 17: Наберите (в каталоге /usr/src/linux): cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.2.16-22ghosh и жмите enter.
Шаг 18: Наберите cp System.map
/boot/System.map-2.2.16-22ghosh
Следующий совет не обязателен для выполнения - сохраните предыдущий
конфигурационный файл (/usr/src/linux/.config), чтобы в будущем можно было
построить такое ядро без конфигурирования. Графическая версия настройки
позволяет загрузить конфигурационный файл. Для его сохранения выполните
следующую команду:
cp /usr/src/linux/.config /boot/Config-2.2.16-22ghosh
Шаг 19: Наберите make modules_install и жмите enter. Вы увидите названия всех устанавливаемых модулей.
Шаг 20: Наберите mkinitrd /boot/initrd-2.2.16-22ghosh.img 2.2.16-22ghosh
Шаг 21: Наберите vi /etc/lilo.conf и добавьте следующие строки:
image=/boot/vmlinuz-2.2.16-22ghosh
label=GhoshKernel
initrd=/boot/initrd-2.2.16-22ghosh.img
root=/dev/hdc5
read-only
Шаг 22: Сохраните изменения и закройте файл. Обратите внимание, что
изменения должны быть внесены в соответствии с вашей системой - например
корневой раздел в моей машине /dev/hdc5. Команда
df | grep '/$'
расскажет вам, где расположен корневой раздел в вашей системе. Обратите
внимание на одинарные кавычки выражения за командой grep.
Шаг 23: Наберите /sbin/lilo -v -v
Шаг 24: Прочитайте информацию, выводимую на экран. Если нет ошибок - цель достигнута. Примите поздравления!!!!
Шаг 25: Перезагрузите систему командой /sbin/reboot или /sbin/shutdown -r now.
Шаг 26: При загрузке жмите Tab (или Control-X если вы используете LILO) и вы увидите "GhoshKernel" и другую информацию.
Шаг 27: Наберите GhoshKernel и жмите enter. Загружается ваше ядро - поставленная задача выполнена.
Понаблюдайте за процессом загрузки - почитайте сообщения и проверьте нет ли ошибок. Также информацию, выводимую при загрузке, можно потом найти в файле /var/log/boot.log или выполнив команду dmesg. Если ошибок нет - значит ядро собрано правильно - очень хороший результат!!!
После входа в систему наберите uname -a и жмите Enter -
на экране вы увидите 2.2.16-22ghosh, время компиляции
и еще кое-какую информацию. Это подтверждает, что в систему загружено
скомпилированное вами ядро. Вот вообщем и все. В случае возникновения проблем -
пишите сюда - auspicious_blessingsindia@hotmail.com,
задавайте вопросы. Мне действительно будет интересно получить ваши письма,
помочь вам и я надеюсь, что эта заметка поможет всем, кто хочет самостоятельно
скомпилировать ядро.
Берегите себя.
Subhasish Ghosh
|
Webpages maintained by the LinuxFocus Editor team
© Subhasish Ghosh, FDL LinuxFocus.org Click here to report a fault or send a comment to LinuxFocus |
Translation information:
|
2001-07-03, generated by lfparser version 2.8