Аллен Питер В.
Шрифт:
Если ядро загружается средствами BIOS (например, с дискеты), то передать ему параметры невозможно: нужно использовать какой-либо загрузчик Linux. В главе 9 описано применение диспетчеров загрузки LILO и GRUB, то есть вы уже знаете, как указывать параметры в командной строке загрузчика или в его конфигурационном файле. Осталось разобраться с тем, какие это могут быть параметры.
Напоминаю, что синтаксис строки параметров следующий:
Значения разделяются запятой без пробелов, а параметры — пробелами. Пример строки параметров:
20.4.1. Параметры корневой файловой системы
♦ root=устройство: указывает устройство, на котором находится корневая файловая система. В качестве устройства допустимо указывать:
/dev/hdaN … /dev/hddN — для IDE-дисков:
/dev/sdaN … /dev/sdeN — для SCSI-дисков;
/dev/xdaN … /dev/xdbN — для XT-совместимых дисков;
/dev/fdN — флоппи-дисковод, где N=0 соответствует диску A:, a N=1 — диску В:
/dev/nfs — псевдоустройство, указывающее ядру, что нужно загружаться по сети;
♦ ro: требует монтировать корневую файловую систему в режиме «только чтение». Используется по умолчанию;
♦ rw: задает монтирование корневой файловой системы в режиме «чтение/запись». При использовании этого параметра нельзя запускать программы типа fsck. Перед запуском программы fsck нужно перемонтировать корневую файловую систему в режиме ro.
20.4.2. Объем памяти
Иногда нужно указать объем ОЗУ, отличный от того, который имеется на самом деле. Например, у вас чипсет Intel 810 с интегрированной видеоплатой, тогда вам нужно указать объем ОЗУ на 1 Мб меньше (а иногда даже на 2 Мб). Это связано с аппаратной особенностью чипсета. Более подробно об этом вы можете узнать на сайте компании Intel (
Объем установленной памяти можно указать с помощью параметра mem:
Число определяет объем памяти, установленной в компьютере, например, mem = 16384K или mem = 16M.
20.4.3. Управление RAMDISK
При создании загрузочных дискет для ОС Linux необходимо, чтобы на эти дискеты было помещено нужное программное обеспечение и чтобы для этого программного обеспечения хватило места. Обычно поступают следующим образом: создают сжатый архив всего необходимого программного обеспечения и помещают его на загрузочный диск. При загрузке системы в памяти создается виртуальный диск, на который это программное обеспечение распаковывается и записывается. Этот виртуальный диск называется RAM-диском.
Ядро не может быть включено в сжатый образ файловой системы RAM- диска, так как оно должно быть записано начиная с нулевого сектора, чтобы BIOS могло загрузить загрузочный сектор и ядро могло продолжить загрузку.
Если вы используете несжатый образ RAM-диска, то ядро может быть частью образа файловой системы. Такая дискета может быть загружена с помощью LILO.
В том случае, если вы для загрузки используете две дискеты (первая содержит ядро — boot, на второй находится образ файловой системы — root), образ файловой системы должен начинаться с нулевого сектора (смещение = 0).
Описываемые далее параметры задают режимы работы с RAM-диском.
♦ load_ramdisk=N: указывает, использовать RAM-диск (N=1) или нет (N=0). Значение по умолчанию равно 0.
♦ prompt_ramdisk=N: сообщает ядру, нужно ли запрашивать дискету, которая содержит образ файловой системы (N=1). Значение по умолчанию равно 1 (запрашивать).
♦ ramdisk_start=<смещение> : разрешает ядру находиться на дискете вместе со сжатым образом RAM-диска и указывает номер блока, с которого начинается RAM-диск.
♦ ramdisk_size=N: указывает максимальный размер (в Кб) RAM-диска. Начиная с версии ядра 1.3.48, память под виртуальный диск выделяется динамически. Значение по умолчанию равно 4096 (4 Мб).
♦ noinitrd: загружаться без использования initrd (см. п. 9.1.1.1).
20.4.4. Управление планировщиком ввода/вывода
Каждой программе, работающей под Linux, время от времени необходим доступ к. диску. Ядро Linux решает, когда именно программа получит этот доступ. Часть ядра, отвечающая за планирование ввода/вывода, называется планировщиком ввода/вывода. Параметр elevator предназначен для указания планировщику алгоритма работы. Существует четыре различных алгоритма работы планировщика: