(загрузчик Linux). В других дистрибутивах Linux вместо GRUB может использоваться другой загрузчик, например, LILO или ASPLoader. Но в Fedora используется GRUB, поэтому здесь мы будем рассматривать только этот загрузчик.
Как уже было отмечено в этой книге, заставить NTLoader загружать Linux можно, но это не стоит потраченного времени и сил, поэтому проще установить сначала Windows, а затем - Linux. В этом случае при загрузив компьютера GRUB отобразит меню, состоящее из нескольких вариантов загрузки Linux (обычная загрузка и безопасный режим) и одного варианта загрузки Windows. При выборе пункта меню Windows управление будет передано загрузчику NTLoader, который, к свою очередь, если установлено несколько версий Windows, отобразит меню, позволяющее выбрать ту или иную версию Windows (например, ХР или Vista).
7.2.2. Загрузка Linux
7.2.2.1. Корневая файловая система и система инициализации
Итак, вы выбрали загрузку Linux. Загрузчик GRUB загрузит ядро, а затем передаст ему параметры и управление. Подробно
весь процесс загрузки ядра рассматриваться здесь не будет. Вам достаточно знать следующее: ядру при загрузке нужно сделать две важные веши - 'подмонтировать' корневую файловую систему и запустить систему инициализации.
Название раздела, содержащего корневую файловую систему, передается ядру в виде параметра root, например:
root=/dev/hda5
Если ядро не может 'подмонтировать' корневую файловую систему, то оно переходит
kernel panic: VFS: unable to mount root fs
Система инициализации указывается с помощью параметра init. Если параметр init не указан, то используется система инициализации /sbin/init. Вообще init - это далеко не единственная система инициализации. Например, в Ubuntu используется система инициализации upstart, а в некоторых других дистрибутивах используется система init-ng (init Nest Generation).
7.2.2.2. Вывод сообщений ядра: программа dmesg
При загрузке ядра на экран выводятся некоторые сообщения. На современных компьютерах они выводится и сменяются настолько быстро, что вы, как правило, не успеете их прочитать. Если вам интересно, какие именно сообщения выводятся при загрузке ядра, откройте терминал и введите команду:
dmesg | less
В листинге 7.1 приведены не все сообщения ядра: полный вывод сообщений ядра занимает много места и я не вижу смысла приводить его полностью. Мои комментарии выделены полужирным шрифтом: так вам будет проще ориентироваться в выводе ядра.
Листинг 7.1. Вывод сообщений ядра Linux при загрузке (Fedora 7)
# Версия ядра и версия gcc, с помощью которого собиралось ядро
Linux version 2.6.21-1.3194.fc7 (kojbuilder@xenbuilder4.fedora.phx.ewdhat.com) (gcc version 4.1.2. 20070502 (Red Hat 4.1.2-12)) #1 SMP Wed May 23 22:35:01 EDT 2007
BIOS-provided physical RAM map:
sanitize stare
sanitize end
copy_e820_map()
copy_e820_map() type is E820_RAM
copy_e820_map() start: 000000000009f800 size: 000000000009f800 end: 0000000000009f800 type: 1 copy_e820_maр() start: 0000000000000000 size: 000000000009fc00 end: 000000000009fc00 type: 1
…
BIOS-е820; 0000000000000000 - 00000000009fcOO (usable)
BIOS-e820: 00000000ffff0000 - 0000000l00000000 (reserved)
OMB HIGHMEM available.
# Всего установлено 768 Мбайт оперативной памяти (512 + 256)
767 MB lowmem available.
Entering add_active_range(0, 0, 196592) 0 entriеs of 256 used
Zone PFN ranges:
DMA 0 -› 4096
Normal 4096 -› 196592
HighMem 196592 -› 196592 early_node_map[1] active PFN ranges
0: 0 -› 196592
On node 0 totalpages: 196592
DMA zone: 32 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 4064 pages, LIFO batch: 0
Normal zone; 1503 pages used for memmap
Normal zone: 190993 pages, LIFO batch: 31
HighMem zone: 0 pages used for memmap
DMI 2.2 present.
# Параметры ACPI (Advanced Configuration and Рower Interface):
ACPI: RSDP (v000 VIA694) @ 0x000f6a20
ACPI: RSDT (v001 VIA694 АWRDАСРI 0x42302e31 AWRD 0x00000000) @ 0x2fff3000
AСРI: FADT (v001 VIA694 AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x2fff3040
ACPI: DSDT (v001 VIA694 AWRDACPI 0x00001000 MSFT 0x0100000e) @ 0x00000000
ACPI: PM-Timer IO Port: 0x4008
Allocating PCI resources starting at 40000000 gap: 30000000:cfff0000)
# Частота процессора:
Detected 1595.598 MHz processor.
Built 1 zonelists. Total pages: 195057
# Параметры, переданные ядру
Kernel сommand line: root=/dev/hda6 ro locale=ru_RU
# Локальный контроллер прерываний APIC (Advanced Programmable Interrupt Controller) отключен:
Local APIC disabled by BIOS - you can enable it with 'lapic'
mapped APIC to ffffd000 (0160c000)
Enabling fast FPU save and restore… done.
Enabling unmasked SIMD FPU exception support… done.
Initializing CPU#0