Установка Gentoo из другого linux

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Ответить
Аватара пользователя
l0stparadis3
Сообщения: 207
Статус: GNU/FireShow
ОС: Mac OS X | FreeBSD

Установка Gentoo из другого linux

Сообщение l0stparadis3 »

Начало истории тут: ссылка.
Установлен 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 для генты?


Предложения снести все, что есть и поставить с нуля не хотелось бы слушать - думаю, в конце концов я так и сделаю, но хочется все же разобраться =)
Если в Linux не существует решения вашей проблемы... То у вас неправильная проблема.
Спасибо сказали:
Kopilov
Сообщения: 947
ОС: [K]Ubuntu, Debian

Re: Установка Gentoo из другого linux

Сообщение Kopilov »

l0stparadis3 писал(а):
10.06.2013 12:23
Решил распаковать образ initrd, посмотреть.

Это как? Я вообще не представляю, как он устроен :)

l0stparadis3 писал(а):
10.06.2013 12:23
lvm2create-initrd.
Не слышал о такой.
Я собираю через genkernel --lvm initramfs

При установке в качестве базовой системы использовал Debian, загрузчик оставлял его же, конфиги правил вручную, несмотря на возможность автонастройки. Настройка для Gentoo в GRUB выглядит не так, как для Debian (и Genkernel предупреждает об этом). Вместо root=/dev/mapper/vg-lv надо написать root=/dev/ram0 dolvm real_root=/dev/mapper/vg-lv
Спасибо сказали:
Аватара пользователя
Brainsburn
Сообщения: 950
Статус: /
ОС: Gentoo
Контактная информация:

Re: Установка Gentoo из другого linux

Сообщение Brainsburn »

Тему стоит переименовать в "Сборка ядра и LVM", т.к. текущий заголовок отношения к проблеме не имеет, насколько я понял.

PS: Без initrd в данной ситуации никак?


--------edited---------
Спасибо сказали:
Аватара пользователя
l0stparadis3
Сообщения: 207
Статус: GNU/FireShow
ОС: Mac OS X | FreeBSD

Re: Установка Gentoo из другого linux

Сообщение l0stparadis3 »

Kopilov писал(а):
10.06.2013 13:03
Это как? Я вообще не представляю, как он устроен :)

cat /boot/initrd-2.6.18-194.26.1.el5.img | gzip -d | cpio -i
Приблизительно вот так. Делать желательно в пустой папке где-нибудь в /home или /tmp

Kopilov писал(а):
10.06.2013 13:03
Не слышал о такой.
Я собираю через genkernel --lvm initramfs

Я не пользуюсь genkernel, поэтому не мой вариант.

Kopilov писал(а):
10.06.2013 13:03
При установке в качестве базовой системы использовал Debian, загрузчик оставлял его же, конфиги правил вручную, несмотря на возможность автонастройки. Настройка для Gentoo в GRUB выглядит не так, как для Debian (и Genkernel предупреждает об этом). Вместо root=/dev/mapper/vg-lv надо написать root=/dev/ram0 dolvm real_root=/dev/mapper/vg-lv

Да, вот именно при таком конфиге у меня и вылезла вторая ошибка.

Brainsburn писал(а):
10.06.2013 13:12
Тему стоит переименовать в "Сборка ядра для новичков" :-)
PS: А нужен он вам, этот initrd?

Честно? мне он даром не нужен, мне нужно загрузиться в установленной системе, не снося lvm =) И все способы осуществления данного плана, что я нашел, были связаны с initrd.
Со сборкой рабочего ядра у меня проблем, слава богу, нет. А вот с lvm и initrd раньше не сталкивался...
Если в Linux не существует решения вашей проблемы... То у вас неправильная проблема.
Спасибо сказали:
Kopilov
Сообщения: 947
ОС: [K]Ubuntu, Debian

Re: Установка Gentoo из другого linux

Сообщение Kopilov »

l0stparadis3 писал(а):
10.06.2013 13:18
Я не пользуюсь genkernel, поэтому не мой вариант.

Для сборки ядра я тоже не пользуюсь, но это совершенно не мешает собрать им отличный initrd.

Brainsburn, а Вы знаете способ без initrd загрузить систему с корнем на LVM?
Спасибо сказали:
Аватара пользователя
Brainsburn
Сообщения: 950
Статус: /
ОС: Gentoo
Контактная информация:

Re: Установка Gentoo из другого linux

Сообщение Brainsburn »

Kopilov писал(а):
10.06.2013 13:24
Brainsburn, а Вы знаете способ без initrd загрузить систему с корнем на LVM?

Нет, не знаю. Я в предыдущем сообщении немного поторопился задавать двусмысленный вопрос... Подредактировал сообщение сразу после того, как вспомнил, что с корнем на lvm initrd обязателен.
Спасибо сказали:
Аватара пользователя
l0stparadis3
Сообщения: 207
Статус: GNU/FireShow
ОС: Mac OS X | FreeBSD

Re: Установка Gentoo из другого linux

Сообщение l0stparadis3 »

Kopilov писал(а):
10.06.2013 13:24
l0stparadis3 писал(а):
10.06.2013 13:18
Я не пользуюсь genkernel, поэтому не мой вариант.

Для сборки ядра я тоже не пользуюсь, но это совершенно не мешает собрать им отличный initrd.

Brainsburn, а Вы знаете способ без initrd загрузить систему с корнем на LVM?

Спасибо за совет! собрался генкернелом, всепочти все работает, но это уже другая история... :D
Если в Linux не существует решения вашей проблемы... То у вас неправильная проблема.
Спасибо сказали:
Ответить