BASH Programming - Введение

       

Установка ядра Linux


Ядро Linux может быть оснащено драйверами для различных свойств. Вы можете компилировать драйвера в образ ядра статически, или компилировать как модули и загружать при необходимости. Последний метод предпочтительней для драйверов не существенных для оживления вашей Linux системы, так как при этом ваше ядро будет меньше и быстрее. Однако, некоторые драйвера необходимы для системы и Вы не должны компилировать их как модули. Например: если ваша система находится на жестком диске IDE, драйвер жесткого диска IDE должен содержаться в ядре, а не в модуле.

Существует три различных типа CD-writer-ов: SCSI, IDE/ATAPI и внешние устройства на параллельный порт. Таблица 4 показывает как сконфигурировать ядро Linux для этих типов аппаратуры. Первый столбец таблицы - секция конфигурационного меню ядра, где Вы видите установки. Второй столбец - описание свойства (также взято из конфигурационного меню ядра). Третий столбец - показывает имя результирующего модуля. Столбцы названые SCSI, IDE и PP содержат необходимую опцию для соответствующей аппаратуры (PP= параллельный порт)

Sect. Description Module SCSI IDE PP ------------------------------------------------------------ BLOCK Enhanced IDE/MFM/RLL... Y BLOCK IDE/ATAPI CDROM ide-cd M BLOCK SCSI hostadaptor emulation ide-scsi M BLOCK Loopback device loop M M M

PARIDE Parallel port IDE device paride Y/M PARIDE Parallel port ATAPI CD-ROMs M PARIDE Parallel port generic ATAPI M PARIDE (select a low-level driver) Y

SCSI SCSI support scsi_mod Y/M Y/M SCSI SCSI CD-ROM support sr_mod Y/M Y/M SCSI Enable vendor-specific Y Y SCSI SCSI generic support sg Y/M Y/M SCSI (select a low-level driver) Y

FS ISO 9660 CDROM filesystem iso9660 Y Y Y FS Microsoft Joliet cdrom... joliet M/Y M/Y M/Y

Таблица: выбор драйвера для различных типов устройств

Y обозначает, что вы должны включить пункт в ядро. M означает модуль, и подразумевает, что Вы должны или можете скомпилировать это свойство как модуль. Y/M дает вам возможность выбрать (порядок показывает выбор с меньшим количеством потенциальных проблем). Пустые места не требуют модификации, и их не изменение увеличивает шанс, что ядро, в результате,будет работать как Вы хотите (если работало ранее). Особенно при смешивании ATAPI и SCSI устройств, будет лучше сконфигурировать большинство свойств как модули.

Компиляция петлевого устройство необязательна. Это поможет Вам тестировать образ перед записью на носитель. Если Вы хотите читать CD-ROMы, Вам нужна поддержка файловой системы ISO9660. Этот драйвер автоматически включает поддержку расширения RockRidge. Расширение Microsoft Joliet, полностью добавлено в ISO9660 файловую систему. В любом случае Вам нужен драйвер низкого уровня для Вашего оборудования. Низкий уровень обозначает драйвер, который взаимодействует с вашим оборудованием. Для SCSI и параллельного порта существует много драйверов низкого уровня.

Для загрузки модулей Вы должны либо перечислить их в конфигурационном файле, таком как /etc/modules или запустить демонов kerneld или kmod, которые автоматически загружают требуемые модули когда ядро их ищет. Чтобы сделать Ващу жизнь проще, Вы можете добавить следующие строки в /etc/conf.modules:


alias scd0 sr_mod # загружает sr_mod при доступе к scd0 alias scsi_hostadaptor ide-scsi # эмуляция адаптера SCSI options ide-cd ignore=hdb # если ваш CD-writer - /dev/hdb

Некоторые установки для использования IDE/ATAPI устройств записи

Псевдонимы (aliases) предоставляют альтернативные имена для тех же модулей и не существенны. options предоставляют путь для создания опций для постоянной загрузки модуля, таким образом Вы можете успешно использовать их с modprobe/insmod. Для информации о различных опциях для различных модулей, читайте.

Описание Команда ------------------------------------------------- Список активных драйверов cat /proc/devices Список активных модулей cat /proc/modules Список имеющихся модулей modprobe -l Удалить модуль modprobe -r Загрузить модуль вручную modprobe Загрузить модуль при старте echo "перечислите их в /etc/modules" (пожалуйста, сверьтесь с руководством вашего дистрибутива) Загрузить модули по требованию echo "запустите kmod или kerneld"

Таблица: команды для работы с модулями ядра и драйверами

Если Вам нужен модуль не имеющийся в системе, вы должны перекомпилировать и переустановить ядро. Для подробностей, пожалуйста, читайте Kernel HOWTO. Если Вы успешно создали или нашли требуемые модули, либо добавьте их в /etc/modules или используйте автоматические возможности (kmod, kerneld) для их загрузки. Сверьтесь с документацией вашего Linux дистрибутива, если не уверены.

Если Вы сам себе хозяин, попробуйте установить пакет "Linux Kernel source", который прилагается к Вашему дистрибутиву. После чего используйте следующие команды:

cd /usr/src/linux make menuconfig # следуйте инструкциям и меню make dep make zImage # или "make bzImage" # вставьте дискету перед продолжением dd if=arch/i386/boot/zImage of=/dev/fd0 make modules make modules_install

Таблица: создание загрузочной дискеты

Это должно создать загрузочную дискету. Если Вы действительно не догадываетесь о чем речь, лучше прочитайте документацию Kernel HOWTO или попросите друга, прежде чем полностью потеряете систему.


Содержание раздела