Страница 1 из 1

Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-11 21:57:38
terminus
Лыжи не едут! :smile:

Только что поставил vritualbox, а потом полез обновлять мир с ядром, и в итоге, после make installkernel + reboot система валится в панику на начале загрузки ядра... Предпологаю, что модули vritualbox что-то не поделили с новым ядром.

Ну это ладно - на диске осталось старое ядро в /boot/kernel.old/
Если я из загрузчика делаю unload, а потом

Код: Выделить всё

load /boot/kernel.old/kernel
load /boot/kernel.old/opensolaris.ko
load /boot/kernel.old/zfs.ko
boot
то загрузка идет со старым ядром нормально, но корневая файловая система не монтируется - выкидывает в стандартное приглашение - просит указать откуда брать корневую фс... Что бы я там не вводил - ниче не срабатывает :smile:

У меня диск был побит на GPT:

Код: Выделить всё

/dev/ad4p1 boot
/dev/ad4p2 swap
/dev/ad4p3 zfs
Че делать-то теперь? :pardon:

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-11 22:03:42
Alex Keda
набрать

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-11 22:09:17
terminus
счас попробую прислать вывод...
---
кстати, такой момент - lsmod показывает что у "неправильного" ядра среди модулей есть такой

Код: Выделить всё

/boot/zfs/zpool.cache
но когда я загружаю старое ядро и зфс модули, то этот zpool.cache не появляется в выводе lsmod. Может быть вот где собака порылась?

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-11 22:18:50
terminus
во чего показывает

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-11 22:21:26
paradox
а fstab своего не помнишь?

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-11 22:28:44
terminus
ой, примерно. Там все потом через зфшный пул было, типа как-то так вроде:

Код: Выделить всё

rootvg/   /
rootvg/var  /var
rootvg/usr  /usr
...

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-11 22:37:37
paradox
ну если я правильно понимаю то должно в промнте
быть типа zfs:rootvg/

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-11 22:48:46
terminus
Не не получается. Никакая из этих комбинаций не срабатывает

Код: Выделить всё

zfs:rootvg
zfs:rootvg/
zfs:ad4p3
zfs:/dev/ad4p3

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-11 22:52:21
paradox
ставь отдельно куда то бсд
ии пробуй искать как смонтировать корень
когда подберешь будешь думать как его смонтировать при загрузке

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-11 23:02:16
Alex Keda

Код: Выделить всё

rootvg/   /
гы, чувствуется рука человека пощщупавшего AIX =)

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-11 23:10:07
terminus
Ну да ;-) не "танком" же волюмгруп обзывать как это в сановских хавтушках пишут...

Вобщем если никакого волшебного решения не найду, то завтра качну самый свежий snapshot CURRENT и запустившись с fixit попробую примонтироваить файловые системы и переименовать директории с ядрами как надо.

Вообще же странно это. Мне очень кажеться что выноват именно zpool.cache - наверно в нем ZFS хранит что-то что используется для нахождения волюмгруп и логических дисков на них. А тут получается, что его подсовывает на каком-то этапе zfsboot загрузчик и как подругому его засунуть к модулям ядра я не знаю (load /boot/zfs/zpool.cache не работает).

:pardon:

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-12 1:32:47
Гость
terminus писал(а):

Код: Выделить всё

unload
load /boot/kernel.old/kernel
load /boot/kernel.old/opensolaris.ko
load /boot/kernel.old/zfs.ko
load -t zpool_cache /boot/zfs/zpool.cache
boot
fixed, добавил zpool_cache[1]. Без кеша ZFS не найдет нужного пула для монтирования корня.

Кстати, можно проще:

Код: Выделить всё

unload
boot kernel.old
[1] в качестве типа, можно указать все что угодно

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-12 1:36:03
paradox
вопрос в другом
почему после перестройки ядра он потерял этотвсе)

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-12 1:38:44
Гость
paradox, может он забыл пересобрать модуль vbox'а, а там KPI опять поменялось?

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-12 1:39:53
Гость
Гость писал(а):а там KPI опять поменялось
пардон, s/KPI/KBI. С измененным KPI модуль скорее всего просто не загрузиться/не будет работать.

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-12 1:41:28
paradox
кто знает кто знает
посмотрим что он завтра скажет)

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-12 9:42:44
terminus
fixed, добавил zpool_cache[1]. Без кеша ZFS не найдет нужного пула для монтирования корня.
Спасибо за подсказку Гость - вечером попробую сделать так.

На счет virtualbox.
У меня стоял CURRENT собранный где-то в начале сентября. Вчера я поставил на него самый свежий virtualbox из портов, но не смог запустить бриджинг для виртуальной машины (делал все по wiki.freebsd.org) - ошибка как тут:
http://forums.freebsd.org/showthread.php?t=7631

и вобщем решил я обновить систему на самый последний CURRENT. Все стандартно пересобрал, сделел installkernel, ребутнулся, а вот запуск старых модулей virtualbox из /boot/loader.conf убрать не подумал. И вот теперь при загрузке нового ядра сразу же паника.

Я пробовал через промпт загрузчика отключать модули через disable-module но это не помогало, так что может я просто в неудачное время исходники синхронизировал...

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-12 9:52:25
zingel
root.mountfrom юзай в loader.conf

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-12 19:12:59
Гость
zingel писал(а):root.mountfrom юзай в loader.conf
без zpool.cache не поможет. Для меня остается загадкой, почему ZFS не может импортировать (в зависимости от состояния какого-нить TUNABLE'а) первый попавшийся (или все) пулы прямо перед монтированием корневого раздела. Рассинхронизации состояния пула и содержимого zpool.cache добиться достаточно легко.

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-12 19:59:20
terminus
Спасибо Гость - помогло! С меня бутылка ;-)

Re: Как загрузить старое ядро с корнем на zfs?

Добавлено: 2009-10-12 20:17:32
Гость
Гость писал(а):Кстати, можно проще:

Код: Выделить всё

unload
boot kernel.old
unload тут тоже не нужен. Я в loader(8) unload стараюсь не делать, ибо он выгружает все модули (включая zpool.cache и mfsroot) в отличие от kldunload.