- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Linux - Алексей Стахнов
Шрифт:
Интервал:
Закладка:
Во многих дистрибутивах и практически всегда при загрузке с дискеты в оперативной памяти создается псевдодиск (RAM-disk, виртуальный диск), который и выступает в роли корневой файловой системы. Для этого есть две причины. Во-первых, оперативная память на несколько порядков быстрее, чем дискета, и во-вторых – на виртуальный диск ядро может загрузить с дискеты и распаковать сжатую файловую систему, что позволяет поместить на дискете намного больше файлов.
После того как ядро Linux успешно смонтирует корневую файловую систему, оно запускает процесс init. Процесс init – это программа, которая, собственно, и осуществляет переход от начального состояния системы в стандартный многопользовательский режим (или тот, который установлен администратором по умолчанию). Помимо этого, процесс init выполняет множество различных операций, необходимых для корректной работы системы: проверку и монтирование файловых систем, запуск различных сервисов, запуск системы входа пользователя и т. п. А теперь подробнее разберемся с каждым шагом загрузки системы.
Программы-загрузчики
Используются для загрузки ядра операционной системы Linux, передачи параметров ядру и организации загрузки нескольких операционных систем, установленных на компьютере.
LILO – LInux LOader
Программа-загрузчик, на сегодняшний день является стандартом de-facto практически для любого дистрибутива Linux. LILO (LInux LOader – загрузчик Linux) без проблем может загружать DOS, OS/2, Linux, FreeBSD, Windows и множество других операционных систем.
Стандартно сконфигурированная программа LILO после запуска приостановит свое выполнение и выведет на экран графическое изображение с меню, пунктами которого являются варианты загрузки. Несколько секунд LILO ожидает ввода пользователем варианта загрузки (или специальных команд) и, в случае их отсутствия, запускает вариант загрузки, выбранный при конфигурировании по умолчанию. Обычные варианты загрузки в LILO носят название linux и dos (если в системе установлены одновременно операционная система Windows 9х и Linux).
Конфигурационный файл LILO – /etc/lilo.conf, формат его можно найти в соответствующей справочной документации.
GRUB
GRand Unified Bootloader (Главный унифицированный загрузчик) – универсальный загрузчик, разработан в Фонде свободного программного обеспечения. Имеет больше возможностей по сравнению с LILO, а также избавлен от некоторых ограничений. В последнее время стал очень популярен, и по распространенности скоро догонит LILO.
LoadLin
Еще одна программа запуска Linux, которая, правда, не используется при старте компьютера, а позволяет загрузить ядро Linux из командной строки DOS (с параметрами загрузки). Применение LoadLin оправдано в том случае, если мы не хотим устанавливать загрузчик типа LILO в MBR (Master Boot Record) винчестера. Этот загрузчик также необходим, если у нас имеется оборудование, использующее драйвер DOS для установки в определенное состояние.
Есть еще несколько других программ, которые можно использовать для загрузки Linux, однако они не получили широкого распространения.
Параметры ядра
Обзор параметров строки загрузки
Программы-загрузчики, описание которых приведено выше, способны также, помимо загрузки самого ядра, передавать ему необходимые параметры загрузки.
В параметрах загрузки недопустимо использовать пробелы, кроме как между отдельными аргументами. Список значений для одного аргумента должен разделяться запятыми между значениями. К примеру:
ether=9,0x300,0xd0000,0xd4000,eth0 root=/dev/hda1
Посмотреть параметры командной строки, заданные при загрузке, можно набрав /proc/cmdline.
Утилита rdev
Есть несколько параметров загрузки ядра Linux, хранящих свои значения по умолчанию в его образе. Эти параметры задаются при компиляции ядра, и для того, чтобы не перекомпилировать каждый раз ядро, используется утилита rdev.
Утилита rdev может изменять следующие параметры:
• rdev – устройство, с которого производится загрузка;
• swapdev – устройство, содержащее раздел подкачки (swap);
• ramsize – параметры RAM-диска;
• vidmode – видеорежим по умолчанию;
• rootflags – установка режима монтирования корневого устройства ("только для чтения" или "чтение/запись").
Более подробную информацию по rdev можно найти в соответствующей справочной документации.
Разбор параметров ядром Linux
Большая часть параметров загрузки имеет вид:Имя[=значение_1][,значение_2]…[,значение_11]
где имя – уникальное ключевое слово, идентифицирующее часть ядра, которому передаются связанные значения, но не более одиннадцати параметров. Большая часть разбора параметров загрузки происходит в linux/init/main.c. Сначала ядро проверяет, не являются ли параметры одним из специальных параметров root=, ro, rw или debug. Затем ядро просматривает список функций установки (находящийся в массиве bootsetups) в поиске совпадения заданной строки параметра с функцией установки конкретного устройства или части ядра. Если мы передаем ядру строку foo=3,4,5,6, bar, то ядро будет искать, присутствует ли foo в массиве bootsetups. Если присутствует, то ядро вызовет функцию установки, связанную с foo (foo setup ()) и передаст ей целочисленные значения 3, 4, 5 и 6, указанные в командной строке ядра, и также строковый параметр bar.
Если строка не подходит ни для одной функции установки, то этот случай считается установкой переменной окружения. Примером может служить указание переменных окружения term=vtioo или boot_image=vmiinuz.bak в качестве параметров загрузки. Как правило, переменные окружения проверяются скриптами инициализации для разрешения или запрещения большого диапазона параметров.
Любые оставшиеся параметры, не выбранные ядром и не интерпретированные в качестве переменных окружения, будут переданы в дальнейшую обработку, которую обычно выполняет программа init. Чаще всего процессу init в качестве параметра передается слово single, которое сообщает init о необходимости загрузить компьютер в однопользовательском режиме. Список параметров программы init можно найти в соответствующей справочной документации.
Общие неаппаратные параметры загрузки
В этом разделе рассматриваются параметры загрузки, не связанные с каким-либо оборудованием или периферией, а с параметрами ядра, такими как управление памятью, RAM-диском, корневой системой и т. п.
Опции корневой файловой системы
Параметр rootЭтот параметр сообщает ядру, какое устройство будет использовано в качестве корневой файловой системы во время загрузки. По умолчанию эта установка имеет значение корневого устройства системы, на котором было скомпилировано ядро. Например, на одном компьютере корневая файловая система находится на /dev/hda2, а на другом – на /dev/hda6. Если скомпилировать ядро на втором компьютере, перенести его на первый и не указать в параметре root=/dev/hda2, то ядро будет думать, что оно загружается с /dev/hda6. А такого устройства на этом компьютере нет! Допустимыми корневыми устройствами могут быть следующие:
• /dev/hdaN, /dev/hdbN, /dev/hdcN, /dev/hddN, которые являются разделами N на IDE-диске;
• /dev/sdaN, /dev/sdbN, /dev/sdcN, /dev/sddN, /dev/sdeN, которые являются разделами N на SCSI-диске;
• /dev/fd0, /dev/fdl – привод флоппи-диска с номером N;
• /dev/nfs, не являющееся флагом, заставляющим ядро получить корневую файловую систему по сети.
Это один из немногих параметров загрузки ядра, которые хранятся в его образе и могут быть изменены утилитой rdev.
Параметры ro и rwПараметр го сообщает ядру о необходимости монтирования корневой файловой системы в режиме «только для чтения». Парный ему параметр rw указывает ядру монтировать корневую файловую систему в режиме «чтение/ запись». Сразу после загрузки ядра и запуска процесса init система должна осуществить проверку подмонтированных файловых систем на отсутствие ошибок. Однако, если корневая файловая система смонтирована в режиме «чтение/запись» надежно проверить целостность файловой системы невозможно. Существует два способа решения проблемы:
• Смонтировать изначально корневую файловую систему в режиме "только для чтения".
• Смонтировать изначально корневую файловую систему в режиме "чтение/запись", а перед проверкой перемонтировать ее в режим "только для чтения".
Это одни из немногих параметров загрузки ядра, которые хранят значение в образе ядра и могут быть изменены утилитой rdev.
Опции управления RAM-диском
Все следующие опции сообщают ядру, как управлять устройством RAM-диска, обычно используемым для загрузки машины.
Параметр ramdisk_startЧтобы разрешить образу ядра находиться на флоппи-диске со сжатым образом RAM-диска, необходимо добавить команду ramdisk_start=<cMei4eHMe>.
Параметр load_ramdiskЭтот параметр сообщает ядру, нужно загружать образ RAM-диска или нет. При ioad_ramdisk=l ядро будет загружать RAM-диск. По умолчанию значение параметра равно нулю, т. е. ядро не должно в этом случае загружать RAM-диск.
Параметр prompt_ramdiskЭтот параметр сообщает ядру о необходимости вывести пользователю приглашение вставить флоппи-диск с образом RAM-диска. В однодисковой конфигурации образ RAM-диска находится на той же дискете, с которой только что закончилась загрузка ядра, поэтому приглашение не нужно. В этом случае нужно использовать команду prompt_ramdisk=0. В двухдисковой конфигурации может потребоваться заменить диски, поэтому нужно указать команду prompt_ramdisk=1. По умолчанию значение равно единице.

