Bug 5955

Summary: move to mdadm for RAID startup in initramfs
Product: Sisyphus Reporter: Vitaly Lipatov <lav>
Component: mkinitrdAssignee: 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 Flags
support booting from root partition located on md-device none

Description Vitaly Lipatov 2005-01-26 02:57:40 MSK
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? всё работает.
Comment 1 Vitaly Lipatov 2005-01-26 03:10:58 MSK
Извините, похоже просто в initrd автоматом не запихивался sd_mod. 
А это правильно, что я должен вручную генерировать initd, 
указывая --preload sata_sil и --with sd_mod для mkinitrd? 
Или mkinitrd должен смотреть что загружены эти модули и подключать их сам? 
Comment 2 Sergey Vlasov 2005-01-26 19:31:21 MSK
В настоящее время mkinitrd берёт набор модулей, помещаемых в initrd, из строки
"probeall scsi_hostadapter ..." в /etc/modules.conf. Анализ списка загруженных
модулей, а также списка PCI-устройств и т.п. не производится.
Comment 3 Vitaly Lipatov 2005-01-27 02:31:55 MSK
Есть смысл добавлять какую-либо поддержку для модулей serial-ata, 
или она планируется быть каким-либо другим механизмом? Главное чтобы 
инсталлятор потом у нас без проблем брал такие барьеры. 
Comment 4 Vitaly Lipatov 2005-02-03 18:57:14 MSK
Недавно поймал ещё багу, что в initrd не помещается модуль 
sata_nv (для SATA на nForce - не Силиконовский), нужный для ядра 2.6, 
соответственно загрузить систему проблематично. 
Comment 5 Sergey Vlasov 2005-02-10 11:33:36 MSK
Некоторый прогресс есть - в mkinitrd-2.9.2-alt1 реализовано автоматическое
определение модулей для контроллеров IDE. В области SATA и SCSI пока изменений нет.

Относительно sata_nv - а его вписали в probeall scsi_hostadapter?
Comment 6 Vitaly Lipatov 2005-02-11 02:28:34 MSK
Я бы не пожелал никому его вписывать, потому сам, 
например, сначала почти час пытался понять, что же ему не хватает, 
с трудом обнаружил что надобен sata_nv. 
 
Comment 7 Michael Shigorin 2005-04-12 14:52:16 MSD
(In reply to comment #6)
> Я бы не пожелал никому его вписывать, потому сам, 
> например, сначала почти час пытался понять, что же ему не хватает, 
> с трудом обнаружил что надобен sata_nv. 

Что-то я это понять не смог. :)
Comment 8 Vitaly Lipatov 2005-04-13 00:33:46 MSD
(In reply to comment #7) 
> Что-то я это понять не смог. :) 
Читаешь баги после обеда? :) 
Это давно забытая история как я с ядра 2.4 на ядро 2.6 переезжал. Там 
поменялось название модуля для sata, и / никак не хотел монтироваться... 
 
 
Comment 9 Vitaly Lipatov 2005-09-07 12:27:33 MSD
Вернёмся к началу обсуждения. При обновлении ядра на системе, где имеется  
софтовый raid (raid1 например) соответствующие модули (raid1) не вписываются в 
initrd. 
Comment 10 evseev 2005-09-27 01:24:24 MSD
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").
Comment 11 Michael Shigorin 2006-05-22 09:50:12 MSD
Может, процедуру переезда достаточно задокументировать?  Мы тут думали-думали,
да и оставили скриптик-перегенератор в случае, когда из-под 2.4 (старый
SystemImager) initrd для IDE+DMA или SATA собирается неправильный.
Comment 12 Sir Raorn 2006-08-22 10:58:09 MSD
Ну так что?  mdadm не поддерживается до сих пор, что не есть хорошо...
Comment 13 Michael Shigorin 2006-12-17 01:27:01 MSK
И ещё: http://lists.altlinux.org/pipermail/devel/2006-December/039670.html
Comment 14 Michael Shigorin 2006-12-17 19:31:21 MSK
Это не дуп ли #4997?  Там патчи висели.
Comment 15 Sergey Vlasov 2006-12-26 22:17:10 MSK
Работающий костыль: --with-raid --with raid1 (это можно положить в
/etc/sysconfig/installkernel в переменную MKINITRD_OPTIONS). Правда, это
опять-таки не mdadm, а raidautorun.
Comment 16 Sergey Vlasov 2007-02-21 23:50:18 MSK
Bug #4997 я посчитал исправленным в mkinitrd-3.0.1-alt1 (теперь поддержка RAID в
генерируемом образе включается при установленном mdadm и наличии в момент
запуска mkinitrd любых активных RAID-массивов).

Большую часть проблем, описанных здесь, это исправление тоже решает, за
исключением того, что для запуска RAID в initramfs по-прежнему  используется код
autorun из ядра, требующий установки типа разделов 0xfd и использования
суперблоков RAID версии 0.90 (с суперблоками 1.x может работать только mdadm и
его урезанный вариант mdassemble).  Эту часть я переквалифицировал как enhancement.
Comment 17 Dmitry V. Levin 2009-12-09 05:17:09 MSK
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.
Comment 18 Andrey Cherepanov 2011-01-22 18:03:09 MSK
Как я понимаю, ныне давно исправлено?