ata2: SATA max UDMA/100 cmd 0xF88020C0 ctl 0xF88020CA bmdma 0xF8802008 irq 16 ata2: dev 0 cfg 49:2f00 82:346b 83:7f01 84:4003 85:3c68 86:3c01 87:4003 88:20ff ata2: dev 0 ATA, max UDMA7, 312581808 sectors: lba48 ata2: dev 0 configured for UDMA/100 scsi1 : sata_sil Vendor: ATA Model: SAMSUNG SP1614C Rev: SW10 Type: Direct-Access ANSI SCSI revision: 05 md: raid1 personality registered as nr 3 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. При загрузке initrd не определяются raid-массивы на разделах устройства /dev/sda. Тип fd для раздела стоит. Для устройств /dev/hd? всё работает.
Извините, похоже просто в initrd автоматом не запихивался sd_mod. А это правильно, что я должен вручную генерировать initd, указывая --preload sata_sil и --with sd_mod для mkinitrd? Или mkinitrd должен смотреть что загружены эти модули и подключать их сам?
В настоящее время mkinitrd берёт набор модулей, помещаемых в initrd, из строки "probeall scsi_hostadapter ..." в /etc/modules.conf. Анализ списка загруженных модулей, а также списка PCI-устройств и т.п. не производится.
Есть смысл добавлять какую-либо поддержку для модулей serial-ata, или она планируется быть каким-либо другим механизмом? Главное чтобы инсталлятор потом у нас без проблем брал такие барьеры.
Недавно поймал ещё багу, что в initrd не помещается модуль sata_nv (для SATA на nForce - не Силиконовский), нужный для ядра 2.6, соответственно загрузить систему проблематично.
Некоторый прогресс есть - в mkinitrd-2.9.2-alt1 реализовано автоматическое определение модулей для контроллеров IDE. В области SATA и SCSI пока изменений нет. Относительно sata_nv - а его вписали в probeall scsi_hostadapter?
Я бы не пожелал никому его вписывать, потому сам, например, сначала почти час пытался понять, что же ему не хватает, с трудом обнаружил что надобен sata_nv.
(In reply to comment #6) > Я бы не пожелал никому его вписывать, потому сам, > например, сначала почти час пытался понять, что же ему не хватает, > с трудом обнаружил что надобен sata_nv. Что-то я это понять не смог. :)
(In reply to comment #7) > Что-то я это понять не смог. :) Читаешь баги после обеда? :) Это давно забытая история как я с ядра 2.4 на ядро 2.6 переезжал. Там поменялось название модуля для sata, и / никак не хотел монтироваться...
Вернёмся к началу обсуждения. При обновлении ядра на системе, где имеется софтовый raid (raid1 например) соответствующие модули (raid1) не вписываются в initrd.
Created attachment 1141 [details] support booting from root partition located on md-device Еще один патч с поддержкой RAID-устройств через mdadm. Не тестировался. В отличие от патча к баге #4997, LVM не поддерживается (пока). Написан по мотивам mkinitrd из MDK 10.1. Предназначен только для тех случаев, когда RAID-ом является корневой раздел - драйверы и команды для запуска остальных RAID-разделов читаются/запускаются со смонтированного корня. Подробности: http://lists.altlinux.ru/pipermail/devel/2005-September/thread.html (поиск по "RAID support in mkinitrd").
Может, процедуру переезда достаточно задокументировать? Мы тут думали-думали, да и оставили скриптик-перегенератор в случае, когда из-под 2.4 (старый SystemImager) initrd для IDE+DMA или SATA собирается неправильный.
Ну так что? mdadm не поддерживается до сих пор, что не есть хорошо...
И ещё: http://lists.altlinux.org/pipermail/devel/2006-December/039670.html
Это не дуп ли #4997? Там патчи висели.
Работающий костыль: --with-raid --with raid1 (это можно положить в /etc/sysconfig/installkernel в переменную MKINITRD_OPTIONS). Правда, это опять-таки не mdadm, а raidautorun.
Bug #4997 я посчитал исправленным в mkinitrd-3.0.1-alt1 (теперь поддержка RAID в генерируемом образе включается при установленном mdadm и наличии в момент запуска mkinitrd любых активных RAID-массивов). Большую часть проблем, описанных здесь, это исправление тоже решает, за исключением того, что для запуска RAID в initramfs по-прежнему используется код autorun из ядра, требующий установки типа разделов 0xfd и использования суперблоков RAID версии 0.90 (с суперблоками 1.x может работать только mdadm и его урезанный вариант mdassemble). Эту часть я переквалифицировал как enhancement.
At this time, I'm reluctant to add any enhancements to this monolithic mkinitrd. Please have a look at another implementations that have modular architecture, e.g. make-initrd by Alexey Gladkov and Kirill Shutemov.
Как я понимаю, ныне давно исправлено?