[devel] I: mkinitrd update
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Вт Фев 8 20:59:21 MSK 2005
Hello!
Итак, в Сизиф отправляется mkinitrd-2.9.2-alt1.
Самое большое изменение в этой версии - поддержка вынесенных в модули
драйверов IDE. (Пересобранное таким образом ядро 2.6.10 пойдёт в Сизиф,
видимо, завтра.) Список модулей для включения в initrd определяется
следующим образом:
- Если указана опция --omit-ide-modules, модули IDE не включаются в initrd
совсем.
- Если не обнаружены каталоги /proc/ide/ide*, модули IDE также не
включаются в initrd.
- Если в /etc/modules.conf указан alias или probeall с именем
ide_hostadapter, в initrd помещаются перечисленные там драйверы, а также
модуль ide-disk; в этом случае автоматическое определение конфигурации
не выполняется.
- В случае, если загружены какие-либо драйверы IDE (и, следовательно, в
/proc/ide/ide* что-то есть), определяются PCI ID контроллеров,
обслуживаемых этими драйверами. Для ядер 2.4.x это производится по
данным /proc/ide/ide*/config, для 2.6.x аналогичная информация ищется в
sysfs (/sys/bus/ide/devices/*/../../{vendor,...}). Для обнаруженных PCI
ID в /lib/modules/$KERNEL/modules.pcimap ищутся соответствующие модули,
причём список фильтруется, чтобы исключить попадание туда драйверов, не
использующих подсистему IDE (в частности, драйверов SATA, использующих
эмуляцию SCSI).
- Особый случай - обнаружение контроллера, обслуживаемого драйвером
ide-generic или другим не PCI-драйвером. Помимо случая древнего ISA или
ISA-PnP контроллера, такая ситуация может возникать при использовании
нового оборудования, не поддерживаемого текущим ядром, либо при смене
аппаратуры. В этом случае осуществляется поиск драйвером для всех
PCI-устройств, имеющих класс "IDE Controller" - возможно, в
устанавливаемом ядре найдётся драйвер для нужного чипсета, тогда он
будет найден и помещён в initrd.
- При автоматическом обнаружении устройств после найденных драйверов
всегда загружается ide-generic - это позволяет хотя бы как-то загрузить
систему на неизвестной аппаратуре, если там поддерживается Legacy IDE.
Внимание: в сложных конфигурациях (при наличии 3 или более контроллеров
IDE разных типов) возможно изменение порядка обнаружения IDE-устройств, не
устраняемое переупорядочиванием модулей (например, если устройства 1, 2, 3
в порядке опроса PCI обслуживаются драйверами A, B, A, то в зависимости от
порядка загрузки модулей можно получить порядок устройств либо 1, 3, 2,
либо 2, 1, 3, но не 1, 2, 3, получавшийся при встраивании драйверов IDE в
ядро). Также возможна смена порядка контроллеров в случае, если какие-то
устройства обслуживались драйвером ide-generic.
Другие изменения в этой версии:
- Добавлена опция "--with-raid", добавляющая raidautorun в initrd вне
зависимости от содержимого /etc/fstab. Модули поддержки уровней RAID
определяются по /etc/raidtab, либо можно указывать нужные модули в
--with=... Также добавлена поддержка raid6.
- Устранена проблема с обработкой root=/dev/... на ядрах 2.6.x при
использовании GRUB. Как оказалось, встроенный в ядро алгоритм поиска
root в 2.6.x работает только для драйверов, вкомпилированных в ядро.
Пришлось переносить этот поиск в initrd (для чего в mkinitrd-busybox
вместо msh был затащен ash, в результате чего этот busybox стал почти на
20 Кб больше).
- Добавлена обработка /lib64 (#4888).
- В initrd создан каталог /sys (#5387).
--
Sergey Vlasov
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20050208/0f984339/attachment-0001.bin>
Подробная информация о списке рассылки Devel