17 Dec 15 14:49, you wrote to me: >> >> 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: internal error: failed to initialize ZFS library ps: empty file: Invalid argument