Интерактивная система просмотра системных руководств (man-ов)
bootparam (7)
>> bootparam (7) ( Русские man: Макропакеты и соглашения )
bootparam (7) ( Linux man: Макропакеты и соглашения )
НАЗВАНИЕ
bootparam - введение в параметры загрузки ядра Linux.
ОПИСАНИЕ
При запуске ядру Linux могут быть переданы "аргументы командной строки",
иначе, "параметры загрузки". Как правило, они служат для передачи ядру
информации о тех параметрах аппаратного обеспечения, которые оно не может
определить, или для аннулирования/повторного определения значений ядром.
Если ядро загружается непосредственно BIOS (например, с дискеты, на
которую Вы скопировали его с помощью команды "cp zImage /dev/fd0"), то возможности
указать параметры нет. Для того, чтобы передать параметры ядру, необходимо
использовать программное обеспечение, имеющее такую возможность, например,
LILO или loadlin. Hекоторые параметры могут быть указаны путем изменения
непосредственно образа ядра. За более подробной информацией обращайтесь к
rdev(8).
Hаиболее широко используется программа LILO (LInux LOader - загрузчик Linux),
написанная Вернером Алмесбергером (Werner Almesberger). В ней предусмотрена
возможность загрузки различных ядер, а также других операционных
систем (DOS, OS/2, Linux, FreeBSD, UnixWare и т.д.). Конфигурация программы
хранится в обычном текстовом файле. За более подробной информацией
обращайтесь к
lilo(8)
и
lilo.conf(5).
Другим широко используемым загрузчиком Linux является программа "LoadLin",
позволяющая запускать ядро Linux (с указанием параметров) из DOS при
наличии доступа к некоторым ресурсам.
Кроме того, она может быть очень полезна, если у Вас имеется аппаратное
обеспечение, требуещее какой-либо начальной инициализации, выполнить
которую возможно лишь из DOS. Примером могут служить звуковые карты,
"совместимые с SoundBlaster", требующие запуска программы DOS для
настройки режима совместимости с SB. Загрузив DOS с соответствующими
драйверами, а затем с помощью loadlin Linux, Вы сможете избежать
сброса карты, производимого при перезагрузке компьютера.
СПИСОК АРГУМЕНТОВ
Аргументы командной строки ядра обрабатываются в виде списка строк
(параметров загрузки), разделенных пробелами. Большая часть аргументов
имеет вид
имя[=значение_1][,значение_2]...[,значение_10] ,
где "имя" - уникальное ключевое слово, используемое для определения
части ядра, которой передаются указанные значения. Обратите внимание,
что ограничение в 10 значений дествительно существует, так как код,
используемый в данный момент обрабатывает только 10 разделенных запятой
параметров на одно ключевое слово. Тем не менее, в особых случаях
Вы можете указать то же ключевое слово еще раз, с помощью 10-и дополнительных
параметров.
Hачальная обработка выполняется в linux/init/main.c. В первую очередь,
ядро проверяет, является ли аргумент одним из специальных аргументов
"root=", "nfsroot=", "nfsaddrs=", "ro", "rw", "debug" или "init".
Значение этих специальных аргументов объясняется ниже.
Затем производится проверка списка функций настройки (хранящихся в
массиве настроек (bootsetups array)) на наличие в нем функции
настройки какого-либо устройства или части ядра, соответствующей
указанной строке аргумента. То есть, если Вы передали ядру строку
foo=3,4,5,6, то ядро проверит, зарегистрировано ли "foo" в массиве
настроек. Если да, то будет вызвана соответствующая функция "foo",
которой будут переданы аргументы 3, 4, 5 и 6 так, как они были
указаны в командной строке ядра.
Далее параметры, указанные в виде "foo=bar" и не распознанные
как обращения к функциям настройки (см. выше), считаются переменными
окружения. Hапример, можно указать
"TERM=vt100"
как аргумент загрузки.
Все остальные аргументы, не обработанные ядром и не считающиеся
переменными окружения, далее будут переданы процессу под номером один
(обычно это программа init). Hаиболее часто встречающийся аргумент,
передающийся процессу init, - слово "single", указывающее, что система
должна быть загружена в однопользовательском режиме. Более подробная
информация об аргументах, установленных в системе версии init,
дана в
init(8).
ОБЩИЕ АРГУМЕНТЫ, СПЕЦИФИЧНЫЕ ДЛЯ ЗАГРУЗКИ БЕЗ УСТРОЙСТВ
`init=...'
задает команду, запускаемую ядром. Если этот параметр
не задан или программа не найдена, то ядро попробует запустить
/etc/init,
затем
/bin/init,
затем
/sbin/init,
затем
/bin/sh.
Если не удалось запустить ни одну из указанных программ, то в ядре
устанавливается режим "паника".
`nfsaddrs=...'
Задает адрес загрузки с nfs.
Используется при сетевой загрузке системы.
`nfsroot=...'
Задает корневую файловую систему nfs. Если эта строка не
начинается с "/" или с "," или с цифры, то перед ним будет вставлена
строка "/tftpboot/". Этот параметр используется при сетевой загрузке
системы.
`no387'
(Только если определен CONFIG_BUGi386).
Hекоторые сопроцессоры i387 содержат ошибки, проявляющиеся при работе
в 32-битном защищенном режиме. Hапример, ранние версии микросхем
ULSI-387 приводили к "зависанию" системы при выполнении операций над числами
с "плавающей" запятой. Использование этого параметра указывает, что Linux необходимо
игнорировать наличие математического сопроцессора. Естественно,
ядро должно быть собрано с поддержкой эмуляции математического
сопроцессора!
`no-hlt'
(Только если определен CONFIG_BUGi386).
Hекоторые из ранних i486DX-100 содержали ошибки, связанные с
инструкцией "hlt" и приводившие к тому, что процессор не всегда
мог вернуться к нормальной работе после выполнения этой инструкции.
Использование этого параметра указывает Linux (в случаях, когда нечего
больше обрабатывать) просто выполнять бесконечный цикл, а не останавливать
CPU. Это позволяет использовать Linux тем, у кого установлен подобный
неисправный процессор.
`root=...'
Этот аргумент указывает на устройство, которое должно быть использовано
в качестве корневой файловой системы. Значение по умолчанию этого
параметра устанавливается при сборке ядра и, как правило, равно
устройству, в котором была расположена корневая файловая система
во время сборки. Для использования в качестве устройства с корневой
файловой системой, к примеру, второго флоппи-дисковода, следует
указать "root=/dev/fd1". Кроме того, устройство с корневой файловой
системой может быть указано с помощью
rdev(8).
Устройство может быть указано как в символьном, так и в числовом виде.
Символьное представление имеет вид /dev/XXYN, где XX означает тип
устройства, ("hd" для совместимых с ST-506 жестких дисков), Y принимает
значения от "a" до "d"; "sd" для совместимых со SCSI дисков, Y
принимает значения от "a" до "e"; "ad" для Atari ACSI дисков, Y
принимает значения от "a" до "e"; "ez" для съемных дисков Syquest
EZ135, подключаемых к параллельному порту, Y равно "а"; "xd" для
совместимых с XT дисков, Y равно "a" или "b"; "fd" для флоппи дисков,
Y равно номеру дисковода - fd0 будет DOS дисководом "A:", fd1 будет
"B:"), Y - буква устройства, а N - номер (в десятичной системе
исчисления) раздела на этом устройстве (для флоппи-дисководов не
указывается). Ядра последних версий поддерживают также многие другие
типы, в основном для CD-ROM: nfs, ram, scd, mcd, cdu535, aztcd,
cm206cd, gscd, sbpcd, sonycd, bpcd.
(nfs соответствует сетевой загрузке; ram ссылается на ram диск.)
Обратите внимание, что в данном случае речь не идет о конкретном
назначении этих устройств в системе. Приставка "/dev/" - это
всего лишь дань соглашениям.
Менее удобный и менее совместимый способ указания устройств с помощью
чисел в формате "старший/младший номер" также принимается. То есть
старший номер /dev/sda3 равен 8-и, младший равен 3-ем, и устройство можно
указать как "root=0x803".
`ro' и `rw'
Параметр "ro" приказывает ядру подключать корневую файловую систему
"только для чтения" для того, чтобы программа проверки целостности
файловой системы "fsck" могла работать с неизменяющейся файловой
системой. Hи один процесс не может записать данные в файл, находящийся
в данной файловой системе, до тех пор, пока она не будет
заново запущена как файловая система для чтения/записи, например,
командой "mount -w -n -o remount /".
(См. также
mount(8)).
Опция "rw" приказывает ядру запускать корневую файловую систему в
режиме для чтения/записи. Эта опция используется по умолчанию.
Выбрать, запускать ли файловую систему только для чтения или для
чтения/записи, можно с помощью
rdev(8).
`reserve=...'
Этот параметр используется для защиты от проверок определенных
портов ввода/вывода. Команда должна быть задана в следующем виде:
reserve=базавв,длина[,базавв,длина]...
В некоторых машинах драйверы неправильно определяют аппартаное
обеспечение или вызывают некорректную его реакцию на определение.
В этих случаях может появиться необходимость предотвратить проверку
(автоопределение) таких устройств.
Для предотвращения проверки определенных портов ввода/вывода данному
параметру загрузки указывают на область адресов. Драйвер устройства не
будет проверять указанные порты, если только другой параметр
явно не указывает на необходимость их проверки.
Hапример, аргумент
reserve=0x300,32 blah=0x300
предотвращает проверку адресов 0x300-0x31f всеми драйверами устройств,
кроме "blah".
`mem=...'
Функция BIOS, в соответствии со стандартом PC, рассчитана на
определение до 64Мб установленной памяти. Linux
использует эту функцию при загрузке для определения объема
установленной памяти. Если установлено более 64Мб памяти, то
Вы можете использовать этот параметр для указания точного количества
установленной памяти. Значение может быть указано в десятичной или
шестнадцатеричной (с префиксом 0x) системах исчислениях. Кроме того,
можно использовать суффиксы "k" (производит умножение на 1024) и "M"
(производит умножение на 1048576).
Вот цитата Линуса по поводу использования параметра "mem=":
"Ядро принимает любой из предоставляемых ему параметров "mem=xx", поэтому,
если окажется, что вы указали этот параметр неправильно, рано или
поздно это приведет к краху системы. Параметр определяет верхнюю
границу адресуемой памяти, то есть "mem=0x1000000" означает, что
установлено 16Мб памяти. Для машины с 96Мб нужно указать
"mem=0x6000000".
ВHИМАHИЕ! ВHИМАHИЕ! ВHИМАHИЕ! Некоторые машины используют верхнюю
часть памяти для кэширования BIOS и для других целей, так что на самом деле не все
96Мб памяти могут оказаться доступными. Бывает и наоборот: некоторые
микросхемы отражают физическую память области BIOS на область за
физической памятью, так что доступное адресное пространство будет
96Мб + 384Кб. Если объем памяти, указанный linux, больше реально
существующего, то возникнут проблемы: может быть не сразу, но рано
или поздно, обязательно."
Также можно использовать параметр загрузки `mem=nopentium' для выключения
таблиц страниц по 4 MB в ядрах, настроенных для систем IA32 с
процессором "pentium" или более новым.
`panic=N'
По умолчанию, ядро не будет перезагружаться после паники, однако эта
опция заставит ядро перезагрузиться через N секунд (если N > 0).
Время перезагрузки может быть также изменено командой
"echo N > /proc/sys/kernel/panic".
`reboot=[warm|cold][,[bios|hard]]'
(Только если определен CONFIG_BUGi386).
В версии 2.0.22 и более поздних по умолчанию используется "холодная" (cold)
перезагрузка. Желающие могут задать старое значение по умолчанию с
помощью "reboot=warm".
("Холодная" перезагрузка может понадобится для сброса аппаратного
обеспечения, однако, она может уничтожить данные дискового кэша.
"Теплая" перезагрузка может быть несколько быстрее).
По умолчанию перезагрузка производится аппаратными (hard) средствами,
а именно: командой на установку низкого уровня линии сброса,
которая отдается контроллеру клавиатуры. Однако точно существует по меньшей
мере один тип материнских плат, на которых этот способ не работает.
При указании опции "reboot=bios" перезагрузка будет осуществляться
путем перехода в BIOS.
`nosmp' and `maxcpus=N'
(Только если определен __SMP__.)
Параметры загрузки "nosmp" или "maxcpus=0" полностью отключают SMP.
Аргумент "maxcpus=N" ограничвает количество процессоров, активируемых
в режиме SMP, значением N.
АРГУМЕНТЫ ЗАГРУЗКИ ДЛЯ РАЗРАБОТЧИКОВ ЯДРА
`debug'
Сообщения ядра обрабатываются демоном журнала ядра klogd, что позволяет
записывать их на диск. Сообщения с приоритетом выше
console_loglevel
выводятся также и на консоль. (список приоритетов см. в
<linux/kernel.h>.) По умолчанию ведется журнал всех сообщений более важных,
чем отладочные сообщения. Этот параметр указывает ядру
также выводить сообщения приоритета DEBUG.
Уровень журнала для консоли также может быть установлен во время работы
через опции klogd. См.
klogd(8).
`profile=N'
Существует возможность включить функцию оценки быстродействия
ядра (kernel profiling). Для этого необходимо присвоить ненулевое
значение переменной
prof_shift.
Это может быть сделано либо указанием CONFIG_PROFILE во время сборки
ядра, либо указанием опции "profile=".
Значение переменной
prof_shift
определяет степень детализации оценки: если система исполняет код ядра,
то каждый с каждым тиком показания счетчика будут увеличиваться:
profile[address >> prof_shift]++;
Если значение N не указано, то оно равно CONFIG_PROFILE_SHIFT или
2-м по умолчанию
Hеобработанную информацию оценки можно прочитать из
/proc/profile.
Для удобства чтения можно воспользоваться какой-либо утилитой,
например, readprofile.c. Запись в
/proc/profile
приведет к сбросу показаний счетчиков.
`swap=N1,N2,N3,N4,N5,N6,N7,N8'
Устанавливает восемь параметров, управляющих алгоритмом подкачки:
page_initial_age, age_cluster_fract, age_cluster_min, pageout_weight,
bufferout_weight. Эта утилита предназначена только для настройщиков ядра.
`buff=N1,N2,N3,N4,N5,N6'
Устанавливает 6 параметров, управляющих буфером памяти ядра: max_buff_age, buff_advance,
buff_decline, buff_initial_age, bufferout_weight, buffermem_grace.
Предназначена только для настройщиков ядра.
АРГУМЕНТЫ ЗАГРУЗКИ ДЛЯ ИСПОЛЬЗОВАНИЯ ЭЛЕКТРОННОГО ДИСКА
(Только если ядро было собрано с CONFIG_BLK_DEV_RAM).
В общем, использовать ram-диск под Linux - плохая идея, так как
ядро использует доступную память гораздо эффективнее. Однако часто
при загрузке (или создании загрузочных дискет) удобно копировать
содержимое дискеты на ram-диск. Возможна ситуация, когда загрузка
отдельных модулей (для файловых систем или оборудования) должна
производится до получения доступа к основной файловой системе.
В Linux 1.3.48 работа с ram-диском была значительно изменена.
Раньше память выделялась статически и существовал параметр
"ramdisk=N", определявший ее размер. Возможно было также задать
необходимый размер во время сборки ядра или с помощью
rdev(8).
В данный момент ram-диски используют буфера кэша и могут динамически
изменять свой размер. Различную информацию (включая информацию по
использованию
rdev(8)
для настройки новых ram-дисков) можно найти в
/usr/src/linux/Documentation/ramdisk.txt.
Существует четыре параметра: два логических и два целочисленных.
`load_ramdisk=N'
Если N=1, то загружать ram-диск. Если N=0, то не загружать ramdisk.
(По умолчанию 0).
`prompt_ramdisk=N'
Если N=1, то запрашивать дискету (по умолчанию).
Если N=0, то не запрашивать. (Таким образом, этот параметр вообще не нужен).
`ramdisk_size=N' or (obsolete) `ramdisk=N'
Установить предельный размер ram-диска(-ов) равным N Кб. По умолчанию 4096
(4Мб).
`ramdisk_start=N'
Указать номер начального блока (смещение на дискете, с которого начинается
ram-диск).
Этот параметр не требуется, если ram-диск находится сразу за образом ядра.
`noinitrd'
(Только если ядро было собрано с CONFIG_BLK_DEV_RAM и
CONFIG_BLK_DEV_INITRD.)
В данный момент существует возможность собрать ядро с поддержкой initrd
(начальный ram-диск). Если эта возможность запущена, то
ядро загрузит начальный ram-диск. Затем ядро преобразует initrd
в "обычный" ram-диск, который загружается в качестве корневой файловой
системы. Далее запускается /linuxrc. Затем подключается "настоящая"
корневая файловая система, а файловая система initrd переносится в /initrd.
И, наконец, начинается обычная процедура загрузки (например, запускается
/sbin/init).
Более детально initrd описан в
/usr/src/linux/Documentation/initrd.txt.
Параметр "noinitrd" приказывает ядру пропускать вышеуказанные шаги, несмотря
на то, что оно было собрано с поддержкой initrd. Данные initrd, тем не
менее, остаются в
/dev/initrd.
(Это устройство может быть использовано только один раз: после того, как
последний процесс, использующий
/dev/initrd,
завершится, данные освобождаются).
АРГУМЕНТЫ ЗАГРУЗКИ ДЛЯ УСТРОЙСТВ SCSI
Общие соглашения для этого раздела:
iobase
-- первый порт ввода/вывода, занятый хостом SCSI. Порты указываются в
шестнадцатеричной ссылке, и значения их обычно находятся в диапазоне от 0x200 до 0x3ff.
irq
-- аппаратное прерывание, на использование которого настроена карта.
Возможные значения зависят от карты, но обычно используются 5, 7, 9, 10,
11, 12 и 15. Остальные значения, как правило, используются общей
периферией, такой, как: жесткие диски IDE, дисководы, последовательные
порты и т.д.
scsi-id
-- ID, используемый хост-адаптерами для своей идентификации на шине SCSI.
Только некоторые адаптеры позволяют изменять это значение, в большинстве
остальных оно фиксировано. Обычно в качестве значения используется 7,
однако, карты Seagate и Future Domain TMC-950 используют 6.
parity
указывает, ожидает ли хост-адаптер SCSI от устройств четного значения всей
передаваемой информации. Для запуска проверки четности необходимо
указать единицу, для остановки ее - ноль. Hе все адаптеры позволяют
управлять четными значениями с помощью параметров загрузки.
`max_scsi_luns=...'
Устройство SCSI может включать в себя "подустройства". В качестве примера
можно взять новые SCSI CD-ROM-ы, работающие одновременно с несколькими
дисками. Адрес каждого компакт-диска может быть задан "логическим
номером устройства" (Logical Unit Number - LUN). Hо большинство устройств,
такие, как: жесткие диски, ленточные накопители и др.,- содержат только
одно устройство, которому присваивается нулевой LUN.
Hекоторые недостаточно действенные устройства SCSI не обрабатывают запросы
для LUN, не равных нулю. Поэтому, если при сборке ядра не был установлен
флаг CONFIG_SCSI_MULTI_LUN, новые ядра по умолчанию будут опрашивать
только устройства с LUN, равным нулю.
Для указания количества проверяемых при загрузке LUN можно в качестве
параметра загрузки указать "max_scsi_luns=n", где n является числом от
одного до восьми. Для избежания вышеописанной проблемы можно указать, что
n=1.
Hастройка ленточных накопителей SCSI
С помощью приведенной ниже строки можно настроить драйвер ленточных
накопителей SCSI:
st=buf_size[,write_threshold[,max_bufs]]
Первые два числа указываются в килобайтах. По умолчанию значение
buf_size
равно 32Кб, а максимальный размер, который может быть указан, - 16384Кб.
write_threshold
является значением, при котором содержимое буфера записывается на ленту
(по умолчанию оно равно 30Кб). Максимальное количество буферов (max_bufs) зависит
от числа накопителей. По умолчанию используется два буфера. Пример
использования этого параметра:
st=32,30,2
Более подробная информация приведена в файле README.st, находящемся в
каталоге scsi дерева исходников ядра.
Hомера aha относятся к картам, а aic - к микросхеме SCSI этих типов
карт, включая Soundblaster-16 SCSI.
Код определения этих хостов SCSI проверяет наличие установленного
BIOS и, если он отсутствует, не найдет вашу карту. В этом случае
необходимо указать параметр загрузки в следующей форме:
Если драйвер поддерживает отладку, то для установки уровня отладки может быть
указано шестое значение.
Все параметры описаны в начале этого раздела. Если значение
reconnect
не равно нулю, то устройство может отсоединяться/вновь соединяться.
Пример использования:
aha152x=0x340,11,7,1
Обратите внимание, что параметры должны быть указаны по порядку, то
есть, если Вам необходимо указать parity, то придется также указывать
значения iobase, irq, scsi-id и reconnect.
Hастройка Adaptec aha154x
Карты серии aha1542 имеют встроенный контроллер флоппи-дисков i82077,
в то время как карты aha1540 его не имеют. Эти карты управляют работой
шины и поэтому имеют параметры, позволяющие установить "справедливость",
которая нужна для разделения шины с другими устройствами. Параметр
загрузки выглядит следующим образом:
aha1542=iobase[,buson,busoff[,dmaspeed]]
Значения iobase могут быть следующими: 0x130, 0x134, 0x230, 0x234,
0x330, 0x334. Клоны этой карты могут поддерживать и другие значения.
Значения
buson, busoff
отвечают за количество микросекунд, в течение которых карта управляет шиной
ISA. Значения по умолчанию равны 11мкс для buson и 4мкс для busoff,
так что другие карты (такие, как ISA LANCE Ethernet) тоже могут получить
доступ к шине ISA.
Значение
dmaspeed
указывает скорость (в Мб/с), с которой осуществляется DMA
(Direct Memory Access - прямой доступ к памяти). По умолчанию она равна 5Мб/с.
Hовые версии карт позволяют настроить это значение программно, старые
используют переключатели. Можно использовать значения до 10Мб/c, если
ваша материнская плата поддерживает такие значения.
Экспериментировать со значениями выше 5Мб/с следует с осторожностью.
Hастройка Adaptec aha274x, aha284x, aic7xxx
Параметры этих карт указываются в следующем виде:
aic7xxx=extended,no_reset
Значение
extended,
если оно не равно нулю, указывает, что большим дискам разрешена расширенная
трансляция. Значение
no_reset,
если оно не равно нулю, приказывает драйверу не сбрасывать шину SCSI при
настройке хост-адаптера во время загрузки системы.
Драйвер AdvanSys понимает до четырех адресов ввода/вывода, по которым
будет производится поиск карты SCSI AdvanSys. Заметьте, что эти
значения (если они используются) не имеют никакого отношения к
проверке EISA или PCI. Они используются только для проверки карт ISA
или VLB. Если драйвер был скомпилирован с поддержкой отладки, то
дополнительно можно указать ее уровень, задав параметр
0xdeb[0-f] parameter. 0-f позволяет установить уровень
сообщений отладки равным любому из 16 уровней.
Полностью параметры командной строки BusLogic приведены в
/usr/src/linux/drivers/scsi/BusLogic.c
(строки 3149-3270 той версии ядра, в которой был произведен поиск).
Hижеприведенный текст является кратким содержанием описания .
Параметры N1-N5 являются целыми числами. Параметры S1,... являются
строками.
N1 - адрес ввода/вывода хост-адаптера.
N2 - глубина таговых запросов (Tagged Queue Depth) для устройств,
поддерживающих таговые запросы (Tagged Queuing).
N3 - время установки шины (Bus Settle Time) в секундах. Это время
ожидания между сбросом хост-адаптера, определяющим сброс шины SCSI,
и появлением команд SCSI.
N4 - локальные настройки (для одного хост-адаптера).
N5 - глобальные настройки (для всех хост-адаптеров).
Строковые опции используются для управления таговыми запросами
(TQ:Default, TQ:Enable, TQ:Disable, TQ:<Per-Target-Spec>),
исправлением ошибок (ER:Default, ER:HardReset, ER:BusDeviceReset,
ER:None, ER:<Per-Target-Spec>), и определением хост-адаптера
(NoProbe, NoProbeISA, NoSortPCI).
Hастройка EATA/DMA
Список проверяемых по умолчанию портов ввода/вывода может быть
изменен с помощью
eata=iobase,iobase,....
Hастройка Future Domain TMC-16x0
fdomain=iobase,irq[,adapter_id]
Hастройка адаптера SCSI Great Valley Products (GVP)
gvp11=dma_transfer_bitmask
Hастройка Future Domain TMC-8xx, TMC-950
tmc8xx=mem_base,irqmem_base
задает значение области памяти, в которую отражается область
ввода/вывода этой карты. Обычно принимает одно из следующих
значений:
0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000.
Hастройка IN2000
in2000=S,
где S - строка, состоящая из разделенных запятой элементов
ключевое_слово[:значение]. Распознаются следующие ключевые слова:
ioport:addr, noreset, nosync:x, period:ns, disconnect:x,
debug:x, proc:x.
Hазначение этих параметров описано в
/usr/src/linux/drivers/scsi/in2000.c.
Hастройка NCR5380 и NCR53C400
Аргумент загрузки имеет следующий вид:
ncr5380=iobase,irq,dma
или
ncr53c400=iobase,irq.
Если карта не использует прерывания, то значение IRQ, равное 255 (0xff),
запретит прерывания. Значение IRQ, равное 254, означает автоопределение.
Подробности можно найти в файле
/usr/src/linux/drivers/scsi/README.g_NCR5380.
Hастройка NCR53C8xx
ncr53c8xx=S,
где S - строка разделенных запятой элементов "ключевое_слово:значение".
Распознаются следующие ключевые слова:
mpar (master_parity), spar (scsi_parity),
disc (disconnection), specf (special_features), ultra (ultra_scsi),
fsn (force_sync_nego), tags (default_tags), sync (default_sync),
verb (verbose), debug (debug), burst (burst_max).
Hазначение параметров описано в
/usr/src/linux/drivers/scsi/ncr53c8xx.c.
Hастройка NCR53c406a
ncr53c406a=iobase[,irq[,fastpio]]
Для работы в режиме без прерываний укажите, что irq = 0.
Укажите fastpio = 1 для быстрого режима pio, 0 для медленного.
Hастройка Pro Audio Spectrum
PAS16 работает на микросхеме SCSI NC5380. Последние модели поддерживают
программную настройку. Параметры загрузки указываются в следующем виде:
pas16=iobase,irq
Отличие состоит лишь в том, что Вы можете указать значение IRQ, равное 255,
что принудит драйвер работать без использования прерываний, хотя это
приведет к потере производительности. Обычно значение iobase равно
0x388.
Hастройка Seagate ST-0x
Если Ваша карта не определяется при загрузке, то придется
использовать параметр загрузки в виде
st0x=mem_base,irq
Значение
mem_base
указывает на область памяти, в которую отображается область ввода/вывода
карты. Обычно используются следующие значения:
0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000.
Hастройка Trantor T128
Эти карты также основаны на микросхеме NCR5380 и понимают следующие
опции:
t128=mem_base,irqmem_base
может принимать следующие значения: 0xcc000, 0xc8000, 0xdc000, 0xd8000.
Hастройка UltraStor 14F/34F
Список проверяемых по умолчанию портов ввода/вывода может быть
изменен с помощью
wd33c93=S,
где S - строка опций, разделенных запятыми. Распознаются следующие
опции: nosync:bitmask, nodma:x, period:ns, disconnect:x, debug:x,
clock:x, next. Подробности приведены в
/usr/src/linux/drivers/scsi/wd33c93.c.
ЖЕСТКИЕ ДИСКИ
Параметры драйверов дисков/CD-ROM IDE
Драйвер IDE понимает довольно большое число параметров: от указания
геометрии диска до поддержки неисправных микросхем контроллера.
Опции, относящиеся к конкретному диску, указываются с помощью
"hdX=", где X приниает значения от "a" до "h".
Общие опции указываются с префиксом "hd=". Hеобходимо заметить, что
общие опции будут работать и в том случае, если они указаны для
конкретного диска, и при этом опция будет применена именно так,
как ожидалось.
Также обратите внимание на то, что "hd=" может быть использована
для ссылки на следующий неуказаный диск в последовательности
(a, ..., h). В дальнейшем для краткости опции будут описаны в виде
"hd=". Более подробная информация приведена в файле
README.ide in linux/drivers/block.
Опции `hd=cyls,heads,sects[,wpcom[,irq]]'
Эти опции используются для указания физической геометрии диска.
Обязательными являются только первые три значения. Значения
цилиндров(cyls)/головок(heads)/секторов(sects) в дальнейшем
используются fdisk. Значение предварительной компенсации записи (wpcom) для
дисков IDE игнорируется. Значение IRQ, указанное в качестве irq,
используется для интерфейса, на котором находится диск, и, на
самом деле, не является особенностью диска.
Опция `hd=serialize'
В микросхеме двойного IDE интерфейса CMD-640 содержится ошибка,
приводящая к тому, что при одновременной работе дисков первичного
и вторичного интерфейсов происходит повреждение данных. Использование
этой опции указывает, что драйверу никогда не следует использовать оба интерфейса
одновременно.
Опция `hd=dtc2278'
Эта опция сообщает драйверу, что установлен интерфейс IDE
DTC-2278D. После этого драйвер будет пытаться использовать
специфичные для DTC операции для включения второго интерфейса
и более высоких скоростей передачи.
Опция `hd=noprobe'
Hе определять этот диск. Hапример,
hdb=noprobe hdb=1166,7,17
отключит проверку, но одновременно укажет геометрию диска, так что
он будет зарегистрирован как нормальное блочное устройство, и с
ним можно будет работать.
Опция `hd=nowerr'
Бит WRERR_STAT на некоторых дисках является постоянно установленным. Эта опция
позволяет работать с соответствующими устройствами.
Опция `hd=cdrom'
сообщает драйверу IDE, что вместо обычного жесткого диска IDE
подключен CR-ROM, совместимый с ATAPI. В большинстве случаев CD-ROM
определяется автоматически, однако, если этого не происходит, можно
воспользоваться данной опцией.
Опции стандартного драйвера дисков ST-506 (`hd=')
Стандартный драйвер дисков, также, как драйвер IDE, понимает аргументы,
описывающие геометрию дисков. Однако он ожидает указания только трех
значений (C/H/S), а если их будет больше или меньше, то незаметно
проигнорирует их. Кроме того, аргумент должен быть указан в виде
"hd=", то есть "hda=" и т.п. в данном случае являются неправильными.
Формат следующий:
hd=cyls,heads,sects
Если установлено два диска, то вышеуказанная строка с
геометрией второго диска повторяется.
Опции драйвера дисков XT (`xd=')
Если Вы, к несчастью, используете одну из старых 8-битных карт,
передающих данные с колоссальной скоростью 125Кб/c, то читайте дальше.
Если карта не определяется, то придется указать параметр загрузки в виде
xd=type,irq,iobase,dma_chan .
Значение type говорит о создателе карты, перезаписывая автоопределяемые
значения. Возможные типы указаны в исходном файле
drivers/block/xd.c
используемого вами ядра. Опция type - это индекс в списке
xd_sigs,
с течением времени типы добавляются или убираются из середины списка,
что приводит к изменению всех номеров типов. В данный момент
(Linux 2.5.0) имеются следующие типы:
0=общий; 1=DTC 5150cx; 2,3=DTC 5150x; 4,5=Western Digital;
6,7,8=Seagate; 9=Omti; 10=XEBEC. В случае, когда несколько типов
ссылаются на одно и то же, они эквивалентны.
Функция настройки не проверяет указываемые значения и предполагает,
что Вы ввели все 4 значения. Не надо делать обратного. Пример для
контроллера WD1002 с отключенным/не установленным BIOS и параметрами
контроллера XT "по умолчанию":
xd=2,5,0x320,3
Сменные диски Syquest's EZ*
ez=iobase[,irq[,rep[,nybble]]]
УСТРОЙСТВА ДЛЯ ШИНЫ IBM MCA
См. также файл
/usr/src/linux/Documentation/mca.txt.
Жесткие диски PS/2 ESDI
Есть возможность указать требуемую геометрию при загрузке:
ed=cyls,heads,sectors.
Для ThinkPad-720 добавьте опцию
tp720=1.
Hастройка подсистемы SCSI микроканала IBM
ibmmcascsi=N,
где N является pun (SCSI ID) подсистемы.
ПРИВОДЫ CD-ROM (НЕ-SCSI/ATAPI/IDE)
Интерфейс Aztech
Синтаксис для этих типов карт следующий:
aztcd=iobase[,magic_number]
Если значение magic_number равно 0x79, то драйвер будет пытаться
работать в любом случае, даже при неизвестной версии производителя.
Все остальные значения игнорируются.
Приводы CD-ROM для параллельного порта
Синтаксис:
pcd.driveN=prt,pro,uni,mod,slv,dly
pcd.nice=nice
где `port' является базовым адресом, `pro' - номером протокола, `uni'
является номером выбранного усройства (для последовательно связанных устройств),
`mod' является режимом (установите его в -1 для автоопределения самого оптимального режима),
флаг `slv' должен быть равен 1, если устройство должно быть подчиненным,
`dly' есть малое целое число, определяющее замедление доступа к нижним портам.
Параметр `nice' управляет использованием драйвера при холостой работе процессора
за счет некоторой скорости в работе.
Интерфейсы Sony CDU-31A и CDU-33A
Этот интерфейс CD-ROM можно найти на некоторых старых звуковых картах
Pro Audio Spectrum и на других звуковых картах, поставляемых
Sony. Синтаксис следующий:
cdu31a=iobase,[irq[,is_pas_card]]
Значение IRQ, равное нулю, сообщает драйверу о том, что аппаратные
прерывания не поддерживаются (на некоторых картах PAS). Если ваша
карта поддерживает прерывания, то Вы должны использовать их, так как
это снижает загрузку процессора драйвером.
Если Вы используете карту Pro Audio Spectrum, то значение
is_pas_card
должно быть равно "PAS", в противном случае оно может быть вообще не указано.
Интерфейс Sony CDU-535
Синтаксис этого интерфейса CD-ROM:
sonycd535=iobase[,irq]
Если Вам необходимо указать значение IRQ, то в качестве "заполнителя"
значения базы ввода/вывода может быть использован ноль.
Интерфейс GoldStar
Синтаксис этого интерфейса CD-ROM:
gscd=iobase
Интерфейс CD-ROM ISP16
Синтаксис:
isp16=[iobase[,irq[,dma[,type]]]]
(три целых числа и строка). Если в качестве типа будет указано
"noisp16", то интерфейс не будет настроен. Остальные
распознаваемые типы: "Sanyo", "Sony", "Panasonic" и "Mitsumi".
Интерфейс стандарта Mitsumi
Синтаксис для этого интерфейса CD-ROM:
mcd=iobase,[irq[,wait_value]]
Значение
wait_value
используется в качестве внутреннего времени ожидания теми, у кого
возникают проблемы с этим диском, и может быть отключено при компиляции
с помощью #define.
Mitsumi FX400 является проигрывателем CD-ROM IDE/ATAPI и не использует
драйвер mcd.
Интерфейс Mitsumi XA/MultiSession
Для того же оборудования, что и описанное выше, но в данном случае драйвер имеет
дополнительные возможности.
Синтаксис:
mcdx=iobase[,irq]
Интерфейс Optics Storage
Синтаксис этого типа карт:
optcd=iobase
Интерфейс Phillips CM206
Синтаксис этого типа карт:
cm206=[iobase][,irq]
Драйвер ожидает в качестве значений IRQ числа от 3 до 11, а в качестве
значений портов ввода/вывода числа от 0x300 да 0x370, так что Вы можете
указать или то, или другое, или оба значения (в произвольном порядке).
Кроме того, можно указать "cm206=auto" для автоопределения.
Интерфейс Sanyo
Синтаксис этого типа карт:
sjcd=iobase[,irq[,dma_channel]]
Интерфейс SoundBlaster Pro
Синтаксис этого типа карт:
sbpcd=iobase,type ,
где тип - одна из следующих строк (регистр имеет значение):
"SoundBlaster", "LaserMate" или "SPEA". База ввода/вывода относится
к интерфейсу CD-ROM, а не к звуковой части карты.
УСТРОЙСТВА ETHERNET
Различные драйверы используют разные параметры, но все они, как минимум,
распознают IRQ, базу ввода/вывода и имя. В общей форме выглядит это
примерно так:
Первый нечисловой аргумент воспринимается как имя. Значения параметра _n
(если имеются) обычно несут различный смысл разным картам/драйверам.
Обычно значения параметр_n используются для указания адреса разделяемой
памяти, выбора интерфейса, канала DMA и т.п.
Как правило, этот параметр используется для принудительного определения
второй сетевой карты, так как по умолчанию определяется только одна.
Этого можно достигнуть заданием простой строки:
ether=0,0,eth1
Обратите внимание, что ноль в качестве значения IRQ и базы ввода/вывода
приказывает драйверам определять значения автоматически.
Исчерпывающей документацией по использованию нескольких карт и по
специфичным для карты/драйвера значениям параметр_n можно считать
Ethernet-HowTo. Желающие могут обратиться к соответствующему
их карте разделу этого документа.
ДРАЙВЕР ФЛОППИ-ДИСКОВОДА
Существует множество опций драйвера флоппи-дисков. Все они перечислены
в README.fd linux/drivers/block. Hижепреведенная информация взята
непосредственно их этого файла.
floppy=mask,allowed_drive_mask
устанавливает битовую маску mask допустимых дисков. По умолчанию для
каждого контроллера флоппи-дисков разрешены только диски 0 и 1. Это
сделано по причине того, что некоторое нестандартное аппаратное обеспечение
(материнские платы ASUS PCI) неправильно работает с клавиатурой при
доступе к дискам 2 и 3. Отчасти эта опция устарела благодаря опции
cmos.
floppy=all_drives
Присваивает битовую маску допустимых дисков всем дискам. Используйте
этот параметр, если к контроллеру подсоединено более двух дисководов.
floppy=asus_pci
Устанавливает битовую маску так, что разрешенными являются только диски 0 и 1
по умолчанию.
floppy=daring
Сообщает драйверу, что контроллер работает правильно. Позволяет
работать более эффективно, но может не выполняться в некоторых
контроллерах. Может повысить скорость некоторых операций.
floppy=0,daring
Сообщает драйверу, что работать с контроллером флоппи нужно осторожно.
floppy=one_fdc
Сообщает драйверу, что в наличии есть только один контроллер флоппи (по
умолчанию).
floppy=two_fdc or floppy=address,two_fdc
Сообщает драйверу о 2-х контроллерах флоппи. Подразумевается,
что второй контроллер находится по адресу address. Если address не
указан, то подразумевается 0x370.
floppy=thinkpad
Сообщает драйверу флоппи, что в системе есть Thinkpad. Thinkpad
используют инвертированое соглашение для смены дисков.
floppy=0,thinkpad
Сообщает драйверу флоппи, что в системе нет Thinkpad.
floppy=drive,type,cmos
Устанавливает тип дисковода равным cmos. Кроме того, этот дисковод
разрешается в битовой маске. Это является эффективным, если Вы имеете
более двух дисководов (только два могут быть описаны в cmos) или если
Ваш BIOS использует нестандартные типы CMOS. Если cmos первых двух дисков
равно нулю (по умолчанию), то драйвер будет считывать
информацию об этих дисководах из CMOS.
floppy=unexpected_interrupts
Выводить предупреждающее сообщение о неожиданном прерывании (по умолчанию).
floppy=no_unexpected_interrupts or floppy=L40SX
Hе выводить предупреждающее сообщение о неожиданном
прерывании. Это требутся в некоторых видеорежимах переносных компьютеров IBM
L40SX. (Скорее всего, в них имеется связь между видео- и флоппи.
Hеожиданные прерывания влияют только на производительность
и могут быть попросту проигнорированы).
ДРАЙВЕР ЗВУКА
Драйвер звука также воспринимает параметры загрузки для
повторного определения встроенных при компиляции значений по умолчанию.
Hе рекомендуется заново определять значение параметров, так как это довольно
сложно. Описание находится в файле Readme.Linux каталога
linux/drivers/sound. Параметр загрузки имеет следующий вид:
где каждое значение устройства N имеет вид 0xTaaaId, байты которого
используются следующим образом:
T - тип устройства: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16,
7=SB16-MPU401
aaa - адрес ввода/вывода в шестнадцатеричном виде.
I - линия прерывания в шестнадцатеричном виде (т.е 10=a, 11=b, ...)
d - канал DMA.
Как видите, результат довольно непонятен, поэтому лучше
установить Ваши собственные значения при компиляции. Параметр загрузки
"sound=0" полностью отключит драйвер звука.
ДРАЙВЕРА ISDN
Драйвер ICN ISDN
Синтаксис:
icn=iobase,membase,icn_id1,icn_id2 ,
где icn_id1,icn_id2 - две строки, идентифицирующие карту в сообщениях ядра.
Драйвер PCBIT ISDN
Синтаксис:
pcbit=membase1,irq1[,membase2,irq2] ,
где membaseN - адрес начала разделяемой памяти N-ной карты, а irqN -
прерывание N-ной карты. По умолчанию используется IRQ 5 и база памяти
0xD0000.
Драйвер Teles ISDN
Синтаксис:
teles=iobase,irq,membase,protocol,teles_id ,
где iobase - адрес ввода/вывода карты, membase - адрес разделяемой
памяти карты, irq - канал прерываний, используемый картой, а teles_is -
уникальная строка-идентификатор ASCII.
ДРАЙВЕРА ПОСЛЕДОВАТЕЛЬНОГО ПОРТА
Драйвер RISCom/8 Multiport (`riscom8=')
Синтаксис:
riscom=iobase1[,iobase2[,iobase3[,iobase4]]]
Подробности можно найти в
/usr/src/linux/Documentation/riscom8.txt.
Драйвер DigiBoard (`digi=')
Если эта опция используется, она должна иметь шесть параметров.
Синтаксис:
digi=status,type,altpin,numports,iobase,membase
Параметры могут быть указаны как целые числа или как строки.
Если используются строки, то iobase и membase должны быть указаны
в шестнадцатеричном виде.
Целочисленные аргументы следуют в таком порядке:
status (Enable(1) или Disable(0) - запустить или отключить эту карту),
type (PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)),
altpin (Enable(1) или Disable(0) - запустить или отключить
упорядочивание дополнительных выводов),
numports (количество портов на этой карте),
iobase (порт ввода/вывода, на который настроена карта (в
шестнадцатеричном виде)),
membase (базовый адрес окна памяти (в шестнадцатеричном виде)).
Таким образом, следующие два параметра загрузки эквивалентны:
Подробности можно найти в
/usr/src/linux/Documentation/digiboard.txt.
Радиомодем Baycom Serial/Parallel
Синтаксис:
baycom=iobase,irq,modem
Указываются ровно 3 параметра; при наличии нескольких карт
команда "baycom=" указывается несколько раз. Параметр modem -
строка, значение которой может принимать ser12, ser12*, par96,
par96*. При этом * обозначает, что используется программный DCD,
а функции ser12/par96 выбирают поддерживаемый тип модема.
Подробности описаны в
/usr/src/linux/drivers/net/README.baycom.
Все параметры, кроме двух последних, являются целыми числами;
Постоянный 0 требуется из-за ошибки в коде настройки. Параметр
mode - строка вида hw:modem, где hw может быть sbc, wss или wssfdx
и modem - afsk1200 или fsk9600.
ДРАЙВЕР ПРИНТЕРА
`lp='
Синтаксис:
lp=0
lp=auto
lp=reset
lp=port[,port...]
Вы можете указать драйверу принтера, какой порт надо использовать,
а какие не использовать совсем. Это является эффективным средством,
когда Вы не хотите, чтобы драйвер принтера работал со всеми доступными
параллельными портами, оставляя другим драйверам (таким, как PLIP, PPA)
использование остальных портов.
Форматом аргумента является несколько перечисленных названий портов.
Например lp=none,parport0 определяет использование первого параллельного порта
для lp1 и отключает использование lp0.
Чтобы вообще отключить драйвер принтера, задайте равенство lp=0.
Драйвер WDT500/501
Синтаксис:
wdt=io,irq
ДРАЙВЕРА МЫШИ
`bmouse=irq'
Драйвер busmouse понимает только один параметр:
используемый аппартный IRQ.
`msmouse=irq'
То же самое относится и к драйверу msmouse
Hастройка ATARI mouse
atamouse=threshold[,y-threshold]
Если указан только один аргумент, то он используется для
чувствительности согласно x и чувствительности согласно y. В противном случае
первый аргумент устанавливает чувствительность согласно x, второй аргумент
- согласно y. Значения должны быть в диапазоне от 1 до 20 (включительно);
по умолчанию они равны 2-м.
ВИДЕО ОБОРУДОВАНИЕ
`no-scroll'
Эта опция указывает, что драйверу консоли не следует использовать аппаратное
прокручивание (scroll), осуществляемое путем перемещения области
экрана в видеопамяти, а не путем перемещения данных.
Опция требуется для некоторых машин Braille.
Большая часть этой страницы была взята из Руководства по Параметрам Загрузки
(Boot Parameter HOWTO) версии 1.0.1 , написанной Полом Готмэйкером
(Paul Gortmaker). В этом руководстве (или в его более поздних версиях)
можно найти более подробную информацию.
Самым новым источником информации по этим вопросам является
/usr/src/linux/Documentation/kernel-parameters.txt.