Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Исследуем процесс загрузки Linux

(C) В.А.Костромин, 2007
(последние изменения в файл внесены 29.09.2007 г.)


Назад Оглавление Вперед

Этап 4: Ядро

4.3. Параметры начальной загрузки, обрабатываемые ядром

Как уже неоднократно было сказано, ядро на этапе загрузки может воспринимать некоторые параметры (или опции), которые влияют на ход загрузки и тот результат, который будет получен в результате. Параметры начальной загрузки могут быть заданы либо в конфигурационном файле загрузчика (для загрузчика GRUB это /boot/grub/grub.lst , для LILO, соответственно, /etc/lilo.conf), либо в строке ввода, предоставляемой загрузчиком, либо же могут быть установлены в процессе компиляции ядра в виде параметров загрузки, используемых по умолчанию.

Полный список параметров вы можете найти в следующих местах:

  • - в документации к вашему ядру, а именно, в файле /usr/share/doc/kernel-версия/Documentation/kernel-parameters.txt (пример этого файла вы можете просмотреть прямо сейчас),
  • - на страничке интерактивного руководства man bootparam,
  • - или в BootPrompt-HOWTO [35].

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

    Как вы можете заметить, общее число возможных параметров очень велико, рассмотреть здесь их все не представляется возможным, поэтому я расскажу только о некоторых из них, выбранных в большой степени случайно.
    debug
    Вывод всех сообщений ядра на консоль.
    hd=cylinders,heads,sectors
    Сообщаем ядру геометрию жесткого диска. Этот параметр полезен для тех случаев, когда ядро не может самостоятельно распознать геометрию жесткого диска, в частности для дисков с числом цилиндров более 1024.
    load_ramdisk=n
    Этот параметр сообщает ядру, надо ли загружать образ виртуального диска на этапе инсталляции Linux. Значение n может равнять 0 или 1:
    0 - не загружать образ (значение по умолчанию).
    1 - загрузить образ на RAM-диск.
    mem=size
    Задает объем оперативной памяти, которое будет использоваться ядром. Этот параметр полезен в том случае, когда ядро не может правильно определить объем установленной памяти или когда надо использовать только часть этой памяти (например, для целей тестирования). Размер (size) указывается в виде числа, сопровождаемого буквой размерности K, M, либо G:
    mem=128M
    Параметр "mem=" следует использовать в паре с параметром "memmap=", для того, чтобы избежать коллизий в физическом адресном пространстве. Без параметра "memmap=" PCI-устройства могут быть помещены в неиспользуемые области оперативной памяти.
    ro
    Монтировать корневую файловую систему в режиме "только для чтения". Этот параметр используется, например, в тех случаях, когда необходимо провести проверку целостности файловой системы.
    rw
    Монтировать корневую файловую систему в режиме полного доступа (чтение+запись). Если не указан ни один из параметров ro или rw, используется значение по-умолчанию, (обычно это rw), записанное в теле ядра.
    single
    Если вы зададите этот параметр в конфигурационном файле загрузчика или введете в командной строке в виде:
    boot: linux single
    
    то Linux запустится в однопользовательском режиме. Эта опция используется для выполнения администраторских задач или для восстановления системы после каких-то нештатных ситуаций. После загрузки системы вы получите доступ к командной строке системы в минимальной конфигурации, обычно с правами суперпользователя. No other logins are allowed.
    number
    Запустить Linux с уровнем выполнения number. Уровень выполнения - это, обычно, число в диапазоне от 1 до 6. Более подробно об уровнях выполнения мы поговорим в следующем разделе, когда будем рассматривать процесс init и файл /etc/inittab.
    init=
    Этот параметр мы уже рассмотрели в предыдущем подразделе. Как было там показано, он обеспечивает замечательную особенность Linux - возможность запуска "альтернативной программы инициализации". Эта особенность может применяться для перекрытия /sbin/init или для отладки скриптов инициализации (rc) и /etc/inittab вручную, запуская их по одному за раз.

    4.4. Утилита rdev

    Как уже говорилось, большинство настроек ядра выполняется при его построении и используемые по умолчанию значения этих параметров записаны непосредственно в теле ядра. Некоторые из этих параметров допускают изменение прямо в процессе работы системы. Сделать это можно с помощью утилиты rdev. С ее помощью вы можете изменить видеомоду по умолчанию, корневую файловую систему, раздел для свопа и размер RAM-диска.

    Надо заметить, что изменение (или задание) параметров начальной загрузки, передаваемых ядру, может оказать существенное влияние на производительность вашей Linux-системы, причем как положительное, так и отрицательное. Поэтому следует хорошенько подумать, прежде чем менять значения, используемые по умолчанию. Еще лучше - провести несколько экспериментов, замерив вначале исходную производительность системы, а затем повторяя замеры после каждого изменения значений параметров. При этом следует учитывать и возможное влияние других факторов (таких как организация файловой системы, эффективность задания переменной $PATH и так далее).


    Назад Оглавление Вперед