> From: Victor Sudakov <Victor.Sudakov@f49.n5005.z2.fidonet.org> > Date: Mon, 21 Dec 2015 09:10:06 +0300 > >> > >> VD> Это делается установкой > >> VD> свойства zpool set bootfs=$POOL/$DATASET $POOL перед > >> перезагрузкой. > >> > >> "beadm activate" это и делает. > >> > >> А не перед перезагрузкой, а из лоадера это сделать можно? > > VD> Из лоадера - нельзя, т. к. он сам находится на датасете. А вот из > VD> {,gpt}zfsboot, судя по ману, можно. Вызываешь его command prompt > VD> (см. boot(8)) и явно говоришь ему, кого грузить дальше > VD> [zfs:pool/filesystem:][/path/to/loader]. Т. е. можно > VD> загрузиться не просто с любого датасета, но и с любого пула, > VD> достаточное число дисков которого видит биос. > >Попробовал потестировать в данном направлении. Создал BE с именем "test1" с >помощью сабжа, а текущий сломал: "mv /boot /hren". > >После перезагрузки закономерно получаю "Can't find /boot/zfsloader" > >ОК, я умный, знаю что делать в boot: > >status >zroot/ROOT/test1:/boot/zfsloader > >Ура! лоадер грузится, и даже currdev и loaddev показывают куда надо. > >И ядро грузится! "Trying to mount root from zfs:zroot/ROOT/test1 []... " >И даже начинается загрузка системы > >А дальше наступает жопа. > >Mounting local filesystems:
То есть рут (вместе с /etc) смонтировался успешно и стартовые скрипты поехали. Даже mountcritlocal отработал (судя по картинке - полностью).
>internal error: failed to initialize ZFS library
Скорее всего, это /etc/rc.d/zfs где-нибудь в районе zfs mount -a. Попробуй в синглюзере, оно ли. И ежели да, то багрепорт.
Вал. Дав.
--- ifmail v.2.15dev5.4 * Origin: Demos online service (2:5020/400)