Установлен Centos в LVM.
Разметка диска:
/dev/sda1 - /boot
/dev/sda2 - LVM
Разметка LVM:
lv_root - / от centos
lv_gentoo - / от gentoo
lv_home - /home от centos
lv_swap - swap
Все разделы LVM в ext4, /dev/sda1 в ext2.
Установил по хендбуку, только вместо livecd ставил из centos, stage3, собрал ядро в базовой конфигурации, за исключением отключения виртуализации и включения mapper device. Поставил утилиты lvm, настроил grub (установил в mbr поверх того, что был, конфиг оставил старый). Далее после загрузки вот такая ошибка:
VFS: Cannot open root device "mapper/vg_centos-lv_gentoo" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Нагуглил по ошибке, что надо собрать initramfs для lvm. В Генту-вики прочитал про lvm2create-initrd. Запустился с centos, в chroot'е собрал этой командой initrd, прописал в конфиг. После перезагрузки ошибка:
No filesystem could mount root, tried: iso9660
Как я понял, команда не вкомпилила в initramfs драйвер для ext4. Решил распаковать образ initrd, посмотреть. Образ не распаковался вообще (овер9000 ошибко cpio). Для сравнения, распаковал initrd centos - распаковался нормально.
Удалил из скрипта генерации initrd команду очистки tmp - действительно, initrd вообще пустой, только lvm файлы.
Попробовал вместо нового initrd поставить initrd от centos - загрузка прошла до момента подгрузки модулей, на этом стопнулась (логично - ядра разные).
Собственно, куда копать? как собрать нормальный initrd для генты?
Предложения снести все, что есть и поставить с нуля не хотелось бы слушать - думаю, в конце концов я так и сделаю, но хочется все же разобраться =)