Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Мини-HOWTO: Модули ядра Linux
Пред. 

Пересобираем ядро для включения поддержки модулей

Почти все функции ядра могут быть собраны в виде модулей. Исключением является драйвер файловой системы, на которой находится корневой раздел (обычно это файловая система ext2)

Однако, некоторые вещи очень сложно настроить, если их поддержка собрана в виде модуля, и я бы рекомендовал встроить в ядро:

  • Драйверы сетевых карт Ethernet.

  • Драйверы SCSI CD-ROM.

С другой стороны, существуют такие комбинации драйверов, которые работают ТОЛЬКО если они собраны в виде модулей, особенно если их несколько:

  • Драйвер принтера на параллельном порту,

  • Драйвер внешнего дисковода, подключаемого к параллельному порту (такие как IOMEGA ZipDrive или JazzDrive, или BackPack CD-ROM), и

  • Демон PLIP

Вам надо самим решить, что вы встроите в ядро, а что соберете в виде модулей. Не забудьте про то, что я вам говорил выше. Выбирать вы будете в процессе исполнения второй из следующих трех команд:

cd /usr/src/linux
make menuconfig
make dep clean modules modules_install zImage
    

После этого надо обновить зависимости модулей. Это делается следующей командой:

depmod -a
    

Теперь новое ядро надо включить в процедуру загрузки системы. Я предполагаю, что вы для этого используете LILO, потому что это единственный загрузчик, с которым я имел дело.

Я настоятельно рекомендую вам НЕ использовать автоматическую процедуру установки нового ядра в процедуру загрузки, потому что, если это ядро не загрузится, вам будет очень сложно восстановить систему без полной переустановки, что не очень приятно. По этой причине у меня в файле /etc/lilo.conf есть следующие строки:

image=/usr/src/linux/arch/i386/boot/zImage
  label=new
  alias=n
  read-only
  vga=ask
  optional
    

Здесь указано, что существует еще один ВАРИАНТ загрузки системы (который не будет работать, если образ этого ядра не существует), при котором ядро загружается из файла /boot/newlinux. При его запуске система предложит вам выбрать видеорежим, в котором будет загружаться ядро.

Я предполагаю, что у вас есть подобные строки в файле /etc/lilo.conf, и что вы поместили в вышеуказанное место правильно собранное ядро. Теперь его можно установить в процедуру загрузки командой:

lilo
    

После этого вам надо перейти к одному из следующих разделов (это зависит от того, какой дистрибутив у вас установлен):

Настройка поддержки модулей в дистрибутивах Debian и RedHat

Перед тем, как переходить к исполнению советов, приведенных в этой главе, убедитесь в том, что вы проделали все, что описано в разделе "Пересобираем ядро для включения поддержки модулей".

Процедуры загрузки системы дистрибутивов Debian и RedHat идентичны, поэтому у них совпадает и процедура настройки модулей.

  1. Зайдите в систему в качестве root-а, и, при помощи вашего любимого текстового редактора, создайте файл /etc/rc.d/init.d/modules.init, написав в нем следующее:

    # Modules initialisation.
    # Инициализация модулей.
    #
    # Start up the module auto-loading daemon.
    # Запуск демона автозагрузки модулей
    /sbin/kerneld
    
    # Mount all currently unmounted auto-mounted partitions.
    # подключаем все неподключенные разделы.
    /sbin/mount -a
              
  2. После создания этого файла в качестве root-а сделайте следующее:

    cd /etc/rc.d
    chmod 755 init.d/*
    cd rc3.d
    ln -s ../init.d/modules.init 05modules.init
              

Теперь систему можно перезагрузить, и, если все пойдет хорошо, то модули будут прекрасно работать.

Настройка поддержки модулей в дистрибутиве Slackware

Перед тем, как переходить к исполнению советов, приведенных в этой главе, убедитесь в том, что вы проделали все, что описано в разделе "Пересобираем ядро для включения поддержки модулей".

Теперь вам надо отредактировать файл /etc/rc.d/rc.M примерно следующим образом:

  1. В районе строки 18 есть раздел, содержащий следующее:

    # Экран отключается после 15 минут простоя
    # Screen blanks after 15 minutes idle time.
    /bin/setterm -blank 15
              

    Сразу после этого раздела вставьте следующее:

    # Load the kernel module auto-loader.
    # Загружаем демон автозагрузки модулей.
    /sbin/kerneld
              
  2. Примерно через 12 строк вы увидите следующее:

    # if there is no /etc/HOSTNAME, fall back on this default:
    # если файл /etc/HOSTNAME не существует, то используем значение по умолчанию:
              

    Непосредственно перед этими строками вставьте следующее (не забывайте про пустые строки):

    # Mount remaining unmounted auto-mount drives.
    # Подключаем оставшиеся неподключенные разделы.
    /sbin/mount -a
              

После внесения этих изменений запишите файл.

Более никаких изменений в Slackware не требуется.

Настройка поддержки модулей в других дистрибутивах

Перед тем, как переходить к исполнению советов, приведенных в этой главе, убедитесь в том, что вы проделали все, что описано в разделе "Пересобираем ядро для включения поддержки модулей".

Точная последовательность действий в других дистрибутивах, конечно же, не может быть определена, но, скорее всего, она будет совпадать с одной из вышеописанных. Для того, чтобы определить, которая из них вам подходит, вы можете просмотреть содержимое каталога /etc/rc.d, следующим образом:

cd /etc/rc.d
ls -l *.d rc.*
      

В зависимости от того, что вы увидите на экране, у вас есть три варианта действий:

  1. Если в этом списке есть каталог init.d и несколько каталогов с именем вида rc?.d, где вместо знака вопроса стоят различные цифры, и в этом списке НЕТ файла с именем rc.M, то этот дистрибутив можно настроить так, как описано в главе "Настройка поддержки модулей в дистрибутивах Debian и RedHat".

  2. Если в этом списке НЕТ каталога init.d, но есть файл rc.M, то этот дистрибутив можно настроить так, как описано в главе "Настройка поддержки модулей в дистрибутиве Slackware".

  3. Если ваш список не удовлетворил предыдущим двум вариантам, то процедура загрузки вашей системы не описана в этом HowTo. В этом случае вы можете связаться с автором этого документа, и он вам поможет настолько, насколько это возможно.


Пред.Начало 
Ускорение работы компилятора  
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...