Summary: | move to mdadm for RAID startup in initramfs | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Vitaly Lipatov <lav> | ||||
Component: | mkinitrd | Assignee: | Nobody's working on this, feel free to take it <nobody> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | enhancement | ||||||
Priority: | P2 | CC: | cas, eostapets, evseev, gns, led, mike, rider, sr, vsu | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Bug Depends on: | 7386 | ||||||
Bug Blocks: | 9199 | ||||||
Attachments: |
|
Description
Vitaly Lipatov
2005-01-26 02:57:40 MSK
Извините, похоже просто в 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 не поддерживается до сих пор, что не есть хорошо... Это не дуп ли #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. Как я понимаю, ныне давно исправлено? |