* [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
@ 2006-03-09 6:03 Eugene Prokopiev
2006-03-10 9:14 ` Eugene Prokopiev
0 siblings, 1 reply; 12+ messages in thread
From: Eugene Prokopiev @ 2006-03-09 6:03 UTC (permalink / raw)
To: Sisyphus
Здравствуйте!
А как узнать, какие модули по минимуму требуется положить в initrd для
ядра 2.6.14-std26-up-alt5, чтобы получить в нем поддержку LVM/LVM2/EVMS?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
2006-03-09 6:03 [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5 Eugene Prokopiev
@ 2006-03-10 9:14 ` Eugene Prokopiev
2006-03-10 9:50 ` Eugene Prokopiev
2006-03-10 9:58 ` Sergey Vlasov
0 siblings, 2 replies; 12+ messages in thread
From: Eugene Prokopiev @ 2006-03-10 9:14 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
Половину своей задачи я решил: в initrd все инициализируется правильно,
но вот переключиться из initrd в настоящую систему я не могу.
Что я сейчас имею: ALM 2.4 + updates + некоторые backports + kernel
2.6.14-std26-up-alt5 из Сизифа
Содержимое initrd:
# find ./
./
./etc
./dev
./dev/mapper
./dev/system
./dev/console
./dev/null
./dev/ram
./dev/systty
./dev/tty1
./dev/urandom
./dev/md0
./dev/md255
./dev/md1
./initroot
./loopfs
./sys
./proc
./bin
./bin/echo
./bin/insmod
./bin/losetup
./bin/modprobe
./bin/mount
./bin/sh
./bin/test
./bin/umount
./bin/cat
./bin/mknod
./bin/bash
./bin/lvm
./bin/strace
./bin/raidautorun
./bin/busybox-big
./lib
./lib/modules
./lib/modules/2.6.14-std26-up-alt5
./lib/modules/2.6.14-std26-up-alt5/kernel
./lib/modules/2.6.14-std26-up-alt5/kernel/drivers
./lib/modules/2.6.14-std26-up-alt5/kernel/drivers/md
./lib/modules/2.6.14-std26-up-alt5/kernel/drivers/md/dm-mod.ko
./lib/modules/2.6.14-std26-up-alt5/kernel/drivers/md/raid1.ko
./lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide
./lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide/ide-core.ko
./lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide/pci
./lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide/pci/piix.ko
./lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide/pci/generic.ko
./lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide/ide-generic.ko
./lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide/ide-disk.ko
./lib/modules/2.6.14-std26-up-alt5/kernel/fs
./lib/modules/2.6.14-std26-up-alt5/kernel/fs/mbcache.ko
./lib/modules/2.6.14-std26-up-alt5/kernel/fs/jbd
./lib/modules/2.6.14-std26-up-alt5/kernel/fs/jbd/jbd.ko
./lib/modules/2.6.14-std26-up-alt5/kernel/fs/ext3
./lib/modules/2.6.14-std26-up-alt5/kernel/fs/ext3/ext3.ko
./lib/modules/2.6.14-std26-up-alt5/kernel/fs/ext2
./lib/modules/2.6.14-std26-up-alt5/kernel/fs/ext2/ext2.ko
./lib/ld-linux.so.2
./lib/libc.so.6
./linuxrc
./var
./log
Содержимое linuxrc:
#!/bin/bash -x
/bin/insmod -f
/lib/modules/2.6.14-std26-up-alt5/kernel/drivers/md/dm-mod.ko
/bin/insmod -f
/lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide/ide-core.ko
/bin/insmod -f
/lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide/pci/piix.ko
/bin/insmod -f
/lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide/pci/generic.ko
/bin/insmod -f
/lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide/ide-generic.ko
/bin/insmod -f
/lib/modules/2.6.14-std26-up-alt5/kernel/drivers/ide/ide-disk.ko
/bin/insmod -f /lib/modules/2.6.14-std26-up-alt5/kernel/drivers/md/raid1.ko
/bin/insmod -f /lib/modules/2.6.14-std26-up-alt5/kernel/fs/mbcache.ko
/bin/insmod -f /lib/modules/2.6.14-std26-up-alt5/kernel/fs/jbd/jbd.ko
/bin/insmod -f /lib/modules/2.6.14-std26-up-alt5/kernel/fs/ext3/ext3.ko
/bin/insmod -f /lib/modules/2.6.14-std26-up-alt5/kernel/fs/ext3/ext2.ko
/bin/mount -t proc proc /proc
/bin/mount -t tmpfs -o size=1m none /dev/mapper
/bin/mount -t tmpfs -o size=1m none /dev/system
/bin/mount -t tmpfs -o size=1m none /etc
/bin/mount -t tmpfs -o size=1m none /var
/bin/mount -t ext2 -o rw /dev/md0 /log
/bin/raidautorun /dev/md255
/bin/mknod -m 600 /dev/mapper/control c 10 63
cat /proc/mdstat
/bin/lvm vgscan
/bin/lvm vgchange -ay
/initroot
/bin/umount /log
/bin/umount /var
/bin/umount /etc
/bin/umount /dev/system
/bin/umount /dev/mapper
/bin/umount /proc
Содержимое initroot (взято из оригинального initrd, сгенерированного
посредством mkinitrd):
#!/bin/sh
EncodeDev()
{
echo $(( ($2 & 0xff) | ($1 << 8) | (($2 & ~0xff) << 12) ))
}
read cmdline </proc/cmdline
cmdline=" $cmdline "
if test -z "${cmdline##*[ ]root=*}" ; then
root="${cmdline##*[ ]root=}"
root="${root%%[ ]*}"
if test -z "${root##/dev/*}" ; then
root="${root#/dev/}"
(
read ignored
read ignored
while read major minor size name ignored; do
if test "$name" = "$root" ; then
EncodeDev $major $minor
>/proc/sys/kernel/real-root-dev
break
fi
done
) </proc/partitions
fi
fi
В итоге я получаю:
VFS: Cannot open root devoce "3a00" or unknown-block(58,0)
Please append a correct "root" boot option
Kernel panic - not syncing : VFS : Unable to mount root fs on unknown
block(58,0)
Если вместо initroot в linuxrc вписать вызов /bin/bash, то дальше руками
я смогу смонтировать свои lvm-разделы. Точно также их монтирует штатное
ядро 2.4.26-std-up-alt13
Что делать дальше?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
2006-03-10 9:14 ` Eugene Prokopiev
@ 2006-03-10 9:50 ` Eugene Prokopiev
2006-03-10 9:58 ` Sergey Vlasov
1 sibling, 0 replies; 12+ messages in thread
From: Eugene Prokopiev @ 2006-03-10 9:50 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
> /bin/mount -t ext2 -o rw /dev/md0 /log
Эта строка нужна была для отладки и записи лога strace на md0, да и
работать будет только после raidautorun - не обращайте на нее внимание.
То же и с размонтированием md0.
Основной вопрос остается в силе.
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
2006-03-10 9:14 ` Eugene Prokopiev
2006-03-10 9:50 ` Eugene Prokopiev
@ 2006-03-10 9:58 ` Sergey Vlasov
2006-03-10 11:38 ` Eugene Prokopiev
1 sibling, 1 reply; 12+ messages in thread
From: Sergey Vlasov @ 2006-03-10 9:58 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
[-- Attachment #1: Type: text/plain, Size: 2942 bytes --]
On Fri, Mar 10, 2006 at 12:14:04PM +0300, Eugene Prokopiev wrote:
> Половину своей задачи я решил: в initrd все инициализируется правильно,
> но вот переключиться из initrd в настоящую систему я не могу.
>
> Что я сейчас имею: ALM 2.4 + updates + некоторые backports + kernel
> 2.6.14-std26-up-alt5 из Сизифа
...
> Содержимое initroot (взято из оригинального initrd, сгенерированного
> посредством mkinitrd):
>
> #!/bin/sh
>
> EncodeDev()
> {
> echo $(( ($2 & 0xff) | ($1 << 8) | (($2 & ~0xff) << 12) ))
> }
>
> read cmdline </proc/cmdline
> cmdline=" $cmdline "
> if test -z "${cmdline##*[ ]root=*}" ; then
> root="${cmdline##*[ ]root=}"
> root="${root%%[ ]*}"
> if test -z "${root##/dev/*}" ; then
> root="${root#/dev/}"
> (
> read ignored
> read ignored
> while read major minor size name ignored; do
> if test "$name" = "$root" ; then
> EncodeDev $major $minor
> >/proc/sys/kernel/real-root-dev
> break
> fi
> done
> ) </proc/partitions
>
> fi
> fi
Этот кусок - костыль для ядер 2.6.x, которые разучились находить
major/minor по имени устройства из root=... в случае, когда
соответствующий драйвер вынесен в модуль.
> В итоге я получаю:
>
> VFS: Cannot open root devoce "3a00" or unknown-block(58,0)
Однако в данном случае даже этот костыль не сработал, что неудивительно.
Major 58 - это устройства LVM1, использовавшиеся в ядрах 2.4.x; скорее
всего, его подцепил lilo при установке под 2.4.x (lilo передаёт root=... в
виде числа, а код разбора root=... в ядре и в приведённом куске не нашёл
ничего лучше).
LVM2 работает через dm, у которого major/minor динамические, и их даже
нельзя найти в /proc/partitions (точнее, они там видны, но под совершенно
бесполезными именами).
> Please append a correct "root" boot option
> Kernel panic - not syncing : VFS : Unable to mount root fs on unknown
> block(58,0)
>
> Если вместо initroot в linuxrc вписать вызов /bin/bash, то дальше руками
> я смогу смонтировать свои lvm-разделы. Точно также их монтирует штатное
> ядро 2.4.26-std-up-alt13
>
> Что делать дальше?
Если оставлять старый механизм работы с initrd, нужно определить
major/minor нужного устройства в /dev, созданного утилитами lvm, и
записать его в /proc/sys/kernel/real-root-dev.
Можно перейти на новый механизм обработки initrd (root=/dev/ram0, linuxrc
запускается как init (pid==1) и должен смонтировать реальный root, после
чего выполнить pivot_root туда и exec /sbin/init).
Либо перейти на initramfs (примерно то же самое, но вместо pivot_root
выполняется chroot, и хорошо бы зачистить за собой initramfs, чтобы не
занимать память).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
2006-03-10 9:58 ` Sergey Vlasov
@ 2006-03-10 11:38 ` Eugene Prokopiev
2006-03-10 12:38 ` Sergey Vlasov
2006-03-13 12:55 ` Eugene Prokopiev
0 siblings, 2 replies; 12+ messages in thread
From: Eugene Prokopiev @ 2006-03-10 11:38 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
> Если оставлять старый механизм работы с initrd, нужно определить
> major/minor нужного устройства в /dev, созданного утилитами lvm, и
> записать его в /proc/sys/kernel/real-root-dev.
да, работает :)
> Можно перейти на новый механизм обработки initrd (root=/dev/ram0, linuxrc
> запускается как init (pid==1) и должен смонтировать реальный root, после
> чего выполнить pivot_root туда и exec /sbin/init).
в /root смонтирован настоящий /root (из /dev/system/root)
пишу
pivot_root /root /var/root
или
pivot_root /root /loopfs
мне заявляют Device or resource busy в первом случае и Invalid argument
во втором. В /var/root и /loopfs ничего нет - это пустые каталоги
> Либо перейти на initramfs (примерно то же самое, но вместо pivot_root
> выполняется chroot, и хорошо бы зачистить за собой initramfs, чтобы не
> занимать память).
попробую.
как зачищать?
это есть смысл делать только для initramfs?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
2006-03-10 11:38 ` Eugene Prokopiev
@ 2006-03-10 12:38 ` Sergey Vlasov
2006-03-10 19:50 ` Eugene Prokopiev
2006-03-13 12:55 ` Eugene Prokopiev
1 sibling, 1 reply; 12+ messages in thread
From: Sergey Vlasov @ 2006-03-10 12:38 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
[-- Attachment #1: Type: text/plain, Size: 1619 bytes --]
On Fri, Mar 10, 2006 at 02:38:54PM +0300, Eugene Prokopiev wrote:
> > Если оставлять старый механизм работы с initrd, нужно определить
> > major/minor нужного устройства в /dev, созданного утилитами lvm, и
> > записать его в /proc/sys/kernel/real-root-dev.
>
> да, работает :)
>
> > Можно перейти на новый механизм обработки initrd (root=/dev/ram0, linuxrc
> > запускается как init (pid==1) и должен смонтировать реальный root, после
> > чего выполнить pivot_root туда и exec /sbin/init).
>
> в /root смонтирован настоящий /root (из /dev/system/root)
>
> пишу
>
> pivot_root /root /var/root
> или
> pivot_root /root /loopfs
>
> мне заявляют Device or resource busy в первом случае и Invalid argument
> во втором. В /var/root и /loopfs ничего нет - это пустые каталоги
Второй из каталогов должен быть на новом корне.
В man pivot_root написано, как правильно его применять, чтобы это работало
на всех ядрах.
> > Либо перейти на initramfs (примерно то же самое, но вместо pivot_root
> > выполняется chroot, и хорошо бы зачистить за собой initramfs, чтобы не
> > занимать память).
>
> попробую.
>
> как зачищать?
Чем-то типа
http://kernel.org/git/?p=libs/klibc/klibc.git;a=tree;h=2fada3e78ac03e588155bd40f31b672b93e52daa;hb=7a3728f1058a791118628ecc372fd3155ee3ec5e;f=usr/kinit/run-init
> это есть смысл делать только для initramfs?
Да (в остальных способах initrd либо отмонтируется и уничтожается самим
ядром, либо перемонтируется в каталог на реальном корне, откуда его можно
потом отмонтировать и сделать blockdev --flushbufs /dev/ram0 в стартовых
скриптах).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
2006-03-10 12:38 ` Sergey Vlasov
@ 2006-03-10 19:50 ` Eugene Prokopiev
0 siblings, 0 replies; 12+ messages in thread
From: Eugene Prokopiev @ 2006-03-10 19:50 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
>>>Можно перейти на новый механизм обработки initrd (root=/dev/ram0, linuxrc
>>>запускается как init (pid==1) и должен смонтировать реальный root, после
>>>чего выполнить pivot_root туда и exec /sbin/init).
>>
>>в /root смонтирован настоящий /root (из /dev/system/root)
>>
>>пишу
>>
>>pivot_root /root /var/root
>>или
>>pivot_root /root /loopfs
>>
>>мне заявляют Device or resource busy в первом случае и Invalid argument
>>во втором. В /var/root и /loopfs ничего нет - это пустые каталоги
>
>
> Второй из каталогов должен быть на новом корне.
>
> В man pivot_root написано, как правильно его применять, чтобы это работало
> на всех ядрах.
Если вручную выполнить:
/bin/mount -t ext3 /dev/system/root /root
/bin/cd /root
/bin/pivot_root . old.root
exec /sbin/init
то я получу:
Usage: init 0123456sSQqabcUu
Kernel panic - not syncing: Attempted to kill init!
То же самое, вписанное в /sbin/init внутри initrd что-то делает, но что
- разобрать невозможно, строчки бегут по экрану слишком быстро ;)
exec /sbin/init 5 перед Kernel panic вместо Usage выводит:
init: timeout opening/writing control channel /dev/initctl
cat /dev/initctl вместо exec /sbin/init приводит к зависанию приглашения
bash: на Ctrl+C и Ctrl+Z он не реагирует, но по Enter добавляет в конец
экрана новую пустую строку :(
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
2006-03-10 11:38 ` Eugene Prokopiev
2006-03-10 12:38 ` Sergey Vlasov
@ 2006-03-13 12:55 ` Eugene Prokopiev
2006-03-13 13:06 ` Eugene Prokopiev
2006-03-13 13:45 ` Sergey Vlasov
1 sibling, 2 replies; 12+ messages in thread
From: Eugene Prokopiev @ 2006-03-13 12:55 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
Eugene Prokopiev пишет:
>>Если оставлять старый механизм работы с initrd, нужно определить
>>major/minor нужного устройства в /dev, созданного утилитами lvm, и
>>записать его в /proc/sys/kernel/real-root-dev.
>
>
> да, работает :)
поскольку другие варианты завести не могу, буду пробовать самый кривой ;)
еще вопрос: в /proc/cmdline я в числе прочего вижу root=3a00. Что это
такое, и можно ли как-нибудь, зная эту магическую цифру, добраться до
того значения, которое в lilo.conf было указано первоначально (это было
/dev/system/root)?
если этого сделать никак нельзя, как правильнее передать
/dev/system/root в linuxrc иначе? append="myroot=/dev/system/root" ?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
2006-03-13 12:55 ` Eugene Prokopiev
@ 2006-03-13 13:06 ` Eugene Prokopiev
2006-03-13 13:45 ` Sergey Vlasov
1 sibling, 0 replies; 12+ messages in thread
From: Eugene Prokopiev @ 2006-03-13 13:06 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
да, строка "/dev/system/root" мне нужна, чтобы по ней добыть
/dev/mapper/mapper-root и его major/minor.
вопрос остается в силе.
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
2006-03-13 12:55 ` Eugene Prokopiev
2006-03-13 13:06 ` Eugene Prokopiev
@ 2006-03-13 13:45 ` Sergey Vlasov
2006-03-13 15:03 ` Eugene Prokopiev
1 sibling, 1 reply; 12+ messages in thread
From: Sergey Vlasov @ 2006-03-13 13:45 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
[-- Attachment #1: Type: text/plain, Size: 1040 bytes --]
On Mon, Mar 13, 2006 at 03:55:20PM +0300, Eugene Prokopiev wrote:
> Eugene Prokopiev пишет:
> >>Если оставлять старый механизм работы с initrd, нужно определить
> >>major/minor нужного устройства в /dev, созданного утилитами lvm, и
> >>записать его в /proc/sys/kernel/real-root-dev.
> >
> >
> > да, работает :)
>
> поскольку другие варианты завести не могу, буду пробовать самый кривой ;)
>
> еще вопрос: в /proc/cmdline я в числе прочего вижу root=3a00. Что это
> такое, и можно ли как-нибудь, зная эту магическую цифру, добраться до
> того значения, которое в lilo.conf было указано первоначально (это было
> /dev/system/root)?
Уже никак - lilo не умеет передавать параметр root в виде строки.
Исправляется переходом на grub ;)
> если этого сделать никак нельзя, как правильнее передать
> /dev/system/root в linuxrc иначе? append="myroot=/dev/system/root" ?
Вроде бы как-то так и делают (можно ещё посмотреть по другим
дистрибутивам; при использовании pivot_root менять имя приходится в любом
случае).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
2006-03-13 13:45 ` Sergey Vlasov
@ 2006-03-13 15:03 ` Eugene Prokopiev
2006-03-13 15:22 ` Sergey Vlasov
0 siblings, 1 reply; 12+ messages in thread
From: Eugene Prokopiev @ 2006-03-13 15:03 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
Sergey Vlasov пишет:
> On Mon, Mar 13, 2006 at 03:55:20PM +0300, Eugene Prokopiev wrote:
>
>>Eugene Prokopiev пишет:
>>
>>>>Если оставлять старый механизм работы с initrd, нужно определить
>>>>major/minor нужного устройства в /dev, созданного утилитами lvm, и
>>>>записать его в /proc/sys/kernel/real-root-dev.
>>>
>>>
>>>да, работает :)
>>
>>поскольку другие варианты завести не могу, буду пробовать самый кривой ;)
>>
>>еще вопрос: в /proc/cmdline я в числе прочего вижу root=3a00. Что это
>>такое, и можно ли как-нибудь, зная эту магическую цифру, добраться до
>>того значения, которое в lilo.conf было указано первоначально (это было
>>/dev/system/root)?
>
>
> Уже никак - lilo не умеет передавать параметр root в виде строки.
> Исправляется переходом на grub ;)
Похоже, что не исправляется - grub отчего-то и с ядром 2.4.26 не
управляется :(
Вот рабочий конфиг lilo:
boot=/dev/hda
map=/boot/map
install=/boot/boot-bmp.b
vga=0x0317
default=linux
ramdisk=8192
prompt
timeout=50
image=/boot/vmlinuz-up
label=linux
root=/dev/system/root
initrd=/boot/initrd-up.img
append=" splash=off"
read-only
other=/dev/hda1
label=windows
table=/dev/hda
вот его grub-аналог:
timeout 15
color blue/black cyan/blue
default 0
title linux-up
kernel (hd0,2)/vmlinuz-up root=/dev/system/root ramdisk=8192 splash=off
vga=0x0317
initrd (hd0,2)/initrd-up.img
title windows
root (hd0,0)
makeactive
chainloader +1
Диск размечен так:
# fdisk -l /dev/hda
Disk /dev/hda: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 1147 9213246 7 HPFS/NTFS
/dev/hda2 1148 2422 10241437+ c W95 FAT32 (LBA)
/dev/hda3 2423 2428 48195 83 Linux
/dev/hda4 2429 4864 19567170 5 Extended
/dev/hda5 2429 2550 979933+ 82 Linux swap
/dev/hda6 2551 4864 18587173+ 8e Linux LVM
При загрузке с помощью grub уже после отработки /linuxrc из initrd я вижу:
VFS: Cannot open root device "system/root" or 00:00, retying in 1 s,
...
VFS: Cannot open root device "system/root" or 00:00
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 00:00
С lilo этих проблем нет. Может и grub можно научить не превращать
/dev/system/root в system/root?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5
2006-03-13 15:03 ` Eugene Prokopiev
@ 2006-03-13 15:22 ` Sergey Vlasov
0 siblings, 0 replies; 12+ messages in thread
From: Sergey Vlasov @ 2006-03-13 15:22 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
[-- Attachment #1: Type: text/plain, Size: 1354 bytes --]
On Mon, Mar 13, 2006 at 06:03:30PM +0300, Eugene Prokopiev wrote:
> title linux-up
> kernel (hd0,2)/vmlinuz-up root=/dev/system/root ramdisk=8192 splash=off
> vga=0x0317
> initrd (hd0,2)/initrd-up.img
А что в этом initrd определяет номер устройства, соответствующий
/dev/system/root ?
> При загрузке с помощью grub уже после отработки /linuxrc из initrd я вижу:
>
> VFS: Cannot open root device "system/root" or 00:00, retying in 1 s,
> ...
> VFS: Cannot open root device "system/root" or 00:00
> Please append a correct "root=" boot option
> Kernel panic: VFS: Unable to mount root fs on 00:00
>
> С lilo этих проблем нет. Может и grub можно научить не превращать
> /dev/system/root в system/root?
grub ничего ни во что не превращает - /dev/ отрезается уже в самом ядре.
Но в данном случае до этого кода ядро доходить просто не должно - /linuxrc
в initrd должен определить major:minor и записать его в real-root-dev.
Видимо, имеющийся там сейчас код этого не делает, но в случае lilo это
срабатывало из-за того, что lilo передаёт уже готовые major:minor
(впрочем, это всё равно неправильно, поскольку minor для lvm в любом
случае назначаются динамически, и не факт, что /dev/system/root, поднятый
lvm в initrd, окажется на том же minor, что и /dev/system/root,
существовавший в системе на момент запуска /sbin/lilo).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2006-03-13 15:22 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-09 6:03 [sisyphus] LVM в initrd для ядра 2.6.14-std26-up-alt5 Eugene Prokopiev
2006-03-10 9:14 ` Eugene Prokopiev
2006-03-10 9:50 ` Eugene Prokopiev
2006-03-10 9:58 ` Sergey Vlasov
2006-03-10 11:38 ` Eugene Prokopiev
2006-03-10 12:38 ` Sergey Vlasov
2006-03-10 19:50 ` Eugene Prokopiev
2006-03-13 12:55 ` Eugene Prokopiev
2006-03-13 13:06 ` Eugene Prokopiev
2006-03-13 13:45 ` Sergey Vlasov
2006-03-13 15:03 ` Eugene Prokopiev
2006-03-13 15:22 ` Sergey Vlasov
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git