[sisyphus] Boot from Soft-RAID

Sergei Dolmatov =?iso-8859-1?q?sergei_=CE=C1_dolmatov=2Edsb=2Eru?=
Ср Фев 19 11:01:43 MSK 2003


On Wed, Feb 19, 2003 at 10:26:25AM +0300, Владимир wrote:
> Привет всем.
> 
> Sergei Dolmatov пишет:
> 
> >Добрый день!
> >
> >Озаботился загрузкой с software-RAID. Создал initrd с --with=ext2
> >--with=raid1. 
> >
> 
> Хотелось бы просто увидеть вывод mkinitrd, запущенного с вашими ключами и
> дополнительным ключиком "-v ". Намного информативней, чем словесное
> описание как что делалось (--with=raid1 - для чего?). Я давно взял за 
> правило,
> без "-v" initrd не создавать, теряется контроль над процессом.

Вот, примерно:

# mkinitrd -f -vvv --with=ext2 --with=raid1 raid-2.4.19-alt0.8-up.img
# `uname -r`
Copying directory tree from /lib/modules/2.4.19-alt0.8-up: done.
Generating module dependencies in /root/tmp/initrd.batPG28543/fakemod: done.
Using modules:  kernel/fs/ext2/ext2.o kernel/drivers/md/raid1.o
Contents of linuxrc:
#!/bin/sh
/bin/insmod -f /lib/modules/2.4.19-alt0.8-up/kernel/fs/ext2/ext2.o 
/bin/insmod -f /lib/modules/2.4.19-alt0.8-up/kernel/drivers/md/raid1.o 
Inode count: 47
Image size: 224K
Created image from tree: /root/tmp/initrd.batPG28543/tree --> /root/tmp/initrd.batPG28543/img
Created romfs image file
Installed ramdisk into raid-2.4.19-alt0.8-up.img
Ramdisk size: 76K

--with=raid1 - для загрузки raid1.o, на RAID-1 находится / (c /boot). Если
есть способ подмонтировать корневой раздел без загрузки этого модуля в
initrd (и без пересобирания ядра с встроенной поддержкой raid1) - буду
только рад услышать.

> >При загрузке ядра в процессе автоопределения md выдается
> >примерно: нашел разделы для md, пытается их стартовать и тут kmod пишет:
> >failed to exec /sbin/modprobe -s -k md-personality-3, errno = 2.
> >
> >Файла /sbin/modprobe в образе рамдиска действительно нет. BusyBox, на
> >котором построен ramdisk, из состава mkinitrd, совсем не знает такой
> >команды. busybox-0.60.2 из Сизифа в ответ на подобную команду выдает
> >примерно: 'insmod: unrecognized option -- -d', которая в строке,
> >переданной ему, отсутствует.
> >
> >Ядра, на которых это испытывалось: 2.4.19-alt0.8-up, 2.4.20-alt0.8-up.
> >mkinitrd-2.8.6-alt1
> > 
> >
> 
> mkinitrd-2.8.6-alt2 содержит дополнительный ключик "--pause" Предназначен, 
> в частности, для "ручной доработки" initrd под загрузку на raid. Но, это 
> из разряда вещей, которые нужно осваивать самому. 
> 

Вот те доработки, которые мне пришли в голову:
1. Добавить симлинк /bin/modprobe -> /bin/sh, затем сделать симлинк /sbin
-> /bin. Не сработало по описаной выше выше причине.
2. Заменить busybox из mkinitrd на busybox из одноименного пакета. Не
получилось, описано выше.
3. Поставить modprobe из нормального modutils. Требует наличия glibc на
initrd. До этого способа пока не добрался, т.к. посчитал, что должны быть
способы решить эту проблему при помощи busybox.

> 
> >Остальные, не / и не /boot разделы, работают на Software-RAID вполне
> >нормально.
> >
> >RAID-1.
> >
> >Передача параметров md=1,/dev/hda1,/dev/hdc1 ядру не помогла.
> >
> >Что и где ковырять? Или ставить очередное ядро?
> >
> 
> Скорее, "осваивать продвинутые технологии".

--
Regards,
Sergei Dolmatov.
---
Ignorance is bliss.
		-- Thomas Gray

Fortune updates the great quotes, #42:
	BLISS is ignorance.



Подробная информация о списке рассылки Sisyphus