[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